diff --git a/.gitattributes b/.gitattributes index 314f5f27d60..12d33849cde 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1041,6 +1041,7 @@ res/cardsfolder/b/bone_dancer.txt -text res/cardsfolder/b/bone_flute.txt svneol=native#text/plain res/cardsfolder/b/bone_harvest.txt svneol=native#text/plain res/cardsfolder/b/bone_saw.txt svneol=native#text/plain +res/cardsfolder/b/bone_shaman.txt -text res/cardsfolder/b/bone_shredder.txt svneol=native#text/plain res/cardsfolder/b/bone_splinters.txt svneol=native#text/plain res/cardsfolder/b/bone_to_ash.txt -text @@ -1087,6 +1088,7 @@ res/cardsfolder/b/bounteous_kirin.txt svneol=native#text/plain res/cardsfolder/b/bountiful_harvest.txt svneol=native#text/plain res/cardsfolder/b/bounty_hunter.txt svneol=native#text/plain res/cardsfolder/b/bower_passage.txt -text +res/cardsfolder/b/brace_for_impact.txt -text res/cardsfolder/b/brackwater_elemental.txt svneol=native#text/plain res/cardsfolder/b/braid_of_fire.txt svneol=native#text/plain res/cardsfolder/b/braids_cabal_minion.txt svneol=native#text/plain @@ -7756,6 +7758,7 @@ res/cardsfolder/s/sage_owl.txt svneol=native#text/plain res/cardsfolder/s/sages_dousing.txt svneol=native#text/plain res/cardsfolder/s/sages_knowledge.txt svneol=native#text/plain res/cardsfolder/s/sages_of_the_anima.txt -text +res/cardsfolder/s/sai_of_the_shinobi.txt -text res/cardsfolder/s/sailmonger.txt svneol=native#text/plain res/cardsfolder/s/sakashima_the_impostor.txt -text res/cardsfolder/s/sakura_tribe_elder.txt svneol=native#text/plain @@ -11654,7 +11657,7 @@ src/main/java/forge/Card.java svneol=native#text/plain src/main/java/forge/CardCharactersticName.java -text src/main/java/forge/CardColor.java svneol=native#text/plain src/main/java/forge/CardDamageHistory.java -text -src/main/java/forge/CardKeywords.java -text svneol=native#text/plain +src/main/java/forge/CardKeywords.java svneol=native#text/plain src/main/java/forge/CardList.java svneol=native#text/plain src/main/java/forge/CardListFilter.java svneol=native#text/plain src/main/java/forge/CardListUtil.java svneol=native#text/plain @@ -11858,7 +11861,7 @@ src/main/java/forge/control/FControl.java -text src/main/java/forge/control/KeyboardShortcuts.java -text src/main/java/forge/control/RestartUtil.java -text src/main/java/forge/control/bazaar/ControlStall.java -text -src/main/java/forge/control/bazaar/package-info.java -text svneol=native#text/plain +src/main/java/forge/control/bazaar/package-info.java svneol=native#text/plain src/main/java/forge/control/input/Input.java svneol=native#text/plain src/main/java/forge/control/input/InputAttack.java svneol=native#text/plain src/main/java/forge/control/input/InputBlock.java svneol=native#text/plain @@ -11927,7 +11930,7 @@ src/main/java/forge/game/phase/PhaseType.java -text src/main/java/forge/game/phase/PhaseUtil.java svneol=native#text/plain src/main/java/forge/game/phase/Untap.java -text src/main/java/forge/game/phase/Upkeep.java svneol=native#text/plain -src/main/java/forge/game/phase/package-info.java -text svneol=native#text/plain +src/main/java/forge/game/phase/package-info.java svneol=native#text/plain src/main/java/forge/game/player/AIPlayer.java svneol=native#text/plain src/main/java/forge/game/player/Computer.java svneol=native#text/plain src/main/java/forge/game/player/ComputerAIGeneral.java svneol=native#text/plain @@ -11939,14 +11942,14 @@ src/main/java/forge/game/player/HumanPlayer.java svneol=native#text/plain src/main/java/forge/game/player/Player.java svneol=native#text/plain src/main/java/forge/game/player/PlayerType.java svneol=native#text/plain src/main/java/forge/game/player/PlayerUtil.java svneol=native#text/plain -src/main/java/forge/game/player/package-info.java -text svneol=native#text/plain +src/main/java/forge/game/player/package-info.java svneol=native#text/plain src/main/java/forge/game/zone/DefaultPlayerZone.java svneol=native#text/plain src/main/java/forge/game/zone/IPlayerZone.java svneol=native#text/plain src/main/java/forge/game/zone/MagicStack.java svneol=native#text/plain src/main/java/forge/game/zone/PlayerZone.java svneol=native#text/plain src/main/java/forge/game/zone/PlayerZoneComesIntoPlay.java svneol=native#text/plain src/main/java/forge/game/zone/ZoneType.java -text -src/main/java/forge/game/zone/package-info.java -text svneol=native#text/plain +src/main/java/forge/game/zone/package-info.java svneol=native#text/plain src/main/java/forge/gui/CardContainer.java svneol=native#text/plain src/main/java/forge/gui/CardDetailPanel.java svneol=native#text/plain src/main/java/forge/gui/CardListViewer.java -text @@ -12027,7 +12030,7 @@ src/main/java/forge/gui/framework/SLayoutIO.java -text src/main/java/forge/gui/framework/SOverflowUtil.java -text src/main/java/forge/gui/framework/SRearrangingUtil.java -text src/main/java/forge/gui/framework/SResizingUtil.java -text -src/main/java/forge/gui/framework/package-info.java -text svneol=native#text/plain +src/main/java/forge/gui/framework/package-info.java svneol=native#text/plain src/main/java/forge/gui/home/CMainMenu.java -text src/main/java/forge/gui/home/EMenuGroup.java -text src/main/java/forge/gui/home/EMenuItem.java -text @@ -12086,13 +12089,13 @@ src/main/java/forge/gui/match/controllers/CMessage.java -text src/main/java/forge/gui/match/controllers/CPicture.java -text src/main/java/forge/gui/match/controllers/CPlayers.java -text src/main/java/forge/gui/match/controllers/CStack.java -text -src/main/java/forge/gui/match/controllers/package-info.java -text svneol=native#text/plain +src/main/java/forge/gui/match/controllers/package-info.java svneol=native#text/plain src/main/java/forge/gui/match/nonsingleton/CField.java -text src/main/java/forge/gui/match/nonsingleton/CHand.java -text src/main/java/forge/gui/match/nonsingleton/VField.java -text src/main/java/forge/gui/match/nonsingleton/VHand.java -text -src/main/java/forge/gui/match/nonsingleton/package-info.java -text svneol=native#text/plain -src/main/java/forge/gui/match/package-info.java -text svneol=native#text/plain +src/main/java/forge/gui/match/nonsingleton/package-info.java svneol=native#text/plain +src/main/java/forge/gui/match/package-info.java svneol=native#text/plain src/main/java/forge/gui/match/views/VAntes.java -text src/main/java/forge/gui/match/views/VCombat.java -text src/main/java/forge/gui/match/views/VDetail.java -text @@ -12103,7 +12106,7 @@ src/main/java/forge/gui/match/views/VMessage.java -text src/main/java/forge/gui/match/views/VPicture.java -text src/main/java/forge/gui/match/views/VPlayers.java -text src/main/java/forge/gui/match/views/VStack.java -text -src/main/java/forge/gui/match/views/package-info.java -text svneol=native#text/plain +src/main/java/forge/gui/match/views/package-info.java svneol=native#text/plain src/main/java/forge/gui/package-info.java svneol=native#text/plain src/main/java/forge/gui/toolbox/CardFaceSymbols.java svneol=native#text/plain src/main/java/forge/gui/toolbox/CardViewer.java -text @@ -12214,7 +12217,7 @@ src/main/java/forge/util/closures/Lambda1.java svneol=native#text/plain src/main/java/forge/util/closures/Predicate.java -text src/main/java/forge/util/closures/PredicateInteger.java -text src/main/java/forge/util/closures/PredicateString.java -text -src/main/java/forge/util/closures/package-info.java -text svneol=native#text/plain +src/main/java/forge/util/closures/package-info.java svneol=native#text/plain src/main/java/forge/util/package-info.java -text src/main/java/forge/view/ButtonUtil.java svneol=native#text/plain src/main/java/forge/view/FView.java -text @@ -12244,7 +12247,7 @@ src/main/java/net/slightlymagic/braids/BraidsProgressMonitor.java svneol=native# src/main/java/net/slightlymagic/braids/FindNonDirectoriesSkipDotDirectoriesGenerator.java svneol=native#text/plain src/main/java/net/slightlymagic/braids/GeneratorFunctions.java svneol=native#text/plain src/main/java/net/slightlymagic/braids/LICENSE.txt svneol=native#text/plain -src/main/java/net/slightlymagic/braids/package-info.java -text svneol=native#text/plain +src/main/java/net/slightlymagic/braids/package-info.java svneol=native#text/plain src/main/java/tree/properties/PropertyElement.java svneol=native#text/plain src/main/java/tree/properties/PropertyType.java svneol=native#text/plain src/main/java/tree/properties/TreeProperties.java svneol=native#text/plain diff --git a/CHANGES.txt b/CHANGES.txt index 7eecb10235f..c436e0a4250 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,53 +1,33 @@ -Forge Beta: 0#-##-2012 ver 1.2.8 +Forge Beta: 0#-##-2012 ver 1.2.9 (Quest icons used created by Teekatas, from his Legendora set http://raindropmemory.deviantart.com) 10### cards in total. -The work on the new UI is now finished and this version adds the new UI to the deck editors. We should not expect major changes or major additions to the UI. Future betas may include a few minor bug fixes to the UI. And we may also include a few minor tweaks. +There was a bug in the previous version which prevented the token pics of many cards from displaying on the battlefield. This should now be fixed. -We all would like to thank Doublestrike for his contributions to the new UI. +Draft mode should no longer cause a crash when you start the draft. -The new deck editors include: +People using java 7 should be able to play forge without getting the crash reports that stated "Comparison method violates it's general contract!". -* a better text search (can search for multiple terms, and "not" terms -* interval filters for P/T and CMC -* add/remove 4 -* better statistics and draw probabilities -* Toggle-able, sort-able, resize-able, move-able columns -* and of course uses the drag cell layout. +-- -With the update to the new deck editors several people noticed an error when they run the snapshot build. We hope to have this fixed in the near future. This start up error states: +The work on the new UI is now finished. We should not expect major changes or major additions to the UI. Future betas may include a few minor bug fixes to the UI. And we may also include a few minor tweaks. -Detailed error trace: -java.lang.NullPointerException -at forge.gui.deckeditor.controllers.CEditorPreferences.initialize(CEditorPreferences.java:45) -at forge.view.FView.initialize(FView.java:97) +Selecting a package of cards in the quest mode card shop will not display the packages in the card picture and card detail panels. -A recent submission to the code base on the SVN prevents the Card Shop crash report when you select a package of cards, but the packages still aren't displayed in the card picture and card detail panels. +Draft mode will cause a crash report when you start a new draft. We are aware of this problem and we hope to be able to fix it at some point in the future. You can use version 1.2.7 to play draft mode games in the mean time. -Draft mode will cause a crash report when you start a new draft. We are aware of this proble and we hope to be able to fix it at some point in the future. +Some people have noticed special quests do not have the start in play cards appearing. And some people have noticed that a match can start without any cards appearing in the players hands or in their libraries. We hope to have this problem fixed at some point in the future. +We are now using a different system for our snapshot and beta releases. Unfortunately, this new system builds a jar file which does not accurately display the SVN revision number. -The res/images/icons/ folder has been moved to res/pics/icons/. This folder holds the quest opponent icons, bazaar pets, and bazaar plants. If you have downloaded this content, it will still work, but the folder must be moved on your computer. +Forge is not fully java 7 compatible at this time. We recommend that people downgrade to java 6. +-- -Some people have noticed special quests do not have the start in play cards appearing. And some people have noticed that a match can start without any cards appearing in the players hands or in their libraries. - -A possible fix was submitted to the SVN for forge version 1.2.7. We have received several reports that the above bugs are still occuring. We hope to have this problem fixed at some point in the future. - -The dock now has a new button labeled "Open Layout" along with old button with original function "Revert Layout". Modifying the battlefield layout will result in your changes being saved to a file named "match_preferred.xml". You can copy and rename that file to share your layouts with other people. - - -The hard drive which was used for the Maven based build and release system has become unstable and can no longer be used for this purpose. - -We are now using a different system for our snapshot and beta releases and this system uses an up to date OS. Unfortunately, this new system builds a jar file which does not accurately display the SVN revision number. - -We apologize for this inconvenience. - - -The Forge archive includes a readme.txt file and we ask that you spend a few minutes reading this file as it contains some information that may prove usefull. We do tend to update this file at times and you should quickly read this file and look for new information for each and every new release. Thank you. +The Forge archive includes a readme.txt file and we ask that you spend a few minutes reading this file as it contains some information that may prove useful. We do tend to update this file at times and you should quickly read this file and look for new information for each and every new release. Thank you. We have changed the archival format used for the Forge distributions from ".zip" to ".tar.bz2". There are utilities for Windows, Mac OS and the various *nix's that can be used to decompress these ".tar.bz2" archives. We recommend that you decompress the Forge archive into a new and unused folder. @@ -57,364 +37,29 @@ Some people use the Windows application 7zip. This utility can be found at http: Fixes/Features: - Cleared out the changes.txt file, now ready for new material. -- Minor edit to Seachrome Coast to remove the extra copy of the etb text. -- Update site and buildnumber plugin -- Prophetic Prism now using Any -- Fixed tokenDoTriggerAINoCost not setting targets and XCosts. -- Added SVar:BuffedBy:Creature to Cathars' Crusade. -- Added Shadow to isUsefulPumpKeyword. -- Removed the second "SVar:BuffedBy:Creature" from Kruin Striker. -- Added targeting to AF Effect with Fog AILogic. +- Updated three decks. +- Updated 4 decks. +- Merged changes from trunk to AbilityWork: r15839-r15884 +- Fixed Ebony Horse, Keeper of the Dead, Night Soil, Praetor's Counsel and Secretkeeper. +- Fixed the token image bug. +- Fixed Stigma Lasher's effect duration +- Added some missing PC2 reprints' set info +- Fixed Arctic Nishoba no lifegain bug - Added the recent commit logs to changes.txt. Preparing for the snapshot build release. +- Added the updated JuzamjediCube file which now contains some AVR cards. +- Pushed WompWomp's new sprite sheet for the firebloom skin. +- Refunding Tap and Untap costs will no longer trigger anything. +- Fixed Curse of Oblivion. +- Fixed Oni of Wild Places and friends. +- DefinedPlayer used in AF ChangeZone (Hidden) will now define the controller of cards on the battlefield/in the graveyard. +- *Crosses fingers* Reintegration of AbilityWork branch. +- Enabling Rotating formats (Extended, Modern) to be used for Starting Quest Pools. +- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. +- Updated the Spock 2 deck. +- Possible fix for "Comparison method violates it's general contract!" crash. +- Fixed drafting crash, though the UI for it needs tweaking (remove "Add 4 of" button, remove "remove" buttons, rename "add" button etc) +- Fixed Oona's Prowler ability cost description. - Added a fluff piece to the changes.txt file. -- Fixed a possible IndexOutOfBoundsException in dealDamageResolve. -- Fixed SuspendCast never being set to false; -- Fixed a little bug in decideAIPayment of CostSacrifice. -- Fixed a little bug in chooseSacrificeType. -- Added a little more safety code to prevent AI freezing. -- A little AI tweak to support Awe Strike. -- Removed Words of War (it was not completely right). -- Improved changeZoneAllTriggerAINoCost. -- Improved the AILogic "MostProminentHumanControls". -- Fixed AF Fight not checking for fighters on battlefield. -- Fixed AI payment of non-mana costs of static abilities (for example morph). -- Fixed isCardInPlay. -- Converted Academy Rector and Lost Auramancers to script. -- Cleanup. -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Added the precon Angelic Might. -- Added the precon Solitary Fiends. -- Added 7ED setinfo to Infernal Contract. -- added support for random sacrifice choice -- added support for ForgetOtherRemembered and Optional to changeKnownOriginResolve -- Adding Repeat AF. -- added default value for RepeatSVarCompare -- Fixed Drake Familiar. -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Fixed Curse of Thirst. -- Converted Spectral Bears and Spectral Force to script. -- The AI can now use Tyrant of Discord. -- Fixed changeKnownOriginResolve. -- Removed SVar:RemAIDeck:True from Primal Surge. -- Fixed Slithermuse. -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Fixed Dawnfluke. -- Fixed an issue with the phase labels not updating completely, especially in custom layouts. -- Fixed a bug with the stack not repainting after changes are made. -- Tweaked AF DealDamage AI. -- Added the AILogic "Always" to AF Effect. -- Changed "Revert Layout" to "Open Layout" To revert to factory layout, open "match_default.xml" -- Improved AI of Glint Hawk Idol. -- Added AILogic parameter to AF Protection. -- adding *.jpg to ignore list for res/pics/tokens -- adding branch for mana restrictions -- Refactored some of the new code for a general open dialog. Dock now has new button "Open Layout" along with old button with original function "Revert Layout" -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Fixed Aggravate. -- Fixed initiatePossibleDefenders being called in the wrong phases (which made it possible to attack planeswalkers which weren't on the battlefield anymore). -- Removed a superfluous function. -- Improved functionality of "Load Layout" dock button. -- Fixed AI of Graveyard Shovel and an ability description of Relic of Progenitus. -- Added the player keyword "You can't gain life.". -- Reduce the likelihood of upgrading Rares to Mythics for new quests. -- Added "Save Layout" feature. Save dialog function in forge.gui.toolbox improved. Save layout functions in SIOUtil slightly modified to accept these changes. -- Convert Living Weapon to script -- Converted parts of Forsaken Wastes and Leyline of Punishment to script. -- Converted Platinum Emperion to script. -- Added the player keyword "You can't draw cards.". -- Converted Maralen of the Mornsong and Omen Machine to script. -- Created Ability Borrowing branch -- Fixed Painbringer. -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- copying activated abilities will now also copy conditions and restrictions (AbilityWork branch). -- fixed type of Phyrexian Devourer. -- Made Gomazoa playable by the AI. -- strip out spaces in filenames -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Fixed a problem with TargetUnique. -- Cleanup of CardFactoryUtil. -- A Morphed card on the stack will no longer reveal its colors. -- Added a fluff piece to the changes.txt file. -- Clear Simultaneous triggers at the end of the game -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Fixed AI of Increasing Confusion. -- Replaced some instances of af.getHostCard() with sa.getSourceCard(). -- merge updates from Trunk 15508-15541 -- costmanaparser -- made it buildable (there were missing refs to VDock and FSkin) -- removed some obvious warnings -- Switched mana to ManaCostShards, removed special classes for each mana kind -- Fixed the ability costs for Ghave, Guru of Spores. -- Fixed Iceberg. -- Improved AI for Soulbond. -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Reorganized some parts of digResolve (some more parameters now work together or without certain others). -- add check for empty cost string -- Fixed Endless Wurm. -- Fixed Inquisitor's Flail. -- ManaPaid back to Mana -- Merged ManaCost upgrade from branch into trunk (r15546-15556) -- remove warnings, removed manaparser -- adding RestrictValid parameter support to AbilityMana and InputPayMAnaCostUtil -- Fixed Trusted Advisor and similar cards. -- adding RestrictValid parameter support to ComputerUtil to check restriction for AI -- MyObservable - moved frequent calls to a variable, moved the very class to utils package -- Added the AI SVar "HasAttackEffect". -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Added "SVar:HasAttackEffect:TRUE" to some cards. -- Added "SVar:HasAttackEffect:TRUE" to two more cards. -- Updated some decks with new cards. -- Fixed a bug with initiatePossibleDefenders. -- More Cleanup in Combat class. -- Added a medium version of the Radiant deck. -- Updated three decks with new cards. -- Improved AI of AF Dig. -- Cleanup in AF Dig. -- Checkstyle fixes to CDock. -- CardCharacteristics stores manacost as CardManaCost instead of String -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Fixed Sludge Strider's 'leaves the battlefield' trigger. -- Quick fix for unless costs of zero mana. -- A triggered ability that fails targeting will no longer clear the whole frozen stack (only its own stack instance). -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Uploaded the Avacyn Restored set and token images. Updated scripts for token generators in the set to use set specific tokens. Updated token links. -- Added the optional parameter "ForgetRemembered" to AF Play. -- ActivationLimit can calculate values from svars now. -- Fixed typo in recently added cards (my commit comment was misspelled) -- Updated card prices. -- Updated two AI SVars. -- Replaced some instances of af.getHostCard() with sa.getSourceCard(). -- Fixed a lot of sloppily scripted SpellCast triggers (A-E). -- Fixed a lot of sloppily scripted SpellCast triggers (F-H). -- Fixed a lot of sloppily scripted SpellCast triggers (I-M). -- Fixed a lot of sloppily scripted SpellCast triggers (N-Z). -- Reordered trigger condition checks for better performance. -- Updated two AI SVars. -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- The AI will now cast Equipments in Main1 if a possible attacker is present. -- Deck editor UI integration. -- Default layout file for editor added. -- Removed font scaling from FLabel. -- Updated Firebloom skin with improved icons and compressed background images (thanks WompWomp). -- Updated load/save layout icons. -- Removed some legacy accessors from VMatchUI. -- Updated document ID enum with more descriptive names. -- Rolling back last commit; unforeseen problems. -- Renamed "ForgeIcons" enum in FSkin to more accurate "InterfaceIcons". -- Fixed "Tapped" parameter in AF ChangeZone. -- Fixed and simplified Deadeye Navigator. -- Fixed a tooltip typo. -- Added the recent commit logs to changes.txt. -- Replaced two tooltips. -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Some preparations for better planeswalker attacking AI. -- Replaced finalizer method in main(), attempting to fix race condition at startup. -- Fixed dev mode toggle in preferences submenu/match UI. -- Updated card detail text area to always scroll to top. -- Fixed unlimited lands bug. -- Fixed a two more copies of the tooltip typo. -- reworked Mana object paradigm and ManaPool -- Fixed Tamiyo's (and Venser's) emblem image download link -- Check for null spellAbility source card in mana restrictions. Makes multikicker not payable with restricted mana. -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Bugfix: Race condition at startup, resulting in "Cannot instantiate SplashFrame" error. -- Rollback (temporary): Remove second-game-constructed load layout bug. -- Removed images/ directory reference in main.properties. Card pics, tokens, and icons (that is, downloadable content) all reside in the pics/ directory. -- Fixed overlay resizing to correspond with window resize. -- Removed legacy "layout params" from preferences. -- Consolidated preference files and main.properties under res/preferences/. -- Updated methods to make change smoothly without losing old preferences. -- Added a fluff piece to the changes.txt file. -- Edited the readme.txt file. -- Added a fluff piece to the changes.txt file. -- added support for mana adding counter magic protection -- Updated plant pet images to use same template as the other new pets. Updated token image download links etc. -- Updated two AI SVars. -- KO'd a few insignificant compiler warnings. -- Returned dev mode toggle functionality. -- updated for new Mana constructor -- merged r15541-r15645 from the Trunk into mana_restrictions branch -- Fixed an AI error concerning Indestructible in combination with Double Strike. -- Adding proxy printing back (work in progress) -- Darn dev mode toggle still causing problems. Rolling back. -- Start of conversion of home menu to drag layout. No effect on working project files. -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Fixed (non-) AI of AF SetState. -- Converted Primal Clay and Primal Plasma to script. -- Edited the readme.txt file. -- Fixed Auntie's Hovel and friends causing "becomes tapped" triggers to fire. -- fixed a logic bug in mana restrictions -- merged r15648-r15660 from the Trunk into mana_restrictions branch -- add support for Primal Beyond -- refactored meetsManaRestrictions. added most of the remaining restricted mana sources. -- added RemRandomDeck and RemAIDeck to restricted mana cards -- Fixed destroyDoTriggerAINoCost ignoring Indestructible. -- merged r15665 from the Trunk into mana_restrictions branch -- edited merge properties -- edited merge properties some more -- Added the static ability "CostChange". -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Fixed Deny Reality, it now is a Sorcery. -- merged mana_restrictions branch into Trunk -- Added basic AI to AF GenericChoice. -- Removed some unused functions. -- Little tweak in charmCanPlayAI. -- Add print proxy functionality back into GUI -- fixed static effect on Grand Architect -- Home screen converted to drag cell layout (minor visual change; mainly structural). -- Bugfix: panels not clearing properly -- Fixed odd "unknown" skin icon in quest mode. -- Updated print icon in sprite. -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Further bug fixes, to home and bazaar screens. -- Fixed pet combo box not reappearing in quest mode. -- Possible fix for strange behaviors in closing win/lose screen. -- Merged changes from trunk to AbilityWork: r15523-r15685 -- removed main.properties from res/ directory -- Tweaked Assault code in ComputerUtilAttack. -- Cleanup and performance update in ComputerUtilAttack. -- update plugin -- Improved notNeededAsBlockers in ComputerUtilAttack. -- AbilityWork branch: Let code outside of abilities use calculateAmount without crashing. -- AbilityWork: Added References$ parameter to scripted abilities of 'A' cards where necessary. -- AbilityWork: Added References$ parameter to scripted abilities of 'B' cards where necessary. -- Attempt #3 on dev mode toggle fix. -- AbilityWork: Added References$ parameter to scripted abilities of 'X-Z' cards where necessary. -- Fixed Brood Sliver -- update testng -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- AbilityWork: Added References$ parameter to scripted abilities of 'W' cards where necessary. -- Added to AbilityFactoryEffect: EffectOwner, Duration$UntilHostLeavesPlay, and RememberEffect. -- Added exception to Card.java so that Effect cards can be counted when remembered -- Fixed Magebane Armor. -- CheckStyle. -- AbilityWork: Added References$ parameter to scripted abilities of 'V' cards where necessary. -- Split CostChange static ability into RaiseCost and ReduceCost. -- AbilityWork: Added References$ parameter to scripted abilities of 'C' cards where necessary. -- Updated 3 decks. -- AbilityWork: Added References$ parameter to scripted abilities of 'D' cards where necessary. -- AbilityWork: Added References$ parameter to scripted abilities of 'E' cards where necessary. -- Fixed "Exit Forge" button in main menu. -- Added name, type, text filters to text-based search in editor. -- Fixed card shop close crash. -- Stack tab is now shown each time the stack updates. -- Converted card price download dialog into standard GuiDownloader type, which at the same time prevents the UI freeze after prices are downloaded. -- Added turn counter to message info. -- Game log should now be easier to read. -- Updated tab text in quest card shop. -- Small typo fix (Solar Tide) -- Fixed "Decks" column in Card Shop. Added "Decks" column to Quest deck editor. -- AbilityWork: Added References$ parameter to scripted abilities of 'F' cards where necessary. -- Indexing fixes in editor. Issues related to indexing should be solved now. -- Fixed drafting mode bug. -- AbilityWork:Corrected References$ for Avalanche. -- Added the recent commit logs to changes.txt. -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- AbilityWork: Made sure SpellPermanent's with X-cost get their X-SVar set. (*Fixes Balduvian Hydra among others.) -- Increased the width of the checkbox with label for chbType. The test "Type" is no longer truncated under Mac OS. -- Fixed filter problems in Card Shop. -- Standardization: Implemented ILocalRepaint#repaintSelf() on FLabel and FPanel. -- Increased the width of the Selectors in the deck editor filter section. -- AbilityWork:Fixed a problem with subabilities operating on the wrong host card. (Enables Necrotic Ooze+Bloodline Keeper+Grimgrin, Corpse-Born infinite combo ^^ ) -- AbilityWork:Added a "Trigger Breakpoint" dev mode button. Set a breakpoint at the indicated row in GuiDisplayUtil.devModeBreakpoint(), click this button while running in debug mode and enjoy a nice overview of the internals of the game. -- AbilityWork:Made calculateAmount fall back on card SVars if the wanted one isn't found on the spellability. Better fix for Balduvian Hydra and similar. -- AbilityWork: Added References$ parameter to scripted abilities of 'G' cards where necessary. -- AbilityWork: Console printout warning when calculateAmount falls back to using Card Svars. Helps when debugging if an ability is not stolen properly, for instance. -- Bugfix: Quest challenges now persist across restarts. Also some checkstyle. -- Checkstyle. -- Checkstyle. -- Minor correction. -- creating branch for fixing clone cards -- added Clone AF and first steps in moving SVars to CardCharacteristics class -- updated LQ picture downloader to handle flip/DFC states -- Added "transform on click" capability to card picture and detail. -- A few tweaks to card flip code. -- Changed tab text to match skin color swatch. -- Cleanup: Tightened up interface contracts in home submenus. -- Merged changes from trunk to AbilityWork: 15691-15747 -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- This will center the Type checkbox between the Name and Text checkboxes. -- Reverted the changes made to the main.properties file, these were probably pushed unintentionally to the SVN. -- CheckStyle. -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Edited the README.txt file and included more info about the layout files. -- fixed bug in Effect AB that was causing a NPE -- AbilityWork: Added References$ parameter to scripted abilities of 'M' cards where necessary. -- AbilityWork: Added some missing References$ params -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- AbilityWork: Added References$ parameter to scripted abilities of 'N' cards where necessary. -- AbilityWork: Added References$ parameter to scripted abilities of 'O' cards where necessary. -- AbilityWork: Added References$ parameter to Archangel of Strife. -- Hopefully fixed replacement effects getting stuck as "currently running" and thus never being run again. -- added SpellDescription to added ability so it shows up in the menus clearly -- CLoneFIx: updated SVars on flip/DFC/licid cards -- merged r15740-r15764 from the Trunk into CloneFix branch -- Fixed Kabira Evangel, should not trigger for Allies that etb under opponent's control. -- Added a missing xPaid svar to Squall Line. -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Fixed the inactive tabs in deckeditor being unreadable in the default -- Added Effect duration HostLeavesOrEOT (won't cause NPE's for other durations this time) -- update plugins -- AbilityWork: Added References$ parameter to scripted abilities of 'H' cards where necessary. -- Terrarion should now enter the battlefield tapped. -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Small fix (renamed Blind Fury effect) -- Small addition in ReplacementHandler's OptionalDecider block so that DefinedPlayers needing an ActivatingPlayer have a reference point. -- Updated Animate AF to handle cards with multiple states. -- merged r15764-r15782 from the Trunk into CloneFix branch -- Tidied up the stack descriptions for Nissa Rivane. -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Updated Animate AF to cleanup added SVars and static abilities. -- AbilityWork: Added References$ parameter to scripted abilities of 'I' cards where necessary. -- Removed some unnecessary bits from Homing Sliver script -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- AbilityWork: Added References$ parameter to scripted abilities of 'J' cards where necessary. -- Fixing Card Shop crash for Packs, but the Packs still aren't displayed. -- Change to download all-prices.txt from cardforge.org. PHP Script running on cardforge.org uses tcgplayer, providing live pricing data. (MOTL still is missing Dark Ascension and Avacyn Restored) -- Spell Shop uses Name|SET to lookup price data. Alpha Bird of Paradise will be worth more than Ravnica, etc... -- Fixed PerSetTracking python script to handle new mtgdata format. -- Added a fluff piece to the changes.txt file. -- Updated setdata.txt, mtg-data.txt and setInfoScript.py with Planechase 2012 info. -- Fixed a bug in AF Reveal. -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Added a fluff piece to the changes.txt file. -- Updated AF Pump AI. -- Fixed Dream Thief. -- Fixed Rats' Feast (was referencing the incorrect svar) -- AbilityWork: Added References$ parameter to scripted abilities of 'P-R' cards where necessary. -- Added a fluff piece to the changes.txt file. -- update plugins -- Fixed Lotus Bloom. -- merged r15782-r15810 from the Trunk into CloneFix branch -- Improved AI handling some HIDDEN keywords with AF Pump. -- Performance update in staticDamagePrevention. -- Little Performance update in hasSickness(). -- Graft will no longer trigger if the card has no more +1/+1 counters. -- The AI will now be more careful when fetching legendary permanents. -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Fixed Sever the Bloodline. -- Updated text of Hunting Grounds. -- Added unpairing to moveToLibrary. -- Fixed targeting in gainLifeDoTriggerAINoCost. -- CheckStyle. -- Improved AI of some cards using AF Charm. -- Creating branch for M13 Cards -- Changed delayed triggers of Pacts to abilities rather than spells; Summoner's Pact no longer shuffles into library -- Fixed Riders of Gavony. -- Added the recent commit logs to changes.txt. -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Merged changes from trunk to AbilityWork: r15686-r15836 -- Somehow missed some scripts in the merge... -- Cardshop UI tweaks: -* Removed Add/Remove 4-of. -* Relabeled As Buy/Sell. -* Added credits counter. -* Added Max Selling Percentage and Price. -* Fixed labels and buttons to return to normal for regular deck editor. -- Added the recent commit logs to changes.txt. Preparing for the snapshot build release. -- Removed AI column from card shop. -- Removed New Column from Cards for Sale. -- Fixed moveToLibrary bug. - Added the recent commit logs to changes.txt. Preparing for the snapshot build release. @@ -425,97 +70,7 @@ Many people helped with this version. A special thank you goes out to them. (Att Added many cards, including: -Words of Waste -Words of Wilding -Words of Wind -Words of Worship -Words of War -Return of the Nightstalkers -Eunuchs' Intrigues -Goblin War Cry -Advice from the Fae -Consign to Dream -Prismwake Merrow -Ad Nauseam -Primal Surge -Tyrant of Discord -Impelled Giant -Merrow Bonegnawer -Stigma Lasher -Shaper Parasite -Clear the Land -Enslaved Horror -Gift of the Gargantuan -Abundance -Acorn Catapult -Howltooth Hollow -Shelldock Isle -Sedge Sliver -Withering Wisps -Anthem of Rakdos -Apocalypse Chime -Spinerock Knoll -Desertion -Avizoa -Acidic Dagger -Aquamorph Entity -Angel of Salvation -Antagonism -Hunter Sliver -Altar of the Lost -Ancient Ziggurat -Cavern of Souls -Dark Impostor -Eldrazi Temple -Food Chain -Geosurge -Grand Architect -Metamorphosis -Mishra's Workshop -Myr Reservoir -Myr Welder -Pillar of the Paruns -Primal Beyond -Rosheen Meanderer -Smokebraider -Soldevi Machinist -Somberwald Sage -Untaidake, the Cloud Keeper -Vedalken Engineer -Balshan Beguiler -Bifurcate -Blizzard Specter -Blood Oath -Archangel of Strife -Bloodline Shaman -Blind Fury -Bloodcurdler -Karona's Zealot -Blood of the Martyr -Lancers en-Kor -Nomads en-Kor -Outrider en-Kor -Spirit en-Kor -Warrior en-Kor -Bend or Break -Basalt Golem -Homing Sliver -Baleful Strix -Illusory Angel -Vela the Night-Clad -Etherium-Horn Sorcerer -Maelstrom Wanderer -Mass Mutiny -Shardless Agent -Beetleback Chief -Brindle Shoat -Thing from the Deep -Bog Elemental -Krond the Dawn-Clad -Preyseizer Dragon -Indrik Umbra -Dragonlair Spider -Dreampod Druid + end diff --git a/pom.xml b/pom.xml index 20d845ed639..49b90806e1d 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ forge jar Forge - 1.2.8-SNAPSHOT + 1.2.9-SNAPSHOT Forge lets you play the card game Magic: The Gathering against a computer opponent using all of the rules. diff --git a/res/cardsfolder/a/abandon_hope.txt b/res/cardsfolder/a/abandon_hope.txt index 7739c4a1580..0c3cb3ea6b6 100644 --- a/res/cardsfolder/a/abandon_hope.txt +++ b/res/cardsfolder/a/abandon_hope.txt @@ -2,7 +2,7 @@ Name:Abandon Hope ManaCost:X 1 B Types:Sorcery Text:no text -A:SP$ Discard | Cost$ X 1 B Discard | ValidTgts$ Opponent | Mode$ RevealYouChoose | NumCards$ X | SpellDescription$ Look at target opponent's hand and choose X cards from it. That player discards those cards. +A:SP$ Discard | Cost$ X 1 B Discard | ValidTgts$ Opponent | Mode$ RevealYouChoose | NumCards$ X | References$ X | SpellDescription$ Look at target opponent's hand and choose X cards from it. That player discards those cards. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/a/abattoir_ghoul.txt b/res/cardsfolder/a/abattoir_ghoul.txt index 87947286b92..08893985df0 100644 --- a/res/cardsfolder/a/abattoir_ghoul.txt +++ b/res/cardsfolder/a/abattoir_ghoul.txt @@ -5,7 +5,7 @@ Text:no text PT:3/2 K:First Strike T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.DamagedBy | TriggerZones$ Battlefield | Execute$ TrigGainLife | TriggerDescription$ Whenever a creature dealt damage by CARDNAME this turn dies, you gain life equal to that creature's toughness. -SVar:TrigGainLife:AB$ GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGainLife:AB$ GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggeredCard$CardToughness SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/abattoir_ghoul.jpg diff --git a/res/cardsfolder/a/abyssal_hunter.txt b/res/cardsfolder/a/abyssal_hunter.txt index b6779c0dda8..a261d174498 100644 --- a/res/cardsfolder/a/abyssal_hunter.txt +++ b/res/cardsfolder/a/abyssal_hunter.txt @@ -3,7 +3,7 @@ ManaCost:3 B Types:Creature Human Assassin Text:no text PT:1/1 -A:AB$ DealDamage | Cost$ B T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DBTap | SpellDescription$ Tap target creature. CARDNAME deals damage equal to CARDNAME's power to that creature. +A:AB$ DealDamage | Cost$ B T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DBTap | References$ X | SpellDescription$ Tap target creature. CARDNAME deals damage equal to CARDNAME's power to that creature. SVar:DBTap:DB$Tap | Defined$ Targeted SVar:X:Count$CardPower SVar:Rarity:Rare diff --git a/res/cardsfolder/a/accelerated_mutation.txt b/res/cardsfolder/a/accelerated_mutation.txt index 16f5f5baad2..e7a7ef0696d 100644 --- a/res/cardsfolder/a/accelerated_mutation.txt +++ b/res/cardsfolder/a/accelerated_mutation.txt @@ -2,7 +2,7 @@ Name:Accelerated Mutation ManaCost:3 G G Types:Instant Text:no text -A:SP$ Pump | Cost$ 3 G G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | SpellDescription$ Target creature gets +X/+X until end of turn, where X is the highest converted mana cost among permanents you control. +A:SP$ Pump | Cost$ 3 G G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | References$ X | SpellDescription$ Target creature gets +X/+X until end of turn, where X is the highest converted mana cost among permanents you control. SVar:X:Count$MaxCMCYouCtrl SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/accelerated_mutation.jpg diff --git a/res/cardsfolder/a/accumulated_knowledge.txt b/res/cardsfolder/a/accumulated_knowledge.txt index 53e4fa0b47f..198d846126f 100644 --- a/res/cardsfolder/a/accumulated_knowledge.txt +++ b/res/cardsfolder/a/accumulated_knowledge.txt @@ -3,7 +3,7 @@ ManaCost:1 U Types:Instant Text:no text A:SP$ Draw | Cost$ 1 U | Defined$ You | NumCards$ 1 | SubAbility$ DBDraw | SpellDescription$ Draw a card, then draw cards equal to the number of cards named CARDNAME in all graveyards. -SVar:DBDraw:DB$Draw | Defined$ You | NumCards$ X +SVar:DBDraw:DB$Draw | Defined$ You | NumCards$ X | References$ X SVar:X:Count$NamedInAllYards.Accumulated Knowledge SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/accumulated_knowledge.jpg diff --git a/res/cardsfolder/a/acidic_soil.txt b/res/cardsfolder/a/acidic_soil.txt index e598bb7fa21..3e7aa6c220c 100644 --- a/res/cardsfolder/a/acidic_soil.txt +++ b/res/cardsfolder/a/acidic_soil.txt @@ -2,8 +2,8 @@ Name:Acidic Soil ManaCost:2 R Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ 2 R | Defined$ You | NumDmg$ X | SubAbility$ DBDamageOpp | SpellDescription$ CARDNAME deals damage to each player equal to the number of lands he or she controls. -SVar:DBDamageOpp:DB$DealDamage | Defined$ Opponent | NumDmg$ Y +A:SP$ DealDamage | Cost$ 2 R | Defined$ You | NumDmg$ X | SubAbility$ DBDamageOpp | References$ X | SpellDescription$ CARDNAME deals damage to each player equal to the number of lands he or she controls. +SVar:DBDamageOpp:DB$DealDamage | Defined$ Opponent | NumDmg$ Y | References$ Y SVar:X:Count$TypeYouCtrl.Land SVar:Y:Count$TypeOppCtrl.Land SVar:RemAIDeck:True diff --git a/res/cardsfolder/a/ad_nauseam.txt b/res/cardsfolder/a/ad_nauseam.txt index 4e14d176901..9234944a7fe 100644 --- a/res/cardsfolder/a/ad_nauseam.txt +++ b/res/cardsfolder/a/ad_nauseam.txt @@ -4,7 +4,7 @@ Types:Instant Text:no text A:SP$ Repeat | Cost$ 3 B B | RepeatSubAbility$ DBDig | RepeatOptional$ True | StackDescription$ Reveal the top card of your library and put that card into your hand. You lose life equal to its converted mana cost. You may repeat this process any number of times. | SpellDescription$ Reveal the top card of your library and put that card into your hand. You lose life equal to its converted mana cost. You may repeat this process any number of times. SVar:DBDig:DB$ Dig | DigNum$ 1 | Reveal$ True | ChangeNum$ All | ChangeValid$ Card | DestinationZone$ Hand | RememberChanged$ True | SubAbility$ DBLose -SVar:DBLose:DB$ LoseLife | LifeAmount$ X | SubAbility$ DBCleanup +SVar:DBLose:DB$ LoseLife | LifeAmount$ X | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$CardManaCost SVar:RemAIDeck:True diff --git a/res/cardsfolder/a/adarkar_valkyrie.txt b/res/cardsfolder/a/adarkar_valkyrie.txt index a5e9fc31454..911dd0db362 100644 --- a/res/cardsfolder/a/adarkar_valkyrie.txt +++ b/res/cardsfolder/a/adarkar_valkyrie.txt @@ -5,7 +5,7 @@ Text:no text PT:4/5 K:Flying K:Vigilance -A:AB$ Effect | Cost$ T | Name$ Adarkar Valkyrie Effect | ValidTgts$ Creature.Other | TgtPrompt$ Select target creature other than Adarkar Valkyrie | Triggers$ TrigChangesZone | SVars$ TrigChangeZone | RememberObjects$ Targeted | SpellDescription$ When target creature other than CARDNAME dies this turn, return that card to the battlefield under your control. +A:AB$ Effect | Cost$ T | Name$ Adarkar Valkyrie Effect | ValidTgts$ Creature.Other | TgtPrompt$ Select target creature other than Adarkar Valkyrie | Triggers$ TrigChangesZone | SVars$ TrigChangeZone | References$ TrigChangesZone,TrigChangeZone | RememberObjects$ Targeted | SpellDescription$ When target creature other than CARDNAME dies this turn, return that card to the battlefield under your control. SVar:TrigChangesZone:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.IsRemembered | Execute$ TrigChangeZone | TriggerDescription$ If the targeted creature of Adarkar Valkyrie dies this turn, return it to the battlefield and you gain control of it. SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | Defined$ Remembered | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True SVar:Rarity:Rare diff --git a/res/cardsfolder/a/advice_from_the_fae.txt b/res/cardsfolder/a/advice_from_the_fae.txt index 968a9a43746..d6791d8bacd 100644 --- a/res/cardsfolder/a/advice_from_the_fae.txt +++ b/res/cardsfolder/a/advice_from_the_fae.txt @@ -2,8 +2,8 @@ Name:Advice from the Fae ManaCost:2/U 2/U 2/U Types:Sorcery Text:no text -A:SP$ Dig | Cost$ 2/U 2/U 2/U | DigNum$ 4 | ChangeNum$ 1 | SubAbility$ Dig2 | ConditionCheckSVar$ X | ConditionSVarCompare$ LEY | SpellDescription$ Look at the top five cards of your library. If you control more creatures than each other player, put two of those cards into your hand. Otherwise, put one of them into your hand. Then put the rest on the bottom of your library in any order. -SVar:Dig2:DB$ Dig | DigNum$ 4 | ChangeNum$ 2 | ConditionCheckSVar$ X | ConditionSVarCompare$ GTY +A:SP$ Dig | Cost$ 2/U 2/U 2/U | DigNum$ 4 | ChangeNum$ 1 | SubAbility$ Dig2 | ConditionCheckSVar$ X | ConditionSVarCompare$ LEY | References$ X,Y | SpellDescription$ Look at the top five cards of your library. If you control more creatures than each other player, put two of those cards into your hand. Otherwise, put one of them into your hand. Then put the rest on the bottom of your library in any order. +SVar:Dig2:DB$ Dig | DigNum$ 4 | ChangeNum$ 2 | ConditionCheckSVar$ X | ConditionSVarCompare$ GTY | References$ X,Y SVar:X:Count$Valid Creature.YouCtrl SVar:Y:Count$Valid Creature.YouDontCtrl SVar:RemAIDeck:True diff --git a/res/cardsfolder/a/aerie_ouphes.txt b/res/cardsfolder/a/aerie_ouphes.txt index 5d1ae04f8b3..e93e11cb0f6 100644 --- a/res/cardsfolder/a/aerie_ouphes.txt +++ b/res/cardsfolder/a/aerie_ouphes.txt @@ -4,7 +4,7 @@ Types:Creature Ouphe Text:no text PT:3/3 K:Persist -A:AB$ DealDamage | Cost$ Sac<1/CARDNAME> | ValidTgts$ Creature.withFlying | TgtPrompt$ Select target creature with flying | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to its power to target creature with flying. +A:AB$ DealDamage | Cost$ Sac<1/CARDNAME> | ValidTgts$ Creature.withFlying | TgtPrompt$ Select target creature with flying | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to its power to target creature with flying. SVar:X:Count$CardPower SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/aerie_ouphes.jpg diff --git a/res/cardsfolder/a/aether_burst.txt b/res/cardsfolder/a/aether_burst.txt index 4f7c72d0cea..246fa0ad881 100644 --- a/res/cardsfolder/a/aether_burst.txt +++ b/res/cardsfolder/a/aether_burst.txt @@ -2,7 +2,7 @@ Name:AEther Burst ManaCost:1 U Types:Instant Text:no text -A:SP$ ChangeZone | Cost$ 1 U | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ X | TgtPrompt$ Select target creature | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Return up to X target creatures to their owners' hands, where X is one plus the number of cards named CARDNAME in all graveyards as you cast CARDNAME. +A:SP$ ChangeZone | Cost$ 1 U | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ X | TgtPrompt$ Select target creature | Origin$ Battlefield | Destination$ Hand | References$ X | SpellDescription$ Return up to X target creatures to their owners' hands, where X is one plus the number of cards named CARDNAME in all graveyards as you cast CARDNAME. SVar:X:Count$NamedInAllYards.AEther Burst/Plus.1 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/aether_burst.jpg diff --git a/res/cardsfolder/a/aether_mutation.txt b/res/cardsfolder/a/aether_mutation.txt index f488dec20c9..a6f32dedbeb 100644 --- a/res/cardsfolder/a/aether_mutation.txt +++ b/res/cardsfolder/a/aether_mutation.txt @@ -4,7 +4,7 @@ Types:Sorcery Text:no text A:SP$ ChangeZone | Cost$ 3 G U | ValidTgts$ Creature | TgtPrompt$ Select target creature | Origin$ Battlefield | Destination$ Hand | SubAbility$ TrigToken | SpellDescription$ Return target creature to its owner's hand. Put X 1/1 green Saproling creature tokens onto the battlefield, where X is that creature's converted mana cost. #X will be the Converted Mana Cost of the target of AEther Mutation -SVar:TrigToken:DB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 +SVar:TrigToken:DB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | References$ X SVar:X:Targeted$CardManaCost SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/aether_mutation.jpg diff --git a/res/cardsfolder/a/aether_tide.txt b/res/cardsfolder/a/aether_tide.txt index 755b95fc6be..cd5e3020086 100644 --- a/res/cardsfolder/a/aether_tide.txt +++ b/res/cardsfolder/a/aether_tide.txt @@ -2,7 +2,7 @@ Name:AEther Tide ManaCost:X U Types:Sorcery Text:no text -A:SP$ ChangeZone | Cost$ X U Discard | TargetMin$ 0 | TargetMax$ MaxTgts | Origin$ Battlefield | Destination$ Hand | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Return X target creatures to their owners' hands. +A:SP$ ChangeZone | Cost$ X U Discard | TargetMin$ 0 | TargetMax$ MaxTgts | Origin$ Battlefield | Destination$ Hand | ValidTgts$ Creature | TgtPrompt$ Select target creature | References$ X,MaxTgts | SpellDescription$ Return X target creatures to their owners' hands. # It may seem wrong to not use X in the target, but since the Targets are what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Creature diff --git a/res/cardsfolder/a/aether_vial.txt b/res/cardsfolder/a/aether_vial.txt index 9fef0db4c5d..5246c93f3bc 100644 --- a/res/cardsfolder/a/aether_vial.txt +++ b/res/cardsfolder/a/aether_vial.txt @@ -2,7 +2,7 @@ Name:AEther Vial ManaCost:1 Types:Artifact Text:no text -A:AB$ ChangeZone | Cost$ T | Origin$ Hand | Destination$ Battlefield | ChangeType$ Creature.cmcEQX+YouCtrl | ChangeNum$ 1 | OptionalDecider$ You | SpellDescription$ You may put a creature card with converted mana cost equal to the number of charge counters on CARDNAME from your hand onto the battlefield. +A:AB$ ChangeZone | Cost$ T | Origin$ Hand | Destination$ Battlefield | ChangeType$ Creature.cmcEQX+YouCtrl | ChangeNum$ 1 | OptionalDecider$ You | References$ X | SpellDescription$ You may put a creature card with converted mana cost equal to the number of charge counters on CARDNAME from your hand onto the battlefield. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, you may put a charge counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ CHARGE | CounterNum$ 1 SVar:X:Count$CardCounters.CHARGE diff --git a/res/cardsfolder/a/afflicted_deserter_werewolf_ransacker.txt b/res/cardsfolder/a/afflicted_deserter_werewolf_ransacker.txt index 78bfd897fc9..b7fb20a3638 100644 --- a/res/cardsfolder/a/afflicted_deserter_werewolf_ransacker.txt +++ b/res/cardsfolder/a/afflicted_deserter_werewolf_ransacker.txt @@ -20,7 +20,7 @@ Text:no text PT:5/4 T:Mode$ Transformed | ValidCard$ Card.Self | Execute$ TrigDestroy | OptionalDecider$ You | TriggerDescription$ Whenever this creature transforms into CARDNAME, you may destroy target artifact. If that artifact is put into a graveyard this way, CARDNAME deals 3 damage to that artifact's controller SVar:TrigDestroy:AB$Destroy | Cost$ 0 | ValidTgts$ Artifact | TgtPrompt$ Select target artifact. | RememberTargets$ True | ForgetOtherTargets$ True | SubAbility$ DBDamage -SVar:DBDamage:DB$DealDamage | Cost$ 0 | Defined$ TargetedController | NumDmg$ 3 | SubAbility$ DBCleanup | ConditionCheckSVar$ IsDestroyed | ConditionSVarCompare$ GE1 +SVar:DBDamage:DB$DealDamage | Cost$ 0 | Defined$ TargetedController | NumDmg$ 3 | SubAbility$ DBCleanup | ConditionCheckSVar$ IsDestroyed | ConditionSVarCompare$ GE1 | References$ IsDestroyed SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:IsDestroyed:Count$ThisTurnEntered_Graveyard_from_Battlefield_Artifact.IsRemembered T:Mode$Phase | Phase$ Upkeep | WerewolfUntransformCondition$ True | TriggerZones$ Battlefield | Execute$ TrigTransform | TriggerDescription$ At the beginning of each upkeep, if a player cast two or more spells last turn, transform CARDNAME. diff --git a/res/cardsfolder/a/agadeem_occultist.txt b/res/cardsfolder/a/agadeem_occultist.txt index eac0a9aff9f..603575d9635 100644 --- a/res/cardsfolder/a/agadeem_occultist.txt +++ b/res/cardsfolder/a/agadeem_occultist.txt @@ -3,7 +3,7 @@ ManaCost:2 B Types:Creature Human Shaman Ally Text:no text PT:0/2 -A:AB$ ChangeZone | Cost$ T | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | TgtPrompt$ Choose target creature card in your opponent's graveyard | ValidTgts$ Creature.YouDontCtrl | ConditionCheckSVar$ Y | ConditionSVarCompare$ LEX | ChangeNum$ 1 | SpellDescription$ Put target creature card from an opponent's graveyard onto the battlefield under your control if its converted mana cost is less than or equal to the number of Allies you control. +A:AB$ ChangeZone | Cost$ T | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | TgtPrompt$ Choose target creature card in your opponent's graveyard | ValidTgts$ Creature.YouDontCtrl | ConditionCheckSVar$ Y | ConditionSVarCompare$ LEX | ChangeNum$ 1 | References$ X,Y | SpellDescription$ Put target creature card from an opponent's graveyard onto the battlefield under your control if its converted mana cost is less than or equal to the number of Allies you control. SVar:X:Count$Valid Ally.YouCtrl SVar:Y:Targeted$CardManaCost SVar:BuffedBy:Ally diff --git a/res/cardsfolder/a/ageless_entity.txt b/res/cardsfolder/a/ageless_entity.txt index 32f19292741..1ef416de954 100644 --- a/res/cardsfolder/a/ageless_entity.txt +++ b/res/cardsfolder/a/ageless_entity.txt @@ -4,7 +4,7 @@ Types:Creature Elemental Text:no text PT:4/4 T:Mode$ LifeGained | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever you gain life, put that many +1/+1 counters on CARDNAME. -SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ X +SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ X | References$ X SVar:X:TriggerCount$LifeAmount SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/ageless_entity.jpg diff --git a/res/cardsfolder/a/agonizing_demise.txt b/res/cardsfolder/a/agonizing_demise.txt index 8321b111457..4b14f679fd3 100644 --- a/res/cardsfolder/a/agonizing_demise.txt +++ b/res/cardsfolder/a/agonizing_demise.txt @@ -4,7 +4,7 @@ Types:Instant Text:no text A:SP$ Destroy | Cost$ 3 B | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonblack creature | NoRegen$ True | SpellDescription$ Destroy target nonblack creature. It can't be regenerated. If CARDNAME was kicked, it deals damage equal to that creature's power to the creature's controller. A:SP$ Destroy | Cost$ 4 B R | SetAsKicked$ True | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonblack creature | NoRegen$ True | SubAbility$ DBDamage | SpellDescription$ Kicker 1 R (You may pay an additional 1 R as you cast this spell.) -SVar:DBDamage:DB$DealDamage | Cost$ 0 | Defined$ TargetedController | NumDmg$ X +SVar:DBDamage:DB$DealDamage | Cost$ 0 | Defined$ TargetedController | NumDmg$ X | References$ X SVar:X:Targeted$CardPower SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/agonizing_demise.jpg diff --git a/res/cardsfolder/a/airborne_aid.txt b/res/cardsfolder/a/airborne_aid.txt index 2947c08e9a6..63fd8f2d1c5 100644 --- a/res/cardsfolder/a/airborne_aid.txt +++ b/res/cardsfolder/a/airborne_aid.txt @@ -2,7 +2,7 @@ Name:Airborne Aid ManaCost:3 U Types:Sorcery Text:no text -A:SP$ Draw | Cost$ 3 U | NumCards$ X | SpellDescription$ Draw a card for each Bird on the battlefield. +A:SP$ Draw | Cost$ 3 U | NumCards$ X | References$ X | SpellDescription$ Draw a card for each Bird on the battlefield. SVar:X:Count$TypeOnBattlefield.Bird SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/a/airdrop_condor.txt b/res/cardsfolder/a/airdrop_condor.txt index 93f5cb7c275..cf1c028b355 100644 --- a/res/cardsfolder/a/airdrop_condor.txt +++ b/res/cardsfolder/a/airdrop_condor.txt @@ -4,7 +4,7 @@ Types:Creature Bird Text:no text PT:2/2 K:Flying -A:AB$ DealDamage | Cost$ 1 R Sac<1/Creature.Goblin/Goblin creature> | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to the sacrificed creature's power to target creature or player. +A:AB$ DealDamage | Cost$ 1 R Sac<1/Creature.Goblin/Goblin creature> | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to the sacrificed creature's power to target creature or player. SVar:X:Sacrificed$CardPower SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/a/ajani_goldmane.txt b/res/cardsfolder/a/ajani_goldmane.txt index 3663ed5e827..8664105c1fd 100644 --- a/res/cardsfolder/a/ajani_goldmane.txt +++ b/res/cardsfolder/a/ajani_goldmane.txt @@ -6,7 +6,7 @@ Loyalty:4 A:AB$ GainLife | Cost$ AddCounter<1/LOYALTY> | LifeAmount$ 2 | Planeswalker$ True | SpellDescription$ You gain 2 life. A:AB$ PutCounterAll | Cost$ SubCounter<1/LOYALTY> | ValidCards$ Creature.YouCtrl | CounterType$ P1P1 | CounterNum$ 1 | Planeswalker$ True | SubAbility$ DBPumpAll | SpellDescription$ Put a +1/+1 counter on each creature you control. Those creatures gain vigilance until end of turn. SVar:DBPumpAll:DB$ PumpAll | ValidCards$ Creature.YouCtrl | KW$ Vigilance -A:AB$ Token | Cost$ SubCounter<6/LOYALTY> | TokenAmount$ 1 | TokenName$ Avatar | TokenTypes$ Creature,Avatar | TokenOwner$ You | TokenColors$ White | TokenPower$ X | TokenToughness$ X | TokenStaticAbilities$ Static | TokenSVars$ X | Planeswalker$ True | Ultimate$ True | SpellDescription$ Put a white Avatar creature token onto the battlefield. It has "This creature's power and toughness are each equal to your life total." +A:AB$ Token | Cost$ SubCounter<6/LOYALTY> | TokenAmount$ 1 | TokenName$ Avatar | TokenTypes$ Creature,Avatar | TokenOwner$ You | TokenColors$ White | TokenPower$ X | TokenToughness$ X | TokenStaticAbilities$ Static | TokenSVars$ X | Planeswalker$ True | Ultimate$ True | References$ X | SpellDescription$ Put a white Avatar creature token onto the battlefield. It has "This creature's power and toughness are each equal to your life total." SVar:Static:Mode$ Continuous | SetPower$ X | SetToughness$ X | CharacteristicDefining$ True | Description$ This creature's power and toughness are each equal to your life total. SVar:X:Count$YourLifeTotal SVar:Rarity:Mythic diff --git a/res/cardsfolder/a/akki_lavarunner_tok_tok_volcano_born.txt b/res/cardsfolder/a/akki_lavarunner_tok_tok_volcano_born.txt index 452381eb7d2..592e627ada7 100644 --- a/res/cardsfolder/a/akki_lavarunner_tok_tok_volcano_born.txt +++ b/res/cardsfolder/a/akki_lavarunner_tok_tok_volcano_born.txt @@ -22,8 +22,8 @@ PT:2/2 K:Protection from red R:Event$ DamageDone | ValidSource$ Card.Red | ValidTarget$ Player | ReplaceWith$ DmgPlus1 | IsCombat$ False | Description$ If a red source would deal damage to a player, it deals that much damage plus 1 to that player instead. R:Event$ DamageDone | ValidSource$ Card.Red | ValidTarget$ Player | ReplaceWith$ DmgPlus1Combat | IsCombat$ True | Secondary$ True | Description$ If a red source would deal damage to a player, it deals that much damage plus 1 to that player instead. -SVar:DmgPlus1:AB$DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X -SVar:DmgPlus1:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X +SVar:DmgPlus1:AB$DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X | References$ X +SVar:DmgPlus1:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X | References$ X SVar:X:ReplaceCount$DamageAmount/Plus.1 SVar:Picture:http://www.wizards.com/global/images/magic/general/tok_tok_volcano_born.jpg SetInfo:CHK|Rare|http://magiccards.info/scans/en/chk/313.jpg diff --git a/res/cardsfolder/a/alabaster_potion.txt b/res/cardsfolder/a/alabaster_potion.txt index df59a31d928..48e15d17597 100644 --- a/res/cardsfolder/a/alabaster_potion.txt +++ b/res/cardsfolder/a/alabaster_potion.txt @@ -2,8 +2,8 @@ Name:Alabaster Potion ManaCost:X W W Types:Instant Text:no text -A:SP$ GainLife | Cost$ X W W | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ X | PrecostDesc$ Choose one - | SpellDescription$ Target player gains X life; -A:SP$ PreventDamage | Cost$ X W W | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | Amount$ X | PrecostDesc$ or | SpellDescription$ prevent the next X damage that would be dealt to target creature or player this turn. +A:SP$ GainLife | Cost$ X W W | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ X | PrecostDesc$ Choose one - | References$ X | SpellDescription$ Target player gains X life; +A:SP$ PreventDamage | Cost$ X W W | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | Amount$ X | PrecostDesc$ or | References$ X | SpellDescription$ prevent the next X damage that would be dealt to target creature or player this turn. SVar:X:Count$xPaid SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/alabaster_potion.jpg diff --git a/res/cardsfolder/a/alexi_zephyr_mage.txt b/res/cardsfolder/a/alexi_zephyr_mage.txt index e3ae37ccab0..61fc415e460 100644 --- a/res/cardsfolder/a/alexi_zephyr_mage.txt +++ b/res/cardsfolder/a/alexi_zephyr_mage.txt @@ -3,7 +3,7 @@ ManaCost:3 U U Types:Legendary Creature Human Spellshaper Text:no text PT:3/3 -A:AB$ ChangeZone | Cost$ X U T Discard<2/Card> | Origin$ Battlefield | Destination$ Hand | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Return X target creatures to their owners' hands. +A:AB$ ChangeZone | Cost$ X U T Discard<2/Card> | Origin$ Battlefield | Destination$ Hand | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Creature | TgtPrompt$ Select target creature | References$ X,MaxTgts | SpellDescription$ Return X target creatures to their owners' hands. # It may seem wrong to not use X in the target, but since the Targets are what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Creature diff --git a/res/cardsfolder/a/allied_strategies.txt b/res/cardsfolder/a/allied_strategies.txt index 43b34ab512a..a342c3fb7d1 100644 --- a/res/cardsfolder/a/allied_strategies.txt +++ b/res/cardsfolder/a/allied_strategies.txt @@ -2,7 +2,7 @@ Name:Allied Strategies ManaCost:4 U Types:Sorcery Text:no text -A:SP$ Draw | Cost$ 4 U | NumCards$ X | ValidTgts$ Player | TgtPrompt$ Select target player | SpellDescription$ Domain - Target player draws a card for each basic land type among lands he or she controls. +A:SP$ Draw | Cost$ 4 U | NumCards$ X | ValidTgts$ Player | TgtPrompt$ Select target player | References$ X | SpellDescription$ Domain - Target player draws a card for each basic land type among lands he or she controls. SVar:X:TargetedPlayer$DomainPlayer SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/a/alpha_brawl.txt b/res/cardsfolder/a/alpha_brawl.txt index 3ce5548d392..c532eb457ab 100644 --- a/res/cardsfolder/a/alpha_brawl.txt +++ b/res/cardsfolder/a/alpha_brawl.txt @@ -3,8 +3,8 @@ ManaCost:6 R R Types:Sorcery Text:no text A:SP$ Pump | Cost$ 6 R R | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature an opponent controls | RememberTargets$ True | StackDescription$ None | SubAbility$ AlphaAttack | SpellDescription$ Target creature an opponent controls deals damage equal to its power to each other creature that player controls, then each of those creatures deals damage equal to its power to that creature. -SVar:AlphaAttack:DB$DamageAll | ValidCards$ Creature.YouDontCtrl+IsNotRemembered | DamageSource$ Targeted | NumDmg$ Y | SubAbility$ SucksToBeAlpha | StackDescription$ Targeted creature deals damage equal to its power to each other creature that player controls, -SVar:SucksToBeAlpha:DB$ EachDamage | ValidCards$ Creature.YouDontCtrl+IsNotRemembered | ValidDescription$ of those creatures | NumDmg$ X | DamageDesc$ damage equal to its power | DefinedCards$ Remembered | SubAbility$ DBCleanup | StackDescription$ then each of those creatures deals damage equal to its power to that creature +SVar:AlphaAttack:DB$DamageAll | ValidCards$ Creature.YouDontCtrl+IsNotRemembered | DamageSource$ Targeted | NumDmg$ Y | SubAbility$ SucksToBeAlpha | References$ Y | StackDescription$ Targeted creature deals damage equal to its power to each other creature that player controls, +SVar:SucksToBeAlpha:DB$ EachDamage | ValidCards$ Creature.YouDontCtrl+IsNotRemembered | ValidDescription$ of those creatures | NumDmg$ X | DamageDesc$ damage equal to its power | DefinedCards$ Remembered | SubAbility$ DBCleanup | References$ X | StackDescription$ then each of those creatures deals damage equal to its power to that creature #NumDmg isn't really used here. It is left for clarity. The AF pulls Damage straight from "X" hardcoded. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$CardPower diff --git a/res/cardsfolder/a/altar_of_dementia.txt b/res/cardsfolder/a/altar_of_dementia.txt index 84c5cb3bd5f..c3c9186995d 100644 --- a/res/cardsfolder/a/altar_of_dementia.txt +++ b/res/cardsfolder/a/altar_of_dementia.txt @@ -2,7 +2,7 @@ Name:Altar of Dementia ManaCost:2 Types:Artifact Text:no text -A:AB$ Mill | Cost$ Sac<1/Creature> | NumCards$ X | ValidTgts$ Player | TgtPrompt$ Choose a player | SpellDescription$ Target player puts a number of cards equal to the sacrificed creature's power from the top of his or her library into his or her graveyard. +A:AB$ Mill | Cost$ Sac<1/Creature> | NumCards$ X | ValidTgts$ Player | TgtPrompt$ Choose a player | References$ X | SpellDescription$ Target player puts a number of cards equal to the sacrificed creature's power from the top of his or her library into his or her graveyard. SVar:X:Sacrificed$CardPower SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/a/altar_of_shadows.txt b/res/cardsfolder/a/altar_of_shadows.txt index 9ed68b5450c..739a92f8264 100644 --- a/res/cardsfolder/a/altar_of_shadows.txt +++ b/res/cardsfolder/a/altar_of_shadows.txt @@ -3,7 +3,7 @@ ManaCost:7 Types:Artifact Text:no text T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigGetMana | TriggerDescription$ At the beginning of your precombat main phase, add B to your mana pool for each charge counter on CARDNAME. -SVar:TrigGetMana:AB$ Mana | Cost$ 0 | Produced$ B | Amount$ X | SpellDescription$ Add X B to your mana pool +SVar:TrigGetMana:AB$ Mana | Cost$ 0 | Produced$ B | Amount$ X | References$ X | SpellDescription$ Add X B to your mana pool A:AB$ Destroy | Cost$ 7 T | ValidTgts$ Creature | TgtPrompt$ Select target creature | SubAbility$ DBPutCounter | SpellDescription$ Destroy target creature. Then put a charge counter on CARDNAME. SVar:DBPutCounter:DB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ CHARGE | CounterNum$ 1 SVar:X:Count$CardCounters.CHARGE diff --git a/res/cardsfolder/a/an_havva_inn.txt b/res/cardsfolder/a/an_havva_inn.txt index b4f789129aa..2a923d32c95 100644 --- a/res/cardsfolder/a/an_havva_inn.txt +++ b/res/cardsfolder/a/an_havva_inn.txt @@ -2,7 +2,7 @@ Name:An-Havva Inn ManaCost:1 G G Types:Sorcery Text:no text -A:SP$ GainLife | Cost$ 1 G G | LifeAmount$ X | SpellDescription$ You gain X plus 1 life, where X is the number of green creatures on the battlefield. +A:SP$ GainLife | Cost$ 1 G G | LifeAmount$ X | References$ X | SpellDescription$ You gain X plus 1 life, where X is the number of green creatures on the battlefield. SVar:X:Count$GreenTypeOnBattlefield.Creature/Plus.1 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/an_havva_inn.jpg diff --git a/res/cardsfolder/a/ana_sanctuary.txt b/res/cardsfolder/a/ana_sanctuary.txt index 79134fb0e08..eb9fe71bc60 100644 --- a/res/cardsfolder/a/ana_sanctuary.txt +++ b/res/cardsfolder/a/ana_sanctuary.txt @@ -3,8 +3,8 @@ ManaCost:2 G Types:Enchantment Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | CheckSVar$ X | SVarCompare$ GE1 | Execute$ TrigPump | TriggerDescription$ At the beginning of your upkeep, if you control a blue or black permanent, target creature gets +1/+1 until end of turn. If you control a blue permanent and a black permanent, that creature gets +5/+5 until end of turn instead. -SVar:TrigPump:DB$Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature to pump | NumAtt$ +1 | NumDef$ +1 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | SubAbility$ DBPump -SVar:DBPump:DB$Pump | Defined$ Targeted | NumAtt$ +5 | NumDef$ +5 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE2 +SVar:TrigPump:DB$Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature to pump | NumAtt$ +1 | NumDef$ +1 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | SubAbility$ DBPump | References$ X,Y,Z +SVar:DBPump:DB$Pump | Defined$ Targeted | NumAtt$ +5 | NumDef$ +5 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE2 | References$ X,Y,Z SVar:Y:Count$Valid Permanent.Blue+YouCtrl/LimitMax.1 SVar:Z:Count$Valid Permanent.Black+YouCtrl/LimitMax.1 SVar:X:SVar$Y/Plus.Z diff --git a/res/cardsfolder/a/anathemancer.txt b/res/cardsfolder/a/anathemancer.txt index dbaa8273071..e5aa1281356 100644 --- a/res/cardsfolder/a/anathemancer.txt +++ b/res/cardsfolder/a/anathemancer.txt @@ -5,7 +5,7 @@ Text:no text PT:2/2 K:Unearth:5 B R T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDamage | TriggerDescription$ When CARDNAME enters the battlefield, it deals damage to target player equal to the number of nonbasic lands that player controls. -SVar:TrigDamage:DB$DealDamage | ValidTgts$ Player | TgtPrompt$ Select target player | NumDmg$ X | RememberTargets$ True | SubAbility$ DBCleanup +SVar:TrigDamage:DB$DealDamage | ValidTgts$ Player | TgtPrompt$ Select target player | NumDmg$ X | RememberTargets$ True | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$Valid Land.nonBasic+RememberedPlayerCtrl SVar:Rarity:Uncommon diff --git a/res/cardsfolder/a/ancestors_chosen.txt b/res/cardsfolder/a/ancestors_chosen.txt index 0806034dd69..ce6d8d7fc7d 100644 --- a/res/cardsfolder/a/ancestors_chosen.txt +++ b/res/cardsfolder/a/ancestors_chosen.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 K:First Strike T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigGainLife | TriggerDescription$ When CARDNAME enters the battlefield, you gain 1 life for each card in your graveyard. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:Count$InYourYard SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/ancestors_chosen.jpg diff --git a/res/cardsfolder/a/ancestral_tribute.txt b/res/cardsfolder/a/ancestral_tribute.txt index b26796fad1c..cca2541616b 100644 --- a/res/cardsfolder/a/ancestral_tribute.txt +++ b/res/cardsfolder/a/ancestral_tribute.txt @@ -3,7 +3,7 @@ ManaCost:5 W W Types:Sorcery Text:no text K:Flashback 9 W W W -A:SP$ GainLife | Cost$ 5 W W | LifeAmount$ X | SpellDescription$ You gain 2 life for each card in your graveyard. +A:SP$ GainLife | Cost$ 5 W W | LifeAmount$ X | References$ X | SpellDescription$ You gain 2 life for each card in your graveyard. SVar:X:Count$InYourYard/Times.2 SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/ancestral_tribute.jpg diff --git a/res/cardsfolder/a/ancient_kavu.txt b/res/cardsfolder/a/ancient_kavu.txt index 8dc3a05308e..3af879ecc1c 100644 --- a/res/cardsfolder/a/ancient_kavu.txt +++ b/res/cardsfolder/a/ancient_kavu.txt @@ -3,7 +3,7 @@ ManaCost:3 R Types:Creature Kavu Text:no text PT:3/3 -A:AB$ Animate | Cost$ 2 | Defined$ Card.Self | Colors$ Colorless | SpellDescription$ CARDNAME becomes colorless until end of turn. +A:AB$ Animate | Cost$ 2 | Defined$ Self | Colors$ Colorless | OverwriteColors$ True | SpellDescription$ CARDNAME becomes colorless until end of turn. SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/ancient_kavu.jpg SetInfo:INV|Common|http://magiccards.info/scans/en/in/136.jpg diff --git a/res/cardsfolder/a/ancient_runes.txt b/res/cardsfolder/a/ancient_runes.txt index ea05d2ef847..73ed8ae9f14 100644 --- a/res/cardsfolder/a/ancient_runes.txt +++ b/res/cardsfolder/a/ancient_runes.txt @@ -4,8 +4,8 @@ Types:Enchantment Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigDamageYou | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of each player's upkeep, CARDNAME deals damage to that player equal to the number of artifacts he or she controls. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Opponent | Execute$ TrigDamageOpp | TriggerZones$ Battlefield | Secondary$ True | TriggerDescription$ At the beginning of each player's upkeep, CARDNAME deals damage to that player equal to the number of artifacts he or she controls. -SVar:TrigDamageYou:AB$DealDamage | Cost$ 0 | Defined$ You | NumDmg$ X -SVar:TrigDamageOpp:AB$DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ Y +SVar:TrigDamageYou:AB$DealDamage | Cost$ 0 | Defined$ You | NumDmg$ X | References$ X +SVar:TrigDamageOpp:AB$DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ Y | References$ Y SVar:X:Count$Valid Artifact.YouCtrl SVar:Y:Count$Valid Artifact.YouDontCtrl SVar:RemRandomDeck:True diff --git a/res/cardsfolder/a/angelheart_vial.txt b/res/cardsfolder/a/angelheart_vial.txt index 624d7b5f040..8dd5681c74a 100644 --- a/res/cardsfolder/a/angelheart_vial.txt +++ b/res/cardsfolder/a/angelheart_vial.txt @@ -5,7 +5,7 @@ Text:no text A:AB$ GainLife | Cost$ 2 T SubCounter<4/CHARGE> | Defined$ You | LifeAmount$ 2 | SubAbility$ DBDraw | SpellDescription$ You gain 2 life and draw a card. T:Mode$ DamageDone | ValidTarget$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | OptionalDecider$ You | TriggerDescription$ Whenever you're dealt damage, you may put that many charge counters on CARDNAME. SVar:DBDraw:DB$Draw | Defined$ You | NumCards$ 1 -SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ CHARGE | CounterNum$ X +SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ CHARGE | CounterNum$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/angelheart_vial.jpg diff --git a/res/cardsfolder/a/angelic_chorus.txt b/res/cardsfolder/a/angelic_chorus.txt index c02d122fe88..6b96cb0d94d 100644 --- a/res/cardsfolder/a/angelic_chorus.txt +++ b/res/cardsfolder/a/angelic_chorus.txt @@ -3,7 +3,7 @@ ManaCost:3 W W Types:Enchantment Text:no text T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigGainLife | TriggerDescription$ Whenever a creature enters the battlefield under your control, you gain life equal to its toughness. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggeredCard$CardToughness SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/angelic_chorus.jpg diff --git a/res/cardsfolder/a/angels_trumpet.txt b/res/cardsfolder/a/angels_trumpet.txt index f916e060963..40075eb12ad 100644 --- a/res/cardsfolder/a/angels_trumpet.txt +++ b/res/cardsfolder/a/angels_trumpet.txt @@ -5,11 +5,11 @@ Text:no text S:Mode$ Continuous | Affected$ Creature | AddHiddenKeyword$ Vigilance | Description$ All creatures have vigilance. T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | Execute$ TrigTapAllYou | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of each player's end step, tap all untapped creatures that player controls that didn't attack this turn. CARDNAME deals damage to the player equal to the number of creatures tapped this way. SVar:TrigTapAllYou:AB$ TapAll | Cost$ 0 | ValidCards$ Creature.untapped+notAttackedThisTurn+YouCtrl | RememberTapped$ True | SubAbility$ DBDamageYou -SVar:DBDamageYou:DB$ DealDamage | Defined$ You | NumDmg$ AngelYouX | SubAbility$ DBCleanupYou +SVar:DBDamageYou:DB$ DealDamage | Defined$ You | NumDmg$ AngelYouX | SubAbility$ DBCleanupYou | References$ AngelYouX SVar:DBCleanupYou:DB$ Cleanup | ClearRemembered$ True T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Opponent | Execute$ TrigTapAllOpp | TriggerZones$ Battlefield | Secondary$ True | TriggerDescription$ At the beginning of each player's end step, tap all untapped creatures that player controls that didn't attack this turn. CARDNAME deals damage to the player equal to the number of creatures tapped this way. SVar:TrigTapAllOpp:AB$ TapAll | Cost$ 0 | ValidCards$ Creature.untapped+notAttackedThisTurn+YouDontCtrl | RememberTapped$ True | SubAbility$ DBDamageOpp -SVar:DBDamageOpp:DB$ DealDamage | Defined$ Opponent | NumDmg$ AngelOppX | SubAbility$ DBCleanupOpp +SVar:DBDamageOpp:DB$ DealDamage | Defined$ Opponent | NumDmg$ AngelOppX | SubAbility$ DBCleanupOpp | References$ AngelOppX SVar:DBCleanupOpp:DB$ Cleanup | ClearRemembered$ True SVar:AngelYouX:Remembered$Amount SVar:AngelOppX:Remembered$Amount diff --git a/res/cardsfolder/a/antagonism.txt b/res/cardsfolder/a/antagonism.txt index e724870481a..e1ed52115b4 100644 --- a/res/cardsfolder/a/antagonism.txt +++ b/res/cardsfolder/a/antagonism.txt @@ -3,10 +3,10 @@ ManaCost:3 R Types:Enchantment Text:no text T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | Execute$ TeaseYou | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of each player's end step, CARDNAME deals 2 damage to that player unless one of his or her opponents was dealt damage this turn. -SVar:TeaseYou:DB$ DealDamage | Defined$ You | NumDmg$ 2 | ConditionCheckSVar$ AntagonismX | ConditionSVarCompare$ LE0 +SVar:TeaseYou:DB$ DealDamage | Defined$ You | NumDmg$ 2 | ConditionCheckSVar$ AntagonismX | ConditionSVarCompare$ LE0 | References$ AntagonismX SVar:AntagonismX:Count$OppDamageThisTurn T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Opponent | Execute$ TeaseOpp | TriggerZones$ Battlefield | Secondary$ True | TriggerDescription$ At the beginning of each player's end step, CARDNAME deals 2 damage to that player unless one of his or her opponents was dealt damage this turn. -SVar:TeaseOpp:DB$ DealDamage | Defined$ Opponent | NumDmg$ 2 | ConditionCheckSVar$ AntagonismY | ConditionSVarCompare$ LE0 +SVar:TeaseOpp:DB$ DealDamage | Defined$ Opponent | NumDmg$ 2 | ConditionCheckSVar$ AntagonismY | ConditionSVarCompare$ LE0 | References$ AntagonismY | SVar:AntagonismY:Count$YourDamageThisTurn SVar:NeedsToPlayVar:AntagonismX GE1 SVar:RemRandomDeck:True diff --git a/res/cardsfolder/a/anthem_of_rakdos.txt b/res/cardsfolder/a/anthem_of_rakdos.txt index 363907bdf78..9a470e8d1d8 100644 --- a/res/cardsfolder/a/anthem_of_rakdos.txt +++ b/res/cardsfolder/a/anthem_of_rakdos.txt @@ -7,8 +7,8 @@ SVar:AnthemPump:AB$Pump | Cost$ 0 | Defined$ TriggeredAttacker | NumAtt$ +2 | Su SVar:RakdosBurn:DB$ DealDamage | Defined$ You | NumDmg$ 1 R:Event$ DamageDone | ValidSource$ Card.YouCtrl | ValidTarget$ Creature,Player | Hellbent$ True | ReplaceWith$ DmgTwice | IsCombat$ False | Description$ Hellbent - As long as you have no cards in hand, if a source you control would deal damage to a creature or player, it deals double that damage to that creature or player instead. R:Event$ DamageDone | ValidSource$ Card.YouCtrl | ValidTarget$ Creature,Player | Hellbent$ True | ReplaceWith$ DmgTwiceCombat | IsCombat$ True | Secondary$ True | Description$ Hellbent - As long as you have no cards in hand, if a source you control would deal damage to a creature or player, it deals double that damage to that creature or player instead. -SVar:DmgTwice:AB$DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X -SVar:DmgTwiceCombat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X +SVar:DmgTwice:AB$DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X | References$ X +SVar:DmgTwiceCombat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X | References$ X SVar:X:ReplaceCount$DamageAmount/Twice SVar:PlayMain1:TRUE SVar:Rarity:Rare diff --git a/res/cardsfolder/a/anthroplasm.txt b/res/cardsfolder/a/anthroplasm.txt index 138e089a43c..10b77c47ca5 100644 --- a/res/cardsfolder/a/anthroplasm.txt +++ b/res/cardsfolder/a/anthroplasm.txt @@ -5,7 +5,7 @@ Text:no text PT:0/0 K:etbCounter:P1P1:2 A:AB$ RemoveCounter | Cost$ X T | CounterType$ P1P1 | CounterNum$ All | SpellDescription$ Remove all +1/+1 counters from CARDNAME and put X +1/+1 counters on it. | SubAbility$ DBPutCounter -SVar:DBPutCounter:DB$PutCounter | CounterType$ P1P1 | CounterNum$ X +SVar:DBPutCounter:DB$PutCounter | CounterType$ P1P1 | CounterNum$ X | References$ X SVar:X:Count$xPaid SVar:All:Count$CardCounters.P1P1 SVar:RemAIDeck:True diff --git a/res/cardsfolder/a/anurid_scavenger.txt b/res/cardsfolder/a/anurid_scavenger.txt index 352cf90964c..b925e5598ae 100644 --- a/res/cardsfolder/a/anurid_scavenger.txt +++ b/res/cardsfolder/a/anurid_scavenger.txt @@ -6,7 +6,7 @@ PT:3/3 K:Protection from black T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigChangeZone | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, sacrifice CARDNAME unless you put a card from your graveyard on the bottom of your library. SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Library | Hidden$ True | ChangeType$ Card.YouOwn | LibraryPosition$ -1 | RememberChanged$ True | SubAbility$ DBSac -SVar:DBSac:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 +SVar:DBSac:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:NeedsToPlayVar:Y GE3 diff --git a/res/cardsfolder/a/arashi_the_sky_asunder.txt b/res/cardsfolder/a/arashi_the_sky_asunder.txt index 5aee855fa0b..ee2514f3050 100644 --- a/res/cardsfolder/a/arashi_the_sky_asunder.txt +++ b/res/cardsfolder/a/arashi_the_sky_asunder.txt @@ -3,8 +3,8 @@ ManaCost:3 G G Types:Legendary Creature Spirit Text:no text PT:5/5 -A:AB$ DealDamage | Cost$ X G T | ValidTgts$ Creature.withFlying | TgtPrompt$ Select target flying creature. | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target creature with flying. -A:AB$ DamageAll | PrecostDesc$ Channel - | Cost$ X G G Discard<1/CARDNAME> | ActivationZone$ Hand | ValidCards$ Creature.withFlying | NumDmg$ X | ValidDescription$ each creature with flying. | SpellDescription$CARDNAME deals X damage to each creature with flying. +A:AB$ DealDamage | Cost$ X G T | ValidTgts$ Creature.withFlying | TgtPrompt$ Select target flying creature. | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to target creature with flying. +A:AB$ DamageAll | PrecostDesc$ Channel - | Cost$ X G G Discard<1/CARDNAME> | ActivationZone$ Hand | ValidCards$ Creature.withFlying | NumDmg$ X | ValidDescription$ each creature with flying. | References$ X | SpellDescription$CARDNAME deals X damage to each creature with flying. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/a/arbiter_of_knollridge.txt b/res/cardsfolder/a/arbiter_of_knollridge.txt index e20d582d118..dc20e605439 100644 --- a/res/cardsfolder/a/arbiter_of_knollridge.txt +++ b/res/cardsfolder/a/arbiter_of_knollridge.txt @@ -5,7 +5,7 @@ Text:no text PT:5/5 K:Vigilance T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigLife | TriggerDescription$ When CARDNAME enters the battlefield, each player's life total becomes the highest life total among all players. -SVar:TrigLife:AB$SetLife | Cost$ 0 | Defined$ Each | LifeAmount$ X +SVar:TrigLife:AB$SetLife | Cost$ 0 | Defined$ Each | LifeAmount$ X | References$ X SVar:X:Count$HighestLifeTotal SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/arbiter_of_knollridge.jpg diff --git a/res/cardsfolder/a/archangel_of_strife.txt b/res/cardsfolder/a/archangel_of_strife.txt index 68f780de689..5dd76df57ea 100644 --- a/res/cardsfolder/a/archangel_of_strife.txt +++ b/res/cardsfolder/a/archangel_of_strife.txt @@ -11,10 +11,10 @@ SVar:WarChoice:DB$ Effect | Name$ Archangel War Effect | ChoiceDescription$ War SVar:PeaceChoice:DB$ Effect | Name$ Archangel Peace Effect | ChoiceDescription$ Peace | Duration$ UntilHostLeavesPlay | RememberEffect$ True SVar:Attacking:DB$ Effect | Name$ Archangel War Effect | ChoiceDescription$ War | EffectOwner$ Opponent | Duration$ UntilHostLeavesPlay | RememberEffect$ True SVar:Defensive:DB$ Effect | Name$ Archangel Peace Effect | ChoiceDescription$ Peace | EffectOwner$ Opponent | Duration$ UntilHostLeavesPlay | RememberEffect$ True -S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddPower$ 3 | CheckSVar$ WarYou | SVarCompare$ GE1 -S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddToughness$ 3 | CheckSVar$ PeaceYou | SVarCompare$ GE1 -S:Mode$ Continuous | Affected$ Creature.YouDontCtrl | AddPower$ 3 | CheckSVar$ WarOpp | SVarCompare$ GE1 -S:Mode$ Continuous | Affected$ Creature.YouDontCtrl | AddToughness$ 3 | CheckSVar$ PeaceOpp | SVarCompare$ GE1 +S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddPower$ 3 | CheckSVar$ WarYou | SVarCompare$ GE1 | References$ WarYou +S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddToughness$ 3 | CheckSVar$ PeaceYou | SVarCompare$ GE1 | References$ PeaceYou +S:Mode$ Continuous | Affected$ Creature.YouDontCtrl | AddPower$ 3 | CheckSVar$ WarOpp | SVarCompare$ GE1 | References$ WarOpp +S:Mode$ Continuous | Affected$ Creature.YouDontCtrl | AddToughness$ 3 | CheckSVar$ PeaceOpp | SVarCompare$ GE1 | References$ PeaceOpp T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | Defined$ Self | Execute$ DBCleanup | Static$ True SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:WarYou:Remembered$Valid Card.namedArchangel War Effect+YouCtrl diff --git a/res/cardsfolder/a/archangels_light.txt b/res/cardsfolder/a/archangels_light.txt index cae00a04aa1..4679cc4cd3c 100644 --- a/res/cardsfolder/a/archangels_light.txt +++ b/res/cardsfolder/a/archangels_light.txt @@ -2,7 +2,7 @@ Name:Archangel's Light ManaCost:7 W Types:Sorcery Text:no text -A:SP$ GainLife | Cost$ 7 W | LifeAmount$ X | SubAbility$ DBShuffle | SpellDescription$ You gain 2 life for each card in your graveyard, then shuffle your graveyard into your library. +A:SP$ GainLife | Cost$ 7 W | LifeAmount$ X | SubAbility$ DBShuffle | References$ X | SpellDescription$ You gain 2 life for each card in your graveyard, then shuffle your graveyard into your library. SVar:DBShuffle:DB$ChangeZoneAll | ChangeType$ Card.YouOwn | Origin$ Graveyard | Destination$ Library | Shuffle$ True SVar:X:Count$InYourYard/Times.2 SVar:Rarity:Mythic diff --git a/res/cardsfolder/a/archon_of_redemption.txt b/res/cardsfolder/a/archon_of_redemption.txt index 07608f8ef14..670a249f78b 100644 --- a/res/cardsfolder/a/archon_of_redemption.txt +++ b/res/cardsfolder/a/archon_of_redemption.txt @@ -6,7 +6,7 @@ PT:3/4 K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | OptionalDecider$ You | Execute$ TrigGainLife | TriggerDescription$ Whenever CARDNAME or another creature with flying enters the battlefield under your control, you may gain life equal to that creature's power. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Other+YouCtrl+withFlying | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigGainLife | Secondary$ True | TriggerDescription$ Whenever CARDNAME or another creature with flying enters the battlefield under your control, you may gain life equal to that creature's power. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggeredCard$CardPower SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/archon_of_redemption.jpg diff --git a/res/cardsfolder/a/arctic_nishoba.txt b/res/cardsfolder/a/arctic_nishoba.txt index eb5c889087b..d508581aa1a 100644 --- a/res/cardsfolder/a/arctic_nishoba.txt +++ b/res/cardsfolder/a/arctic_nishoba.txt @@ -5,8 +5,8 @@ Text:no text PT:6/6 K:Trample K:Cumulative upkeep:GW -T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | TriggerZones$ Battlefield | ValidCard$ Card.Self | Execute$ TrigGain | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, you gain 2 life for each age counter on it. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ TriggeredCardController | LifeAmount$ X +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigGain | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, you gain 2 life for each age counter on it. +SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ TriggeredCardController | LifeAmount$ X | References$ X SVar:X:TriggeredCard$CardCounters.AGE/Times.2 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/arctic_nishoba.jpg diff --git a/res/cardsfolder/a/armadillo_cloak.txt b/res/cardsfolder/a/armadillo_cloak.txt index 1209c51d9e3..b22ed3e7b8f 100644 --- a/res/cardsfolder/a/armadillo_cloak.txt +++ b/res/cardsfolder/a/armadillo_cloak.txt @@ -6,7 +6,7 @@ K:Enchant creature A:SP$ Attach | Cost$ 1 G W | ValidTgts$ Creature | AILogic$ Pump S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 2 | AddToughness$ 2 | AddKeyword$ Trample | Description$ Enchanted creature gets +2/+2 and has trample. T:Mode$ DamageDone | ValidSource$ Card.AttachedBy | Execute$ TrigGain | TriggerZones$ Battlefield | TriggerDescription$ Whenever enchanted creature deals damage, you gain that much life. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/armadillo_cloak.jpg diff --git a/res/cardsfolder/a/armageddon_clock.txt b/res/cardsfolder/a/armageddon_clock.txt index 9e6310d9fee..c116027d800 100644 --- a/res/cardsfolder/a/armageddon_clock.txt +++ b/res/cardsfolder/a/armageddon_clock.txt @@ -5,7 +5,7 @@ Text:no text T:Mode$ Phase | Phase$ Draw | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDealDamage | TriggerDescription$ At the beginning of your draw step, CARDNAME deals damage equal to the number of doom counters on it to each player. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, put a doom counter on CARDNAME. A:AB$ RemoveCounter | Cost$ 4 | CounterType$ DOOM | CounterNum$ 1 | ActivationPhases$ Upkeep | AnyPlayer$ True | SpellDescription$ Remove a doom counter from CARDNAME. Any player may activate this ability but only during any upkeep step. -SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Defined$ Each | NumDmg$ X +SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Defined$ Each | NumDmg$ X | References$ X SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ DOOM | CounterNum$ 1 SVar:X:Count$CardCounters.DOOM SVar:RemAIDeck:True diff --git a/res/cardsfolder/a/armed_response.txt b/res/cardsfolder/a/armed_response.txt index 6021de4b79a..1b93a047356 100644 --- a/res/cardsfolder/a/armed_response.txt +++ b/res/cardsfolder/a/armed_response.txt @@ -2,7 +2,7 @@ Name:Armed Response ManaCost:2 W Types:Instant Text:no text -A:SP$ DealDamage | Cost$ 2 W | ValidTgts$ Creature.attacking | TgtPrompt$ Select target Creature | NumDmg$ X | SpellDescription$ CARDNAME deals damage to target attacking creature equal to the number of Equipment you control. +A:SP$ DealDamage | Cost$ 2 W | ValidTgts$ Creature.attacking | TgtPrompt$ Select target Creature | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage to target attacking creature equal to the number of Equipment you control. SVar:X:Count$Valid Equipment.YouCtrl SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/a/artifact_mutation.txt b/res/cardsfolder/a/artifact_mutation.txt index 4df837aa97d..f35f370f26c 100644 --- a/res/cardsfolder/a/artifact_mutation.txt +++ b/res/cardsfolder/a/artifact_mutation.txt @@ -4,7 +4,7 @@ Types:Instant Text:no text A:SP$ Destroy | Cost$ R G | ValidTgts$ Artifact | TgtPrompt$ Select target artifact | NoRegen$ True | SubAbility$ TrigToken | SpellDescription$ Destroy target artifact. It can't be regenerated. Put X 1/1 green Saproling creature tokens onto the battlefield, where X is that artifact's converted mana cost. #X will be the Converted Mana Cost of the target of Mutation -SVar:TrigToken:DB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 +SVar:TrigToken:DB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | References$ X SVar:X:Targeted$CardManaCost SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/artifact_mutation.jpg diff --git a/res/cardsfolder/a/ashen_skin_zubera.txt b/res/cardsfolder/a/ashen_skin_zubera.txt index dd85bc1d17b..31eaeecf06a 100644 --- a/res/cardsfolder/a/ashen_skin_zubera.txt +++ b/res/cardsfolder/a/ashen_skin_zubera.txt @@ -3,7 +3,7 @@ ManaCost:1 B Types:Creature Zubera Spirit Text:no text T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigDiscard | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME is put into a graveyard from the battlefield, target opponent discards a card for each Zubera put into a graveyard from the battlefield this turn. -SVar:TrigDiscard:AB$Discard | Cost$ 0 | ValidTgts$ Opponent | NumCards$ X | Mode$ TgtChoose +SVar:TrigDiscard:AB$Discard | Cost$ 0 | ValidTgts$ Opponent | NumCards$ X | Mode$ TgtChoose | References$ X SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Card.Zubera PT:1/2 SVar:Rarity:Common diff --git a/res/cardsfolder/a/asmira_holy_avenger.txt b/res/cardsfolder/a/asmira_holy_avenger.txt index ec1ab7ba224..a2194ded03b 100644 --- a/res/cardsfolder/a/asmira_holy_avenger.txt +++ b/res/cardsfolder/a/asmira_holy_avenger.txt @@ -5,7 +5,7 @@ Text:no text PT:2/3 K:Flying T:Mode$ Phase | Phase$ End of Turn | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of each end step, put a +1/+1 counter on Asmira, Holy Avenger for each creature put into your graveyard from the battlefield this turn. -SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ X +SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ X | References$ X SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature.YouCtrl SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/asmira_holy_avenger.jpg diff --git a/res/cardsfolder/a/atogatog.txt b/res/cardsfolder/a/atogatog.txt index 5ff85a8311f..abf53cf9787 100644 --- a/res/cardsfolder/a/atogatog.txt +++ b/res/cardsfolder/a/atogatog.txt @@ -3,7 +3,7 @@ ManaCost:W U B R G Types:Legendary Creature Atog Text:no text PT:5/5 -A:AB$ Pump | Cost$ Sac<1/Creature.Atog/Atog creature> | Defined$ Self | NumAtt$ X | NumDef$ X | SpellDescription$ CARDNAME gets +X/+X until end of turn, where X is the sacrificed creature's power. +A:AB$ Pump | Cost$ Sac<1/Creature.Atog/Atog creature> | Defined$ Self | NumAtt$ X | NumDef$ X | References$ X | SpellDescription$ CARDNAME gets +X/+X until end of turn, where X is the sacrificed creature's power. SVar:X:Sacrificed$CardPower SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/atogatog.jpg diff --git a/res/cardsfolder/a/augury_adept.txt b/res/cardsfolder/a/augury_adept.txt index c72b633abff..85fa6fda92d 100644 --- a/res/cardsfolder/a/augury_adept.txt +++ b/res/cardsfolder/a/augury_adept.txt @@ -5,7 +5,7 @@ Text:no text PT:2/2 T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | CombatDamage$ True | Execute$ TrigDig | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, reveal the top card of your library and put that card into your hand. You gain life equal to its converted mana cost. SVar:TrigDig:AB$Dig | Cost$ 0 | DigNum$ 1 | Reveal$ True | ChangeNum$ All | ChangeValid$ Card | DestinationZone$ Hand | RememberChanged$ True | SubAbility$ DBGain -SVar:DBGain:DB$GainLife | LifeAmount$ X | SubAbility$ DBCleanup +SVar:DBGain:DB$GainLife | LifeAmount$ X | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:X:Remembered$CardManaCost SVar:Rarity:Rare diff --git a/res/cardsfolder/a/aura_mutation.txt b/res/cardsfolder/a/aura_mutation.txt index 786ec1bb243..a2a3aa892e5 100644 --- a/res/cardsfolder/a/aura_mutation.txt +++ b/res/cardsfolder/a/aura_mutation.txt @@ -4,7 +4,7 @@ Types:Instant Text:no text A:SP$ Destroy | Cost$ G W | ValidTgts$ Enchantment | TgtPrompt$ Select target enchantment | SubAbility$ TrigToken | SpellDescription$ Destroy target enchantment. Put X 1/1 green Saproling creature tokens onto the battlefield, where X is that enchantment's converted mana cost. #X will be the Converted Mana Cost of the target of Mutation -SVar:TrigToken:DB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 +SVar:TrigToken:DB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | References$ X SVar:X:Targeted$CardManaCost SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/aura_mutation.jpg diff --git a/res/cardsfolder/a/auriok_bladewarden.txt b/res/cardsfolder/a/auriok_bladewarden.txt index 84ff76dfe24..9d799f5ab4b 100644 --- a/res/cardsfolder/a/auriok_bladewarden.txt +++ b/res/cardsfolder/a/auriok_bladewarden.txt @@ -3,7 +3,7 @@ ManaCost:1 W Types:Creature Human Soldier Text:no text PT:1/1 -A:AB$ Pump | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | SpellDescription$ Target creature gets +X/+X until end of turn, where X is CARDNAME's power. +A:AB$ Pump | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | References$ X | SpellDescription$ Target creature gets +X/+X until end of turn, where X is CARDNAME's power. SVar:X:Count$CardPower SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/auriok_bladewarden.jpg diff --git a/res/cardsfolder/a/aurochs.txt b/res/cardsfolder/a/aurochs.txt index 80c43645f6a..3dde501bd3a 100644 --- a/res/cardsfolder/a/aurochs.txt +++ b/res/cardsfolder/a/aurochs.txt @@ -5,7 +5,7 @@ Text:no text PT:2/3 K:Trample T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, it gets +1/+0 until end of turn for each other attacking Aurochs. -SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ X +SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ X | References$ X SVar:X:Count$Valid Aurochs.attacking+Other SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/aurochs.jpg diff --git a/res/cardsfolder/a/aurochs_herd.txt b/res/cardsfolder/a/aurochs_herd.txt index 40285db5da1..30ac90282d2 100644 --- a/res/cardsfolder/a/aurochs_herd.txt +++ b/res/cardsfolder/a/aurochs_herd.txt @@ -7,7 +7,7 @@ K:Trample T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | Execute$ TrigChange | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, you may search your library for an Aurochs card, reveal it, and put it into your hand. If you do, shuffle your library. SVar:TrigChange:AB$ChangeZone | Cost$ 0 | Origin$ Library | Destination$ Hand | ChangeType$ Card.Aurochs | ChangeNum$ 1 T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, it gets +1/+0 until end of turn for each other attacking Aurochs. -SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ X +SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ X | References$ X SVar:X:Count$Valid Aurochs.attacking+Other SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/aurochs_herd.jpg diff --git a/res/cardsfolder/a/avalanche.txt b/res/cardsfolder/a/avalanche.txt index b3a89bf09e2..f0244b4e2ff 100644 --- a/res/cardsfolder/a/avalanche.txt +++ b/res/cardsfolder/a/avalanche.txt @@ -2,7 +2,7 @@ Name:Avalanche ManaCost:X 2 R R Types:Sorcery Text:no text -A:SP$ Destroy | Cost$ X 2 R R | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Land.Snow | TgtPrompt$ Select target snow land | SpellDescription$ Destroy X target snow lands. +A:SP$ Destroy | Cost$ X 2 R R | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Land.Snow | TgtPrompt$ Select target snow land | References$ X,MaxTgts | SpellDescription$ Destroy X target snow lands. # It may seem wrong to not use X in the target, but since the Targets are what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Land.Snow diff --git a/res/cardsfolder/a/avatar_of_discord.txt b/res/cardsfolder/a/avatar_of_discord.txt index bb43567bbd8..32be05953d9 100644 --- a/res/cardsfolder/a/avatar_of_discord.txt +++ b/res/cardsfolder/a/avatar_of_discord.txt @@ -6,7 +6,7 @@ PT:5/3 K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDiscard | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you discard two cards. SVar:TrigDiscard:AB$ Discard | Cost$ 0 | NumCards$ 2 | DiscardValid$ Card | Mode$ TgtChoose | Optional$ True | RememberDiscarded$ True | SubAbility$ DBSacSelf -SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT2 +SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT2 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:NeedsToPlayVar:Y GE3 diff --git a/res/cardsfolder/a/avenger_en_dal.txt b/res/cardsfolder/a/avenger_en_dal.txt index 3a6222753a0..451192646cf 100644 --- a/res/cardsfolder/a/avenger_en_dal.txt +++ b/res/cardsfolder/a/avenger_en_dal.txt @@ -4,7 +4,7 @@ Types:Creature Human Spellshaper Text:no text PT:1/1 A:AB$ ChangeZone | Cost$ 2 W T Discard<1/Card> | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | Origin$ Battlefield | Destination$ Exile | SpellDescription$ Exile target attacking creature. Its controller gains life equal to its toughness. | SubAbility$ DBGainLife -SVar:DBGainLife:DB$GainLife | Defined$ TargetedController | LifeAmount$ X +SVar:DBGainLife:DB$GainLife | Defined$ TargetedController | LifeAmount$ X | References$ X SVar:X:Targeted$CardToughness SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/a/avenger_of_zendikar.txt b/res/cardsfolder/a/avenger_of_zendikar.txt index f2557e3c539..9b019495e65 100644 --- a/res/cardsfolder/a/avenger_of_zendikar.txt +++ b/res/cardsfolder/a/avenger_of_zendikar.txt @@ -4,7 +4,7 @@ Types:Creature Elemental Text:no text PT:5/5 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters the battlefield, put a 0/1 green Plant creature token onto the battlefield for each land you control. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Plant | TokenTypes$ Creature,Plant | TokenOwner$ You | TokenColors$ Green | TokenPower$ 0 | TokenToughness$ 1 +SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Plant | TokenTypes$ Creature,Plant | TokenOwner$ You | TokenColors$ Green | TokenPower$ 0 | TokenToughness$ 1 | References$ X SVar:X:Count$NumTypeYouCtrl.Land T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Land.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPutCounterAll | OptionalDecider$ You | TriggerDescription$ Landfall - Whenever a land enters the battlefield under your control, you may put a +1/+1 counter on each Plant creature you control. SVar:TrigPutCounterAll:AB$PutCounterAll | Cost$ 0 | ValidCards$ Creature.Plant+YouCtrl | CounterType$ P1P1 | CounterNum$ 1 diff --git a/res/cardsfolder/a/awe_strike.txt b/res/cardsfolder/a/awe_strike.txt index 876cb11ecec..17e19d637f0 100644 --- a/res/cardsfolder/a/awe_strike.txt +++ b/res/cardsfolder/a/awe_strike.txt @@ -4,7 +4,7 @@ Types:Instant Text:no text A:SP$ Effect | Cost$ W | ValidTgts$ Creature | TgtPrompt$ Select target creature to entrance | Name$ Awe Struck | ReplacementEffects$ StrikeWithAwe | Triggers$ OutOfSight | SVars$ ExileEffect,GainLifeInstead,X | RememberObjects$ Targeted | AILogic$ Fog | SpellDescription$ The next time target creature would deal damage this turn, prevent that damage. You gain life equal to the damage prevented this way. SVar:StrikeWithAwe:Event$ DamageDone | ValidSource$ Card.IsRemembered | ReplaceWith$ GainLifeInstead | PreventionEffect$ True | Description$ The next time the targeted creature would deal damage this turn, prevent that damage. You gain life equal to the damage prevented this way. -SVar:GainLifeInstead:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | SubAbility$ ExileEffect +SVar:GainLifeInstead:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | SubAbility$ ExileEffect | References$ X SVar:X:ReplaceCount$DamageAmount SVar:OutOfSight:Mode$ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Creature.IsRemembered | Execute$ ExileEffect | Static$ True SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Exile diff --git a/res/cardsfolder/b/backfire.txt b/res/cardsfolder/b/backfire.txt index ec19a344814..58aff33fcf3 100644 --- a/res/cardsfolder/b/backfire.txt +++ b/res/cardsfolder/b/backfire.txt @@ -5,7 +5,7 @@ Text:no text K:Enchant creature A:SP$ Attach | Cost$ U | ValidTgts$ Creature | AILogic$ Curse T:Mode$ DamageDone | ValidSource$ Card.AttachedBy | ValidTarget$ You | TriggerZones$ Battlefield | Execute$ TrigDealDamage | TriggerDescription$ Whenever enchanted creature deals damage to you, CARDNAME deals that much damage to that creature's controller. -SVar:TrigDealDamage:AB$ DealDamage | Cost$ 0 | Defined$ TriggeredSourceController | NumDmg$ X +SVar:TrigDealDamage:AB$ DealDamage | Cost$ 0 | Defined$ TriggeredSourceController | NumDmg$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/backfire.jpg diff --git a/res/cardsfolder/b/backlash.txt b/res/cardsfolder/b/backlash.txt index 5a0fbf49299..359672a8c30 100644 --- a/res/cardsfolder/b/backlash.txt +++ b/res/cardsfolder/b/backlash.txt @@ -3,7 +3,7 @@ ManaCost:1 B R Types:Instant Text:no text A:SP$ Tap | Cost$ 1 B R| ValidTgts$ Creature.untapped | TgtPrompt$ Select an untapped creature | SubAbility$ DBDamage | SpellDescription$ Tap target untapped creature. That creature deals damage equal to its power to its controller. -SVar:DBDamage:DB$DealDamage | Cost$ 0 | Defined$ TargetedController | DamageSource$ Targeted | NumDmg$ X +SVar:DBDamage:DB$DealDamage | Cost$ 0 | Defined$ TargetedController | DamageSource$ Targeted | NumDmg$ X | References$ X SVar:X:Targeted$CardPower SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/backlash.jpg diff --git a/res/cardsfolder/b/bala_ged_thief.txt b/res/cardsfolder/b/bala_ged_thief.txt index 1f2cf6131d8..45cc516d45e 100644 --- a/res/cardsfolder/b/bala_ged_thief.txt +++ b/res/cardsfolder/b/bala_ged_thief.txt @@ -5,7 +5,7 @@ Text:no text PT:2/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ DBDiscard | TriggerDescription$ Whenever CARDNAME or another Ally enters the battlefield under your control, target player reveals a number of cards from his or her hand equal to the number of Allies you control. You choose one of them. That player discards that card. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Ally.Other+YouCtrl | TriggerZones$ Battlefield | Execute$ DBDiscard | Secondary$ True | TriggerDescription$ Whenever CARDNAME or another Ally enters the battlefield under your control, target player reveals a number of cards from his or her hand equal to the number of Allies you control. You choose one of them. That player discards that card. -SVar:DBDiscard:DB$ Discard | ValidTgts$ Player | NumCards$ 1 | RevealNumber$ X | Mode$ RevealYouChoose | DiscardValid$ Card +SVar:DBDiscard:DB$ Discard | ValidTgts$ Player | NumCards$ 1 | RevealNumber$ X | Mode$ RevealYouChoose | DiscardValid$ Card | References$ X SVar:X:Count$TypeYouCtrl.Ally SVar:BuffedBy:Ally SVar:Rarity:Rare diff --git a/res/cardsfolder/b/balance_of_power.txt b/res/cardsfolder/b/balance_of_power.txt index c0ff220fd10..632a440cd4b 100644 --- a/res/cardsfolder/b/balance_of_power.txt +++ b/res/cardsfolder/b/balance_of_power.txt @@ -2,7 +2,7 @@ Name:Balance of Power ManaCost:3 U U Types:Sorcery Text:no text -A:SP$ Draw | Cost$ 3 U U | NumCards$ Y | Defined$ You | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | ConditionPresent$ Card.YouDontCtrl | ConditionSVarCompare$ GTX | ConditionZone$ Hand | SpellDescription$ If target opponent has more cards in hand than you, draw cards equal to the difference. +A:SP$ Draw | Cost$ 3 U U | NumCards$ Y | Defined$ You | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | ConditionPresent$ Card.YouDontCtrl | ConditionSVarCompare$ GTX | ConditionZone$ Hand | References$ X,Y | SpellDescription$ If target opponent has more cards in hand than you, draw cards equal to the difference. SVar:X:Count$InYourHand SVar:Y:Count$InOppHand/Minus.X SVar:RemAIDeck:True diff --git a/res/cardsfolder/b/balduvian_rage.txt b/res/cardsfolder/b/balduvian_rage.txt index 8c7073eced5..5ca4b0e68f2 100644 --- a/res/cardsfolder/b/balduvian_rage.txt +++ b/res/cardsfolder/b/balduvian_rage.txt @@ -2,7 +2,7 @@ Name:Balduvian Rage ManaCost:X R Types:Instant Text:no text -A:SP$ Pump | Cost$ X R | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | NumAtt$ +X | SpellDescription$ Target attacking creature gets +X/+0 until end of turn. | SubAbility$ DBDraw +A:SP$ Pump | Cost$ X R | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | NumAtt$ +X | References$ X | SpellDescription$ Target attacking creature gets +X/+0 until end of turn. | SubAbility$ DBDraw SVar:DBDraw:DB$Draw | NumCards$ 1 | NextUpkeep$ True | SpellDescription$ Draw a card at the beginning of the next upkeep. SVar:X:Count$xPaid SVar:Rarity:Uncommon diff --git a/res/cardsfolder/b/balefire_dragon.txt b/res/cardsfolder/b/balefire_dragon.txt index f1c71acba97..f503f16cf30 100644 --- a/res/cardsfolder/b/balefire_dragon.txt +++ b/res/cardsfolder/b/balefire_dragon.txt @@ -5,7 +5,7 @@ Text:no text PT:6/6 K:Flying T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigDamage | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, it deals that much damage to each creature that player controls. -SVar:TrigDamage:AB$ DamageAll | Cost$ 0 | NumDmg$ X | ValidCards$ Creature.YouDontCtrl +SVar:TrigDamage:AB$ DamageAll | Cost$ 0 | NumDmg$ X | ValidCards$ Creature.YouDontCtrl | References$ X SVar:X:TriggerCount$DamageAmount SVar:MustBeBlocked:True SVar:Rarity:Mythic diff --git a/res/cardsfolder/b/baleful_stare.txt b/res/cardsfolder/b/baleful_stare.txt index 0c1c568d158..45269d90c0f 100644 --- a/res/cardsfolder/b/baleful_stare.txt +++ b/res/cardsfolder/b/baleful_stare.txt @@ -3,7 +3,7 @@ ManaCost:2 U Types:Sorcery Text:no text A:SP$ RevealHand | Cost$ 2 U | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | SubAbility$ DBDraw | SpellDescription$ Target opponent reveals his or her hand. You draw a card for each Mountain and red card in it. -SVar:DBDraw:DB$Draw | NumCards$ X +SVar:DBDraw:DB$Draw | NumCards$ X | References$ X,Y SVar:X:Count$TypeInOppHand.Mountain/Plus.Y SVar:Y:Count$RedInOppHand SVar:RemRandomDeck:True diff --git a/res/cardsfolder/b/ballista_squad.txt b/res/cardsfolder/b/ballista_squad.txt index 41cc319938f..40ff0078ad0 100644 --- a/res/cardsfolder/b/ballista_squad.txt +++ b/res/cardsfolder/b/ballista_squad.txt @@ -3,7 +3,7 @@ ManaCost:3 W Types:Creature Human Rebel Text:no text PT:2/2 -A:AB$ DealDamage | Cost$ X W T | ValidTgts$ Creature.attacking,Creature.blocking | TgtPrompt$ Select target attacking or blocking creature | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target attacking or blocking creature. +A:AB$ DealDamage | Cost$ X W T | ValidTgts$ Creature.attacking,Creature.blocking | TgtPrompt$ Select target attacking or blocking creature | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to target attacking or blocking creature. SVar:X:Count$xPaid SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/ballista_squad.jpg diff --git a/res/cardsfolder/b/balshan_beguiler.txt b/res/cardsfolder/b/balshan_beguiler.txt index 74f8287f554..b3d52d13b3c 100644 --- a/res/cardsfolder/b/balshan_beguiler.txt +++ b/res/cardsfolder/b/balshan_beguiler.txt @@ -4,7 +4,7 @@ Types:Creature Human Wizard Text:no text PT:1/1 T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ BalshanDig | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, that player reveals the top two cards of his or her library. You choose one of those cards and put it into his or her graveyard. -SVar:BalshanDig:AB$ Dig | Cost$ 0 | DefinedPlayer$ TriggeredTarget | DigNum$ 2 | ChangeNum$ 1 | DestinationZone$ Graveyard | LibraryPosition2$ 0 | Reveal$ True +SVar:BalshanDig:AB$ Dig | Cost$ 0 | Defined$ TriggeredTarget | DigNum$ 2 | ChangeNum$ 1 | DestinationZone$ Graveyard | LibraryPosition2$ 0 | Reveal$ True SVar:RemAIDeck:True SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/balshan_beguiler.jpg diff --git a/res/cardsfolder/b/bane_of_the_living.txt b/res/cardsfolder/b/bane_of_the_living.txt index 31c006cbe64..d1503888eaa 100644 --- a/res/cardsfolder/b/bane_of_the_living.txt +++ b/res/cardsfolder/b/bane_of_the_living.txt @@ -5,7 +5,7 @@ Text:no text PT:4/3 K:Morph:X B B T:Mode$ TurnFaceUp | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ When CARDNAME is turned face up, all creatures get -X/-X until end of turn. -SVar:TrigPumpAll:AB$PumpAll | Cost$ 0 | ValidCards$ Creature | NumAtt$ -X | NumDef$ -X +SVar:TrigPumpAll:AB$PumpAll | Cost$ 0 | ValidCards$ Creature | NumAtt$ -X | NumDef$ -X | References$ X SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/b/banefire.txt b/res/cardsfolder/b/banefire.txt index c0aa54ab0c2..538012a745d 100644 --- a/res/cardsfolder/b/banefire.txt +++ b/res/cardsfolder/b/banefire.txt @@ -2,8 +2,8 @@ Name:Banefire ManaCost:X R Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ X R | Tgt$ TgtCP | NumDmg$ X | ConditionCheckSVar$ X | ConditionSVarCompare$ LT5 | SubAbility$ BanefulDmg | SpellDescription$ CARDNAME deals X damage to target creature or player. -SVar:BanefulDmg:DB$ DealDamage | Defined$ Targeted | NumDmg$ X | NoPrevention$ True | ConditionCheckSVar$ X | ConditionSVarCompare$ GE5 +A:SP$ DealDamage | Cost$ X R | Tgt$ TgtCP | NumDmg$ X | ConditionCheckSVar$ X | ConditionSVarCompare$ LT5 | SubAbility$ BanefulDmg | References$ X | SpellDescription$ CARDNAME deals X damage to target creature or player. +SVar:BanefulDmg:DB$ DealDamage | Defined$ Targeted | NumDmg$ X | NoPrevention$ True | ConditionCheckSVar$ X | ConditionSVarCompare$ GE5 | References$ X S:Mode$ Continuous | Affected$ Self | AffectedZone$ Stack | EffectZone$ All | CharacteristicDefining$ True | AddHiddenKeyword$ HIDDEN CARDNAME can't be countered. | CheckSVar$ X | SVarCompare$ GE5 | Description$ If X is 5 or more, CARDNAME can't be countered by spells or abilities and the damage can't be prevented. SVar:X:Count$xPaid Var:PayX:5 diff --git a/res/cardsfolder/b/baneful_omen.txt b/res/cardsfolder/b/baneful_omen.txt index 851a882d03f..6a484c5fb2a 100644 --- a/res/cardsfolder/b/baneful_omen.txt +++ b/res/cardsfolder/b/baneful_omen.txt @@ -4,7 +4,7 @@ Types:Enchantment Text:no text T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDig | OptionalDecider$ You | TriggerDescription$ At the beginning of your end step, you may reveal the top card of your library. If you do, each opponent loses life equal to that card's converted mana cost. SVar:TrigDig:AB$Dig | Cost$ 0 | DigNum$ 1 | Reveal$ True | ChangeNum$ All | ChangeValid$ Card | DestinationZone$ Library | LibraryPosition$ 0 | LibraryPosition2$ 0 | RememberChanged$ True | SubAbility$ DBLose -SVar:DBLose:DB$LoseLife | LifeAmount$ X | Defined$ Opponent | SubAbility$ DBCleanup +SVar:DBLose:DB$LoseLife | LifeAmount$ X | Defined$ Opponent | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:X:Remembered$CardManaCost SVar:Rarity:Rare diff --git a/res/cardsfolder/b/banewasp_affliction.txt b/res/cardsfolder/b/banewasp_affliction.txt index 5fd3eb7140c..b92d560fcdd 100644 --- a/res/cardsfolder/b/banewasp_affliction.txt +++ b/res/cardsfolder/b/banewasp_affliction.txt @@ -4,7 +4,7 @@ Types:Enchantment Aura Text:no text A:SP$ Attach | Cost$ 1 B | ValidTgts$ Creature | AILogic$ Curse T:Mode$ ChangesZone | ValidCard$ Card.AttachedBy | Origin$ Battlefield | Destination$ Graveyard | TriggerZones$ Battlefield | Execute$ TrigLose | TriggerDescription$ When enchanted creature dies, that creature's controller loses life equal to its toughness. -SVar:TrigLose:AB$ LoseLife | Cost$ 0 | Defined$ TriggeredCardController | LifeAmount$ X +SVar:TrigLose:AB$ LoseLife | Cost$ 0 | Defined$ TriggeredCardController | LifeAmount$ X | References$ X SVar:X:TriggeredCard$CardToughness SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/banewasp_affliction.jpg diff --git a/res/cardsfolder/b/banshee.txt b/res/cardsfolder/b/banshee.txt index 7dfd4abce67..cf6a57b8e32 100644 --- a/res/cardsfolder/b/banshee.txt +++ b/res/cardsfolder/b/banshee.txt @@ -3,8 +3,8 @@ ManaCost:2 B B Types:Creature Spirit Text:no text PT:0/1 -A:AB$ DealDamage | Cost$ X T | Tgt$ TgtCP | NumDmg$ HalfXDown | SubAbility$ DBDamage | SpellDescription$ CARDNAME deals half X damage, rounded down, to target creature or player, and half X damage, rounded up, to you. -SVar:DBDamage:DB$ DealDamage | Defined$ You | NumDmg$ HalfXUp +A:AB$ DealDamage | Cost$ X T | Tgt$ TgtCP | NumDmg$ HalfXDown | SubAbility$ DBDamage | References$ X,HalfXDown | SpellDescription$ CARDNAME deals half X damage, rounded down, to target creature or player, and half X damage, rounded up, to you. +SVar:DBDamage:DB$ DealDamage | Defined$ You | NumDmg$ HalfXUp | References$ HalfXUp SVar:X:Count$xPaid SVar:HalfXDown:Count$xPaid/HalfDown SVar:HalfXUp:Count$xPaid/HalfUp diff --git a/res/cardsfolder/b/barbed_shocker.txt b/res/cardsfolder/b/barbed_shocker.txt index 0bce9520523..6bdd6c480cd 100644 --- a/res/cardsfolder/b/barbed_shocker.txt +++ b/res/cardsfolder/b/barbed_shocker.txt @@ -7,7 +7,7 @@ K:Trample K:Haste T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | TriggerZones$ Battlefield | Execute$ TrigDiscard | TriggerDescription$ Whenever CARDNAME deals damage to a player, that player discards all the cards in his or her hand, then draws that many cards. SVar:TrigDiscard:AB$ Discard | Cost$ 0 | Defined$ TriggeredTarget | Mode$ Hand | RememberDiscarded$ True | SubAbility$ DBDraw | SpellDescription$ Discard hand -SVar:DBDraw:DB$ Draw | NumCards$ X | Defined$ TriggeredTarget | SubAbility$ DBCleanup | SpellDescription$ Draw that many cards +SVar:DBDraw:DB$ Draw | NumCards$ X | Defined$ TriggeredTarget | SubAbility$ DBCleanup | SpellDescription$ Draw that many cards | References$ X SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:Rarity:Uncommon diff --git a/res/cardsfolder/b/bargaining_table.txt b/res/cardsfolder/b/bargaining_table.txt index 2e8ce27928b..11fa11c19c8 100644 --- a/res/cardsfolder/b/bargaining_table.txt +++ b/res/cardsfolder/b/bargaining_table.txt @@ -3,7 +3,7 @@ ManaCost:5 Types:Artifact Text:no text # The ability is untargeted (see: http://magiccards.info/mm/en/288.html), so the opponent is automaticaly chosen. This has to be modified as soon as multiplayer formats get supported. -A:AB$ Draw| Cost$ X T | NumCards$ 1 | SpellDescription$ Draw a card. X is the number of cards in an opponent's hand. +A:AB$ Draw| Cost$ X T | NumCards$ 1 | References$ X | SpellDescription$ Draw a card. X is the number of cards in an opponent's hand. SVar:X:Count$InOppHand SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/bargaining_table.jpg diff --git a/res/cardsfolder/b/barrel_down_sokenzan.txt b/res/cardsfolder/b/barrel_down_sokenzan.txt index 0f956bf5a20..9fb5c90d270 100644 --- a/res/cardsfolder/b/barrel_down_sokenzan.txt +++ b/res/cardsfolder/b/barrel_down_sokenzan.txt @@ -2,8 +2,8 @@ Name:Barrel Down Sokenzan ManaCost:2 R Types:Instant Arcane Text:no text -A:SP$ ChangeZone | Cost$ 2 R | Origin$ Battlefield | Destination$ Hand | ChangeType$ Mountain.YouCtrl | ChangeNum$ X | Hidden$ True | RememberChanged$ True | SubAbility$ DBDamage | SpellDescription$ Sweep - Return any number of Mountains you control to their owner's hand. CARDNAME deals damage to target creature equal to twice the number of Mountains returned this way. -SVar:DBDamage:DB$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ Y +A:SP$ ChangeZone | Cost$ 2 R | Origin$ Battlefield | Destination$ Hand | ChangeType$ Mountain.YouCtrl | ChangeNum$ X | Hidden$ True | RememberChanged$ True | SubAbility$ DBDamage | References$ X | SpellDescription$ Sweep - Return any number of Mountains you control to their owner's hand. CARDNAME deals damage to target creature equal to twice the number of Mountains returned this way. +SVar:DBDamage:DB$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ Y | References$ Y SVar:X:Count$Valid Mountain.YouCtrl SVar:Y:Remembered$Amount.Twice SVar:RemAIDeck:True diff --git a/res/cardsfolder/b/barreling_attack.txt b/res/cardsfolder/b/barreling_attack.txt index c3edd2f325b..01537728675 100644 --- a/res/cardsfolder/b/barreling_attack.txt +++ b/res/cardsfolder/b/barreling_attack.txt @@ -5,7 +5,7 @@ Text:no text A:SP$ Pump | Cost$ 2 R R | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ Trample | SubAbility$ DBAnimate | SpellDescription$ Target creature gains trample until end of turn. When that creature becomes blocked this turn, it gets +1/+1 until end of turn for each creature blocking it. SVar:DBAnimate:DB$ Animate | Defined$ Targeted | Triggers$ TrigBounce | sVars$ ABBarrelingPump,BarrelingX SVar:TrigBounce:Mode$ AttackerBlocked | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ ABBarrelingPump | TriggerDescription$ When CARDNAME becomes blocked this turn, it gets +1/+1 until end of turn for each creature blocking it. -SVar:ABBarrelingPump:AB$ Pump | Cost$ 0 | Defined$ Self | NumAtt$ +BarrelingX | NumDef$ +BarrelingX +SVar:ABBarrelingPump:AB$ Pump | Cost$ 0 | Defined$ Self | NumAtt$ +BarrelingX | NumDef$ +BarrelingX | References$ BarrelingX SVar:BarrelingX:TriggerCount$NumBlockers SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/barreling_attack.jpg diff --git a/res/cardsfolder/b/barrins_codex.txt b/res/cardsfolder/b/barrins_codex.txt index 71e634808b2..6c137c24588 100644 --- a/res/cardsfolder/b/barrins_codex.txt +++ b/res/cardsfolder/b/barrins_codex.txt @@ -4,7 +4,7 @@ Types:Artifact Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | OptionalDecider$ You | TriggerDescription$ At the beginning of your upkeep, you may put a page counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ PAGE | CounterNum$ 1 -A:AB$ Draw | Cost$ 4 T Sac<1/CARDNAME> | NumCards$ X | SpellDescription$ Draw X cards, where X is the number of page counters on CARDNAME. +A:AB$ Draw | Cost$ 4 T Sac<1/CARDNAME> | NumCards$ X | References$ X | SpellDescription$ Draw X cards, where X is the number of page counters on CARDNAME. SVar:X:Count$CardCounters.PAGE SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/b/barrow_ghoul.txt b/res/cardsfolder/b/barrow_ghoul.txt index 5f65cc04fe2..8f4f39c66d1 100644 --- a/res/cardsfolder/b/barrow_ghoul.txt +++ b/res/cardsfolder/b/barrow_ghoul.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigChangeZone | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, sacrifice CARDNAME unless you exile the top creature card of your graveyard. SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Exile | Hidden$ True | ChangeType$ Creature.YouOwn+TopGraveyardCreature | RememberChanged$ True | SubAbility$ DBSac -SVar:DBSac:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 +SVar:DBSac:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:NeedsToPlayVar:Y GE2 diff --git a/res/cardsfolder/b/baru_fist_of_krosa.txt b/res/cardsfolder/b/baru_fist_of_krosa.txt index c967124fd38..6e44949329a 100644 --- a/res/cardsfolder/b/baru_fist_of_krosa.txt +++ b/res/cardsfolder/b/baru_fist_of_krosa.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Human Druid Text:no text PT:4/4 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Forest | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a Forest enters the battlefield, green creatures you control get +1/+1 and gain trample until end of turn. -A:AB$ Token | Cost$ Discard<1/Card.namedBaru, Fist of Krosa> | TokenAmount$ 1 | TokenName$ Wurm | TokenTypes$ Creature,Wurm | TokenOwner$ You | TokenColors$ Green | TokenPower$ X | TokenToughness$ X | CostDesc$ Grandeur - Discard another card named CARDNAME: | SpellDescription$ Put an X/X green Wurm creature token onto the battlefield, where X is the number of lands you control. +A:AB$ Token | Cost$ Discard<1/Card.namedBaru, Fist of Krosa> | TokenAmount$ 1 | TokenName$ Wurm | TokenTypes$ Creature,Wurm | TokenOwner$ You | TokenColors$ Green | TokenPower$ X | TokenToughness$ X | CostDesc$ Grandeur - Discard another card named CARDNAME: | References$ X | SpellDescription$ Put an X/X green Wurm creature token onto the battlefield, where X is the number of lands you control. SVar:X:Count$Valid Land.YouCtrl SVar:TrigPump:AB$PumpAll | Cost$ 0 | ValidCards$ Creature.Green+YouCtrl | NumAtt$ +1 | NumDef$ +1 | KW$ Trample SVar:BuffedBy:Forest diff --git a/res/cardsfolder/b/battle_hymn.txt b/res/cardsfolder/b/battle_hymn.txt index 8b177246cac..2520fd8c0ba 100644 --- a/res/cardsfolder/b/battle_hymn.txt +++ b/res/cardsfolder/b/battle_hymn.txt @@ -2,7 +2,7 @@ Name:Battle Hymn ManaCost:1 R Types:Instant Text:no text -A:SP$ Mana | Cost$ 1 R | Produced$ R | Amount$ X | SpellDescription$ Add R to your mana pool for each creature you control. +A:SP$ Mana | Cost$ 1 R | Produced$ R | Amount$ X | References$ X | SpellDescription$ Add R to your mana pool for each creature you control. SVar:X:Count$Valid Creature.YouCtrl SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/b/battlefield_medic.txt b/res/cardsfolder/b/battlefield_medic.txt index f8c83c82ade..7dc3318e43f 100644 --- a/res/cardsfolder/b/battlefield_medic.txt +++ b/res/cardsfolder/b/battlefield_medic.txt @@ -3,7 +3,7 @@ ManaCost:1 W Types:Creature Human Cleric Text:no text PT:1/1 -A:AB$ PreventDamage | Cost$ T | ValidTgts$ Creature | Amount$ X | TgtPrompt$ Select target creature | SpellDescription$ Prevent the next X damage that would be dealt to target creature this turn, where X is the number of Clerics on the battlefield. +A:AB$ PreventDamage | Cost$ T | ValidTgts$ Creature | Amount$ X | TgtPrompt$ Select target creature | References$ X | SpellDescription$ Prevent the next X damage that would be dealt to target creature this turn, where X is the number of Clerics on the battlefield. SVar:X:Count$TypeOnBattlefield.Cleric SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/battlefield_medic.jpg diff --git a/res/cardsfolder/b/batwing_brume.txt b/res/cardsfolder/b/batwing_brume.txt index 1a6f2d9fbe3..588e2822f66 100644 --- a/res/cardsfolder/b/batwing_brume.txt +++ b/res/cardsfolder/b/batwing_brume.txt @@ -1,15 +1,15 @@ -Name:Batwing Brume -ManaCost:1 WB -Types:Instant -Text:no text -A:SP$ Fog | Cost$ 1 WB | ConditionManaSpent$ W | SubAbility$ DBLoseLifeYou | SpellDescription$ Prevent all combat damage that would be dealt this turn if W was spent to cast CARDNAME. Each player loses 1 life for each attacking creature he or she controls if B was spent to cast CARDNAME. (Do both if WB was spent.) -SVar:DBLoseLifeYou:DB$ LoseLife | LifeAmount$ X | Defined$ You | ConditionManaSpent$ B | SubAbility$ DBLoseLifeOpp -SVar:DBLoseLifeOpp:DB$ LoseLife | LifeAmount$ Y | Defined$ Opponent | ConditionManaSpent$ B -SVar:X:Count$Valid Creature.YouCtrl+attacking -SVar:Y:Count$Valid Creature.YouDontCtrl+attacking -SVar:RemAIDeck:True -SVar:Rarity:Uncommon -SVar:Picture:http://www.wizards.com/global/images/magic/general/batwing_brume.jpg -SetInfo:EVE|Uncommon|http://magiccards.info/scans/en/eve/81.jpg -Oracle:Prevent all combat damage that would be dealt this turn if {W} was spent to cast Batwing Brume. Each player loses 1 life for each attacking creature he or she controls if {B} was spent to cast Batwing Brume. (Do both if {W}{B} was spent.) +Name:Batwing Brume +ManaCost:1 WB +Types:Instant +Text:no text +A:SP$ Fog | Cost$ 1 WB | ConditionManaSpent$ W | SubAbility$ DBLoseLifeYou | SpellDescription$ Prevent all combat damage that would be dealt this turn if W was spent to cast CARDNAME. Each player loses 1 life for each attacking creature he or she controls if B was spent to cast CARDNAME. (Do both if WB was spent.) +SVar:DBLoseLifeYou:DB$ LoseLife | LifeAmount$ X | Defined$ You | ConditionManaSpent$ B | SubAbility$ DBLoseLifeOpp | References$ X +SVar:DBLoseLifeOpp:DB$ LoseLife | LifeAmount$ Y | Defined$ Opponent | ConditionManaSpent$ B | References$ Y +SVar:X:Count$Valid Creature.YouCtrl+attacking +SVar:Y:Count$Valid Creature.YouDontCtrl+attacking +SVar:RemAIDeck:True +SVar:Rarity:Uncommon +SVar:Picture:http://www.wizards.com/global/images/magic/general/batwing_brume.jpg +SetInfo:EVE|Uncommon|http://magiccards.info/scans/en/eve/81.jpg +Oracle:Prevent all combat damage that would be dealt this turn if {W} was spent to cast Batwing Brume. Each player loses 1 life for each attacking creature he or she controls if {B} was spent to cast Batwing Brume. (Do both if {W}{B} was spent.) End \ No newline at end of file diff --git a/res/cardsfolder/b/beacon_of_creation.txt b/res/cardsfolder/b/beacon_of_creation.txt index d883276b722..3d81081582e 100644 --- a/res/cardsfolder/b/beacon_of_creation.txt +++ b/res/cardsfolder/b/beacon_of_creation.txt @@ -2,7 +2,7 @@ Name:Beacon of Creation ManaCost:3 G Types:Sorcery Text:no text -A:SP$ Token | Cost$ 3 G | TokenAmount$ X | TokenName$ Insect | TokenTypes$ Creature,Insect | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | SubAbility$ DBShuffle | SpellDescription$ Put a 1/1 green Insect creature token onto the battlefield for each Forest you control. Shuffle CARDNAME into its owner's library. +A:SP$ Token | Cost$ 3 G | TokenAmount$ X | TokenName$ Insect | TokenTypes$ Creature,Insect | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | SubAbility$ DBShuffle | References$ X | SpellDescription$ Put a 1/1 green Insect creature token onto the battlefield for each Forest you control. Shuffle CARDNAME into its owner's library. SVar:DBShuffle:DB$ChangeZone | Origin$ Stack | Destination$ Library | Shuffle$ True SVar:X:Count$TypeYouCtrl.Forest SVar:Rarity:Rare diff --git a/res/cardsfolder/b/beacon_of_immortality.txt b/res/cardsfolder/b/beacon_of_immortality.txt index e707de757e7..efb73b8200e 100644 --- a/res/cardsfolder/b/beacon_of_immortality.txt +++ b/res/cardsfolder/b/beacon_of_immortality.txt @@ -2,7 +2,7 @@ Name:Beacon of Immortality ManaCost:5 W Types:Instant Text:no text -A:SP$ GainLife | Cost$ 5 W | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ X | SubAbility$ DBShuffle | SpellDescription$ Double target player's life total. Shuffle CARDNAME into its owner's library. +A:SP$ GainLife | Cost$ 5 W | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ X | SubAbility$ DBShuffle | References$ X | SpellDescription$ Double target player's life total. Shuffle CARDNAME into its owner's library. SVar:DBShuffle:DB$ChangeZone | Origin$ Stack | Destination$ Library | Shuffle$ True SVar:X:TargetedPlayer$LifeTotal SVar:Rarity:Rare diff --git a/res/cardsfolder/b/beguiler_of_wills.txt b/res/cardsfolder/b/beguiler_of_wills.txt index 31d8c1f8660..ea5671a4c4a 100644 --- a/res/cardsfolder/b/beguiler_of_wills.txt +++ b/res/cardsfolder/b/beguiler_of_wills.txt @@ -3,7 +3,7 @@ ManaCost:3 U U Types:Creature Human Wizard Text:no text PT:1/1 -A:AB$ GainControl | Cost$ T | ValidTgts$ Creature.powerLEX | TgtPrompt$ Select target creature with power less than or equal to the number of creatures you control | SpellDescription$ Gain control of target creature with power less than or equal to the number of creatures you control. +A:AB$ GainControl | Cost$ T | ValidTgts$ Creature.powerLEX | TgtPrompt$ Select target creature with power less than or equal to the number of creatures you control | References$ X | SpellDescription$ Gain control of target creature with power less than or equal to the number of creatures you control. SVar:X:Count$Valid Creature.YouCtrl SVar:Rarity:Mythic SVar:Picture:http://www.wizards.com/global/images/magic/general/beguiler_of_wills.jpg diff --git a/res/cardsfolder/b/belbes_armor.txt b/res/cardsfolder/b/belbes_armor.txt index 56f61ea9a8b..e751396a1f5 100644 --- a/res/cardsfolder/b/belbes_armor.txt +++ b/res/cardsfolder/b/belbes_armor.txt @@ -2,7 +2,7 @@ Name:Belbe's Armor ManaCost:3 Types:Artifact Text:no text -A:AB$ Pump | Cost$ X T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ +X | SpellDescription$ Target creature gets -X/+X until end of turn. +A:AB$ Pump | Cost$ X T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ +X | References$ X | SpellDescription$ Target creature gets -X/+X until end of turn. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/b/belltower_sphinx.txt b/res/cardsfolder/b/belltower_sphinx.txt index e9bf13c3f5f..dedfcb9b3c6 100644 --- a/res/cardsfolder/b/belltower_sphinx.txt +++ b/res/cardsfolder/b/belltower_sphinx.txt @@ -5,7 +5,7 @@ Text:no text PT:2/5 K:Flying T:Mode$ DamageDone | ValidTarget$ Card.Self | Execute$ TrigMill | TriggerDescription$ Whenever a source deals damage to CARDNAME, that source's controller puts that many cards from the top of his or her library into his or her graveyard. -SVar:TrigMill:AB$Mill | Cost$ 0 | Defined$ TriggeredSourceController | NumCards$ X +SVar:TrigMill:AB$Mill | Cost$ 0 | Defined$ TriggeredSourceController | NumCards$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/belltower_sphinx.jpg diff --git a/res/cardsfolder/b/ben_ben_akki_hermit.txt b/res/cardsfolder/b/ben_ben_akki_hermit.txt index b2fc82dbba1..737148e3cc8 100644 --- a/res/cardsfolder/b/ben_ben_akki_hermit.txt +++ b/res/cardsfolder/b/ben_ben_akki_hermit.txt @@ -3,7 +3,7 @@ ManaCost:2 R R Types:Legendary Creature Goblin Shaman Text:no text PT:1/1 -A:AB$ DealDamage | Cost$ T | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking Creature | NumDmg$ X | SpellDescription$ Ben-Ben, Akki Hermit deals damage to target attacking creature equal to the number of untapped Mountains you control. +A:AB$ DealDamage | Cost$ T | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking Creature | NumDmg$ X | References$ X | SpellDescription$ Ben-Ben, Akki Hermit deals damage to target attacking creature equal to the number of untapped Mountains you control. SVar:X:Count$Valid Mountain.untapped+YouCtrl SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/ben_ben_akki_hermit.jpg diff --git a/res/cardsfolder/b/benevolent_unicorn.txt b/res/cardsfolder/b/benevolent_unicorn.txt index 1126e0b21fc..0f9a86f573e 100644 --- a/res/cardsfolder/b/benevolent_unicorn.txt +++ b/res/cardsfolder/b/benevolent_unicorn.txt @@ -4,7 +4,7 @@ Types:Creature Unicorn Text:no text PT:1/2 R:Event$ DamageDone | ValidSource$ Spell | ValidTarget$ Creature,Player | ReplaceWith$ DmgMinus1 | Description$ If a spell would deal damage to a creature or player, it deals that much damage minus 1 to that creature or player instead. -SVar:DmgMinus1:AB$DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X +SVar:DmgMinus1:AB$DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X | References$ X SVar:X:ReplaceCount$DamageAmount/Minus.1 SVar:Picture:http://www.wizards.com/global/images/magic/general/benevolent_unicorn.jpg SetInfo:MIR|Common|http://magiccards.info/scans/en/mr/208.jpg diff --git a/res/cardsfolder/b/berserk.txt b/res/cardsfolder/b/berserk.txt index 737d9149dd4..9b2e9e34622 100644 --- a/res/cardsfolder/b/berserk.txt +++ b/res/cardsfolder/b/berserk.txt @@ -2,7 +2,7 @@ Name:Berserk ManaCost:G Types:Instant Text:no text -A:SP$ Pump | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ X | KW$ Trample & HIDDEN At the beginning of the next end step, destroy CARDNAME if it attacked this turn. | ActivationPhases$ Upkeep,Draw,Main1,BeginCombat,Declare Attackers - Play Instants and Abilities,Declare Blockers - Play Instants and Abilities | SpellDescription$ Cast CARDNAME only before the combat damage step. Target creature gains trample and gets +X/+0 until end of turn, where X is its power. At the beginning of the next end step, destroy that creature if it attacked this turn. +A:SP$ Pump | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ X | KW$ Trample & HIDDEN At the beginning of the next end step, destroy CARDNAME if it attacked this turn. | ActivationPhases$ Upkeep,Draw,Main1,BeginCombat,Declare Attackers - Play Instants and Abilities,Declare Blockers - Play Instants and Abilities | References$ X | SpellDescription$ Cast CARDNAME only before the combat damage step. Target creature gains trample and gets +X/+0 until end of turn, where X is its power. At the beginning of the next end step, destroy that creature if it attacked this turn. SVar:X:Targeted$CardPower SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/b/berserk_murlodont.txt b/res/cardsfolder/b/berserk_murlodont.txt index b1ed91c0a84..43b25d5690b 100644 --- a/res/cardsfolder/b/berserk_murlodont.txt +++ b/res/cardsfolder/b/berserk_murlodont.txt @@ -4,7 +4,7 @@ Types:Creature Beast Text:no text PT:3/3 T:Mode$ AttackerBlocked | ValidCard$ Beast | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a Beast becomes blocked, it gets +1/+1 until end of turn for each creature blocking it. -SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ TriggeredAttacker | NumAtt$ +X | NumDef$ +X +SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ TriggeredAttacker | NumAtt$ +X | NumDef$ +X | References$ X SVar:X:TriggerCount$NumBlockers SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/berserk_murlodont.jpg diff --git a/res/cardsfolder/b/beseech_the_queen.txt b/res/cardsfolder/b/beseech_the_queen.txt index 363e8ce2b75..e74901c4eec 100644 --- a/res/cardsfolder/b/beseech_the_queen.txt +++ b/res/cardsfolder/b/beseech_the_queen.txt @@ -2,7 +2,7 @@ Name:Beseech the Queen ManaCost:2/B 2/B 2/B Types:Sorcery Text:no text -A:SP$ ChangeZone | Cost$ 2/B 2/B 2/B | Origin$ Library | Destination$ Hand | ChangeType$ Card.cmcLEX | ChangeNum$ 1 | SpellDescription$ Search your library for a card with converted mana cost less than or equal to the number of lands you control, reveal it, and put it into your hand. Then shuffle your library. +A:SP$ ChangeZone | Cost$ 2/B 2/B 2/B | Origin$ Library | Destination$ Hand | ChangeType$ Card.cmcLEX | ChangeNum$ 1 | References$ X | SpellDescription$ Search your library for a card with converted mana cost less than or equal to the number of lands you control, reveal it, and put it into your hand. Then shuffle your library. SVar:X:Count$Valid Land.YouCtrl SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/b/binding_agony.txt b/res/cardsfolder/b/binding_agony.txt index 0b47b135e1c..c4f5f114ae6 100644 --- a/res/cardsfolder/b/binding_agony.txt +++ b/res/cardsfolder/b/binding_agony.txt @@ -5,7 +5,7 @@ Text:no text K:Enchant creature A:SP$ Attach | Cost$ 1 B | ValidTgts$ Creature | AILogic$ Curse T:Mode$ DamageDone | ValidTarget$ Card.AttachedBy | TriggerZones$ Battlefield | Execute$ TrigDealDamage | TriggerDescription$ Whenever enchanted creature is dealt damage, CARDNAME deals that much damage to that creature's controller. -SVar:TrigDealDamage:AB$ DealDamage | Cost$ 0 | Defined$ TriggeredTargetController | NumDmg$ X +SVar:TrigDealDamage:AB$ DealDamage | Cost$ 0 | Defined$ TriggeredTargetController | NumDmg$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/binding_agony.jpg diff --git a/res/cardsfolder/b/biomantic_mastery.txt b/res/cardsfolder/b/biomantic_mastery.txt index e926137bca9..6022fe39249 100644 --- a/res/cardsfolder/b/biomantic_mastery.txt +++ b/res/cardsfolder/b/biomantic_mastery.txt @@ -2,7 +2,7 @@ Name:Biomantic Mastery ManaCost:4 GU GU GU Types:Sorcery Text:no text -A:SP$ Draw | Cost$ 4 GU GU GU | NumCards$ X | SpellDescription$ Draw a card for each creature target player controls, then draw a card for each creature another target player controls. +A:SP$ Draw | Cost$ 4 GU GU GU | NumCards$ X | References$ X | SpellDescription$ Draw a card for each creature target player controls, then draw a card for each creature another target player controls. SVar:X:Count$TypeOnBattlefield.Creature SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/biomantic_mastery.jpg diff --git a/res/cardsfolder/b/bioplasm.txt b/res/cardsfolder/b/bioplasm.txt index d0a568efc1d..6c9fc4c1dd7 100644 --- a/res/cardsfolder/b/bioplasm.txt +++ b/res/cardsfolder/b/bioplasm.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigMill | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME attacks, exile the top card of your library. If it's a creature card, CARDNAME gets +X/+Y until end of turn, where X is the exiled creature card's power and Y is its toughness. SVar:TrigMill:AB$ Mill | Cost$ 0 | NumCards$ 1 | Destination$ Exile | RememberMilled$ True | SubAbility$ DBPump -SVar:DBPump:DB$ Pump | NumAtt$ X | NumDef$ Y | ConditionCheckSVar$ Z | ConditionSVarCompare$ EQ1 | SubAbility$ DBCleanup +SVar:DBPump:DB$ Pump | NumAtt$ X | NumDef$ Y | ConditionCheckSVar$ Z | ConditionSVarCompare$ EQ1 | SubAbility$ DBCleanup | References$ X,Y,Z SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$CardPower SVar:Y:Remembered$CardToughness diff --git a/res/cardsfolder/b/biorhythm.txt b/res/cardsfolder/b/biorhythm.txt index 2936ac7f89a..0f7d5189eda 100644 --- a/res/cardsfolder/b/biorhythm.txt +++ b/res/cardsfolder/b/biorhythm.txt @@ -2,8 +2,8 @@ Name:Biorhythm ManaCost:6 G G Types:Sorcery Text:no text -A:SP$ SetLife | Cost$ 6 G G | Defined$ You | LifeAmount$ X | SubAbility$ DBSetLifeOpp | SpellDescription$ Each player's life total becomes the number of creatures he or she controls. -SVar:DBSetLifeOpp:DB$SetLife | Defined$ Opponent | LifeAmount$ Y +A:SP$ SetLife | Cost$ 6 G G | Defined$ You | LifeAmount$ X | SubAbility$ DBSetLifeOpp | References$ X | SpellDescription$ Each player's life total becomes the number of creatures he or she controls. +SVar:DBSetLifeOpp:DB$SetLife | Defined$ Opponent | LifeAmount$ Y | References$ Y SVar:X:Count$Valid Creature.YouCtrl SVar:Y:Count$Valid Creature.YouDontCtrl SVar:Rarity:Rare diff --git a/res/cardsfolder/b/birthing_pod.txt b/res/cardsfolder/b/birthing_pod.txt index f92a72654dd..76fb4cbc4e1 100644 --- a/res/cardsfolder/b/birthing_pod.txt +++ b/res/cardsfolder/b/birthing_pod.txt @@ -2,7 +2,7 @@ Name:Birthing Pod ManaCost:3 PG Types:Artifact Text:no text -A:AB$ ChangeZone | Cost$ 1 PG T Sac<1/Creature> | Origin$ Library | Destination$ Battlefield | ChangeType$ Creature.cmcEQX | ChangeNum$ 1 | SorcerySpeed$ True | StackDescription$ Search your library for a creature card with converted mana cost equal to 1 plus the sacrificed creature's converted mana cost, put that card onto the battlefield, then shuffle your library. | SpellDescription$ Search your library for a creature card with converted mana cost equal to 1 plus the sacrificed creature's converted mana cost, put that card onto the battlefield, then shuffle your library. Activate this ability only any time you could cast a sorcery. +A:AB$ ChangeZone | Cost$ 1 PG T Sac<1/Creature> | Origin$ Library | Destination$ Battlefield | ChangeType$ Creature.cmcEQX | ChangeNum$ 1 | SorcerySpeed$ True | StackDescription$ Search your library for a creature card with converted mana cost equal to 1 plus the sacrificed creature's converted mana cost, put that card onto the battlefield, then shuffle your library. | References$ X | SpellDescription$ Search your library for a creature card with converted mana cost equal to 1 plus the sacrificed creature's converted mana cost, put that card onto the battlefield, then shuffle your library. Activate this ability only any time you could cast a sorcery. SVar:X:Sacrificed$CardManaCost/Plus.1 SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/b/bitter_ordeal.txt b/res/cardsfolder/b/bitter_ordeal.txt index 8475ba8cb97..ba66c7170f5 100644 --- a/res/cardsfolder/b/bitter_ordeal.txt +++ b/res/cardsfolder/b/bitter_ordeal.txt @@ -4,7 +4,7 @@ Types:Sorcery Text:no text A:SP$ ChangeZone | Cost$ 2 B | Origin$ Library | Destination$ Exile | ValidTgts$ Player | ChangeType$ Card | ChangeNum$ 1 | IsCurse$ True | SpellDescription$ Search target player's library for a card and exile it. Then that player shuffles his or her library. T:Mode$ SpellCast | ValidCard$ Card.Self | Execute$ TrigGravestorm | TriggerDescription$ Gravestorm (When you cast this spell, copy it for each permanent put into a graveyard this turn. You may choose new targets for the copies.) -SVar:TrigGravestorm:AB$CopySpell | Cost$ 0 | Defined$ TriggeredSpellAbility | Amount$ GravestormCount +SVar:TrigGravestorm:AB$CopySpell | Cost$ 0 | Defined$ TriggeredSpellAbility | Amount$ GravestormCount | References$ GravestormCount SVar:GravestormCount:Count$ThisTurnEntered_Graveyard_Permanent SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/bitter_ordeal.jpg diff --git a/res/cardsfolder/b/black_mana_battery.txt b/res/cardsfolder/b/black_mana_battery.txt index d9797756daa..ce7e2ae5f1e 100644 --- a/res/cardsfolder/b/black_mana_battery.txt +++ b/res/cardsfolder/b/black_mana_battery.txt @@ -3,7 +3,7 @@ ManaCost:4 Types:Artifact Text:no text A:AB$ PutCounter | Cost$ 2 T | CounterType$ CHARGE | CounterNum$ 1 | SpellDescription$ Put a charge counter on CARDNAME. -A:AB$ Mana | Cost$ T SubCounter | Produced$ B | Amount$ Y | CostDesc$ Tap, Remove any number of charge counters from CARDNAME: | SpellDescription$ Add B to your mana pool, then add an additional B to your mana pool for each charge counter removed this way. +A:AB$ Mana | Cost$ T SubCounter | References$ X,Y | Produced$ B | Amount$ Y | CostDesc$ Tap, Remove any number of charge counters from CARDNAME: | SpellDescription$ Add B to your mana pool, then add an additional B to your mana pool for each charge counter removed this way. SVar:Y:Number$1/Plus.ChosenX SVar:X:XChoice #ChosenX SVar created by Cost payment diff --git a/res/cardsfolder/b/black_market.txt b/res/cardsfolder/b/black_market.txt index 0c73959e760..a9380d05d6c 100644 --- a/res/cardsfolder/b/black_market.txt +++ b/res/cardsfolder/b/black_market.txt @@ -5,7 +5,7 @@ Text:no text T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever a creature is put into a graveyard from the battlefield, put a charge counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ CHARGE | CounterNum$ 1 T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigGetMana | TriggerDescription$ At the beginning of your precombat main phase, add B to your mana pool for each charge counter on CARDNAME. -SVar:TrigGetMana:AB$ Mana | Cost$ 0 | Produced$ B | Amount$ X | SpellDescription$ Add X B to your mana pool +SVar:TrigGetMana:AB$ Mana | Cost$ 0 | Produced$ B | Amount$ X | References$ X | SpellDescription$ Add X B to your mana pool SVar:X:Count$CardCounters.CHARGE SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/black_market.jpg diff --git a/res/cardsfolder/b/black_suns_zenith.txt b/res/cardsfolder/b/black_suns_zenith.txt index 810f73cb910..615b45be945 100644 --- a/res/cardsfolder/b/black_suns_zenith.txt +++ b/res/cardsfolder/b/black_suns_zenith.txt @@ -2,7 +2,7 @@ Name:Black Sun's Zenith ManaCost:X B B Types:Sorcery Text:no text -A:SP$ PutCounterAll | Cost$ X B B | ValidCards$ Creature | CounterType$ M1M1 | CounterNum$ X | SubAbility$ DBShuffle | IsCurse$ True | SpellDescription$ Put X -1/-1 counters on each creature. Shuffle CARDNAME into its owner's library. +A:SP$ PutCounterAll | Cost$ X B B | ValidCards$ Creature | CounterType$ M1M1 | CounterNum$ X | SubAbility$ DBShuffle | IsCurse$ True | References$ X | SpellDescription$ Put X -1/-1 counters on each creature. Shuffle CARDNAME into its owner's library. SVar:X:Count$xPaid SVar:DBShuffle:DB$ChangeZone | Origin$ Stack | Destination$ Library | Shuffle$ True SVar:RemAIDeck:True diff --git a/res/cardsfolder/b/black_vise.txt b/res/cardsfolder/b/black_vise.txt index e6cdf4d77b6..75191cf7684 100644 --- a/res/cardsfolder/b/black_vise.txt +++ b/res/cardsfolder/b/black_vise.txt @@ -5,7 +5,7 @@ Text:no text T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ ChooseP | Static$ True | TriggerDescription$ As CARDNAME enters the battlefield, choose an opponent. SVar:ChooseP:AB$ ChoosePlayer | Cost$ 0 | Defined$ You | Choices$ Opponent | AILogic$ Curse T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player.Chosen | IsPresent$ Card.YouDontCtrl | PresentZone$ Hand | PresentCompare$ GT4 | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ At the beginning of the chosen player's upkeep, CARDNAME deals X damage to that player, where X is the number of cards in his or her hand minus 4. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ ChosenPlayer | NumDmg$ X +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ ChosenPlayer | NumDmg$ X | References$ X SVar:X:Count$InOppHand/Minus.4 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/black_vise.jpg diff --git a/res/cardsfolder/b/blademane_baku.txt b/res/cardsfolder/b/blademane_baku.txt index 46deebb9403..db9cc627076 100644 --- a/res/cardsfolder/b/blademane_baku.txt +++ b/res/cardsfolder/b/blademane_baku.txt @@ -5,7 +5,7 @@ Text:no text PT:1/1 T:Mode$ SpellCast | ValidCard$ Spirit,Arcane | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ Whenever you cast a Spirit or Arcane spell, you may put a ki counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ KI | CounterNum$ 1 -A:AB$ Pump | Cost$ 1 SubCounter | Defined$ Self | NumAtt$ +Y | SpellDescription$ For each counter removed, CARDNAME gets +2/+0 until end of turn. +A:AB$ Pump | Cost$ 1 SubCounter | Defined$ Self | NumAtt$ +Y | References$ X,Y | SpellDescription$ For each counter removed, CARDNAME gets +2/+0 until end of turn. SVar:X:XChoice #ChosenX SVar created by Cost payment SVar:Y:Number$2/Times.ChosenX diff --git a/res/cardsfolder/b/blaze.txt b/res/cardsfolder/b/blaze.txt index 0e54dcf3f5a..a7b96b99401 100644 --- a/res/cardsfolder/b/blaze.txt +++ b/res/cardsfolder/b/blaze.txt @@ -2,7 +2,7 @@ Name:Blaze ManaCost:X R Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ X R | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target creature or player. +A:SP$ DealDamage | Cost$ X R | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to target creature or player. SVar:X:Count$xPaid SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/blaze.jpg diff --git a/res/cardsfolder/b/blazing_shoal.txt b/res/cardsfolder/b/blazing_shoal.txt index 4c7a62bbcd7..63a38942545 100644 --- a/res/cardsfolder/b/blazing_shoal.txt +++ b/res/cardsfolder/b/blazing_shoal.txt @@ -2,8 +2,8 @@ Name:Blazing Shoal ManaCost:X R R Types:Instant Arcane Text:no text -A:SP$ Pump | Cost$ X R R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | SpellDescription$ Target creature gets +X/+0 until end of turn. -A:SP$ Pump | Cost$ ExileFromHand<1/Card.Red> | CostDesc$ You may exile a red card from your hand rather than pay Blazing Shoal's mana cost. | ValidTgts$ Creature | NumAtt$ +Y | SpellDescription$ Target creature gets +X/+0 until end of turn, where X is the exiled card's converted mana cost. +A:SP$ Pump | Cost$ X R R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | References$ X | SpellDescription$ Target creature gets +X/+0 until end of turn. +A:SP$ Pump | Cost$ ExileFromHand<1/Card.Red> | CostDesc$ You may exile a red card from your hand rather than pay Blazing Shoal's mana cost. | ValidTgts$ Creature | NumAtt$ +Y | References$ Y | SpellDescription$ Target creature gets +X/+0 until end of turn, where X is the exiled card's converted mana cost. SVar:X:Count$xPaid SVar:Y:Exiled$CardManaCost SVar:RemAIDeck:True diff --git a/res/cardsfolder/b/blessed_reversal.txt b/res/cardsfolder/b/blessed_reversal.txt index d1b51e6bd61..92df158f2de 100644 --- a/res/cardsfolder/b/blessed_reversal.txt +++ b/res/cardsfolder/b/blessed_reversal.txt @@ -2,7 +2,7 @@ Name:Blessed Reversal ManaCost:1 W Types:Instant Text:no text -A:SP$ GainLife | Cost$ 1 W | LifeAmount$ X | SpellDescription$ You gain 3 life for each creature attacking you. +A:SP$ GainLife | Cost$ 1 W | LifeAmount$ X | References$ X | SpellDescription$ You gain 3 life for each creature attacking you. SVar:X:Count$Valid Creature.attacking+YouDontCtrl/Times.3 SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/blessed_reversal.jpg diff --git a/res/cardsfolder/b/blinkmoth_urn.txt b/res/cardsfolder/b/blinkmoth_urn.txt index 0d7953c7fd9..eed20a58e0c 100644 --- a/res/cardsfolder/b/blinkmoth_urn.txt +++ b/res/cardsfolder/b/blinkmoth_urn.txt @@ -3,9 +3,9 @@ ManaCost:5 Types:Artifact Text:no text T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | IsPresent$ Card.Self+untapped | Execute$ TrigGetYouMana | TriggerDescription$ At the beginning of each player's precombat main phase, if CARDNAME is untapped, that player adds 1 to his or her mana pool for each artifact he or she controls. -SVar:TrigGetYouMana:AB$ Mana | Cost$ 0 | Produced$ 1 | Amount$ X +SVar:TrigGetYouMana:AB$ Mana | Cost$ 0 | Produced$ 1 | Amount$ X | References$ X T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ Opponent | TriggerZones$ Battlefield | IsPresent$ Card.Self+untapped | Execute$ TrigGetOppMana | Secondary$ True | TriggerDescription$ At the beginning of each player's precombat main phase, if CARDNAME is untapped, that player adds 1 to his or her mana pool for each artifact he or she controls. -SVar:TrigGetOppMana:AB$ Mana | Cost$ 0 | Produced$ 1 | Amount$ Y +SVar:TrigGetOppMana:AB$ Mana | Cost$ 0 | Produced$ 1 | Amount$ Y | References$ Y SVar:X:Count$TypeYouCtrl.Artifact SVar:Y:Count$TypeOppCtrl.Artifact SVar:RemRandomDeck:True diff --git a/res/cardsfolder/b/blood_hound.txt b/res/cardsfolder/b/blood_hound.txt index 93188c3b02c..03224d178c1 100644 --- a/res/cardsfolder/b/blood_hound.txt +++ b/res/cardsfolder/b/blood_hound.txt @@ -3,7 +3,7 @@ ManaCost:2 R Types:Creature Hound PT:1/1 T:Mode$ DamageDone | ValidTarget$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | OptionalDecider$ You | TriggerDescription$ Whenever you're dealt damage, you may put that many +1/+1 counters on CARDNAME. -SVar:TrigPutCounter: AB$ PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ X +SVar:TrigPutCounter: AB$ PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ X | References$ X T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigRemoveCounter | TriggerDescription$ At the beginning of your end step, remove all +1/+1 counters from CARDNAME. SVar:TrigRemoveCounter: AB$ RemoveCounter | Cost$ 0 | CounterType$ P1P1 | CounterNum$ All SVar:X:TriggerCount$DamageAmount diff --git a/res/cardsfolder/b/blood_lust.txt b/res/cardsfolder/b/blood_lust.txt index fa9b7d923a3..1d322404050 100644 --- a/res/cardsfolder/b/blood_lust.txt +++ b/res/cardsfolder/b/blood_lust.txt @@ -2,7 +2,7 @@ Name:Blood Lust ManaCost:1 R Types:Instant Text:no text -A:SP$ Pump | Cost$ 1 R | NumAtt$ +4 | NumDef$ -X | ValidTgts$ Creature | TgtPrompt$ Select target creature | ConditionDefined$ Targeted | ConditionPresent$ Creature.toughnessLT5 | ConditionCompare$ EQ1 | SubAbility$ DBPump +A:SP$ Pump | Cost$ 1 R | NumAtt$ +4 | NumDef$ -X | ValidTgts$ Creature | TgtPrompt$ Select target creature | ConditionDefined$ Targeted | ConditionPresent$ Creature.toughnessLT5 | ConditionCompare$ EQ1 | SubAbility$ DBPump | References$ X SVar:DBPump:DB$Pump | NumAtt$ +4 | NumDef$ -4 | Defined$ Targeted | ConditionDefined$ Targeted | ConditionPresent$ Creature.toughnessGE5 | ConditionCompare$ EQ1 | SpellDescription$ If target creature has toughness 5 or greater, it gets +4/-4 until end of turn. Otherwise, it gets +4/-X until end of turn, where X is its toughness minus 1. SVar:X:Targeted$CardToughness/Minus.1 SVar:Rarity:Common diff --git a/res/cardsfolder/b/blood_oath.txt b/res/cardsfolder/b/blood_oath.txt index 42ac1744873..efc7bb04c56 100644 --- a/res/cardsfolder/b/blood_oath.txt +++ b/res/cardsfolder/b/blood_oath.txt @@ -4,7 +4,7 @@ Types:Instant Text:no text A:SP$ ChooseType | Cost$ 3 R | Defined$ You | Type$ Card | SubAbility$ DBReveal | SpellDescription$ Choose a card type. Target opponent reveals his or her hand. Blood Oath deals 3 damage to that player for each card of the chosen type revealed this way. SVar:DBReveal:DB$ RevealHand | RememberRevealed$ True | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | SubAbility$ DBDamage -SVar:DBDamage:DB$ DealDamage | Defined$ Opponent | NumDmg$ X +SVar:DBDamage:DB$ DealDamage | Defined$ Opponent | NumDmg$ X | References$ X,Y SVar:X:SVar$Y/Times.3 SVar:Y:Remembered$Valid Card.ChosenType SVar:RemAIDeck:True diff --git a/res/cardsfolder/b/bloodcurdling_scream.txt b/res/cardsfolder/b/bloodcurdling_scream.txt index 255feef538a..e622472f2b4 100644 --- a/res/cardsfolder/b/bloodcurdling_scream.txt +++ b/res/cardsfolder/b/bloodcurdling_scream.txt @@ -2,7 +2,7 @@ Name:Bloodcurdling Scream ManaCost:X B Types:Sorcery Text:no text -A:SP$ Pump | Cost$ X B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | SpellDescription$ Target creature gets +X/+0 until end of turn. +A:SP$ Pump | Cost$ X B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | References$ X | SpellDescription$ Target creature gets +X/+0 until end of turn. SVar:X:Count$xPaid SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/bloodcurdling_scream.jpg diff --git a/res/cardsfolder/b/bloodfire_infusion.txt b/res/cardsfolder/b/bloodfire_infusion.txt index 4527229a56a..efba1cb2017 100644 --- a/res/cardsfolder/b/bloodfire_infusion.txt +++ b/res/cardsfolder/b/bloodfire_infusion.txt @@ -4,7 +4,7 @@ Types:Enchantment Aura Text:no text K:Enchant creature you control A:SP$ Attach | Cost$ 2 R | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | AILogic$ Pump -A:AB$ DamageAll | Cost$ R Sac<1/Card.AttachedBy/enchanted creature> | ActivationZone$ Battlefield | ValidCards$ Creature | NumDmg$ X | ValidDescription$ each creature | SpellDescription$ CARDNAME deals damage equal to the sacrificed creature's power to each creature. +A:AB$ DamageAll | Cost$ R Sac<1/Card.AttachedBy/enchanted creature> | ActivationZone$ Battlefield | ValidCards$ Creature | NumDmg$ X | ValidDescription$ each creature | References$ X | SpellDescription$ CARDNAME deals damage equal to the sacrificed creature's power to each creature. SVar:X:Sacrificed$CardPower SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/b/bloodhusk_ritualist.txt b/res/cardsfolder/b/bloodhusk_ritualist.txt index 3e8d1cf9ad3..5c44e86c0a6 100644 --- a/res/cardsfolder/b/bloodhusk_ritualist.txt +++ b/res/cardsfolder/b/bloodhusk_ritualist.txt @@ -5,7 +5,7 @@ Text:no text PT:2/2 K:Multikicker B T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDiscard | TriggerDescription$ When CARDNAME enters the battlefield, target opponent discards a card for each time it was kicked. -SVar:TrigDiscard:AB$Discard | Cost$ 0 | ValidTgts$ Opponent | NumCards$ X | Mode$ TgtChoose +SVar:TrigDiscard:AB$Discard | Cost$ 0 | ValidTgts$ Opponent | NumCards$ X | Mode$ TgtChoose | References$ X SVar:X:Count$TimesKicked SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/Bloodhusk_Ritualist.jpg diff --git a/res/cardsfolder/b/bloodletter_quill.txt b/res/cardsfolder/b/bloodletter_quill.txt index c5949c321d8..bc14a744130 100644 --- a/res/cardsfolder/b/bloodletter_quill.txt +++ b/res/cardsfolder/b/bloodletter_quill.txt @@ -3,7 +3,7 @@ ManaCost:3 Types:Artifact Text:no text A:AB$ Draw | Cost$ 2 T AddCounter<1/BLOOD> | NumCards$ 1 | SpellDescription$ Draw a card, then lose 1 life for each blood counter on CARDNAME. | SubAbility$ DBLoseLife -SVar:DBLoseLife:DB$LoseLife | LifeAmount$ X +SVar:DBLoseLife:DB$LoseLife | LifeAmount$ X | References$ X A:AB$ RemoveCounter | Cost$ U B | CounterType$ BLOOD | CounterNum$ 1 | SpellDescription$ Remove a blood counter from CARDNAME. SVar:X:Count$CardCounters.BLOOD SVar:Rarity:Rare diff --git a/res/cardsfolder/b/bloodline_keeper_lord_of_lineage.txt b/res/cardsfolder/b/bloodline_keeper_lord_of_lineage.txt index 8dc892cdbf0..4ab4350341e 100644 --- a/res/cardsfolder/b/bloodline_keeper_lord_of_lineage.txt +++ b/res/cardsfolder/b/bloodline_keeper_lord_of_lineage.txt @@ -5,7 +5,7 @@ Text:no text PT:3/3 K:Flying A:AB$Token | Cost$ T | TokenAmount$ 1 | TokenOwner$ You | TokenName$ Vampire | TokenColors$ Black | TokenImage$ B 2 2 Vampire | TokenTypes$ Creature,Vampire | TokenPower$ 2 | TokenToughness$ 2 | TokenKeywords$ Flying | SpellDescription$ Put a 2/2 black Vampire creature token with flying onto the battlefield. -A:AB$SetState | Cost$ B | Defined$ Self | CheckSVar$ X | SVarCompare$ GE5 | Mode$ Transform | SpellDescription$ Transform CARDNAME.Activate this ability only if you control five or more Vampires. +A:AB$SetState | Cost$ B | Defined$ Self | CheckSVar$ X | SVarCompare$ GE5 | Mode$ Transform | References$ X | SpellDescription$ Transform CARDNAME.Activate this ability only if you control five or more Vampires. SVar:X:Count$Valid Card.Vampire+YouCtrl SVar:Picture:http://www.wizards.com/global/images/magic/general/bloodline_keeper.jpg AlternateMode:DoubleFaced diff --git a/res/cardsfolder/b/bloodshot_cyclops.txt b/res/cardsfolder/b/bloodshot_cyclops.txt index 005a863047d..9b4cdcadb74 100644 --- a/res/cardsfolder/b/bloodshot_cyclops.txt +++ b/res/cardsfolder/b/bloodshot_cyclops.txt @@ -3,7 +3,7 @@ ManaCost:5 R Types:Creature Cyclops Giant Text:no text PT:4/4 -A:AB$ DealDamage | Cost$ T Sac<1/Creature> | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to the sacrificed creature's power to target creature or player. +A:AB$ DealDamage | Cost$ T Sac<1/Creature> | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to the sacrificed creature's power to target creature or player. SVar:X:Sacrificed$CardPower SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/b/bloodthirsty_ogre.txt b/res/cardsfolder/b/bloodthirsty_ogre.txt index 171d3b09208..26946acfe8f 100644 --- a/res/cardsfolder/b/bloodthirsty_ogre.txt +++ b/res/cardsfolder/b/bloodthirsty_ogre.txt @@ -4,7 +4,7 @@ Types:Creature Ogre Warrior Shaman Text:no text PT:3/1 A:AB$ PutCounter | Cost$ T | CounterType$ DEVOTION | CounterNum$ 1 | SpellDescription$ Put a devotion counter on CARDNAME. -A:AB$ Pump | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | IsPresent$ Demon.YouCtrl | SpellDescription$ Target creature gets -X/-X until end of turn, where X is the number of devotion counters on CARDNAME. Activate this ability only if you control a Demon. +A:AB$ Pump | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | IsPresent$ Demon.YouCtrl | References$ X | SpellDescription$ Target creature gets -X/-X until end of turn, where X is the number of devotion counters on CARDNAME. Activate this ability only if you control a Demon. SVar:X:Count$CardCounters.DEVOTION SVar:BuffedBy:Demon SVar:Rarity:Uncommon diff --git a/res/cardsfolder/b/blossoming_wreath.txt b/res/cardsfolder/b/blossoming_wreath.txt index 0b6983a5357..9905c38d7de 100644 --- a/res/cardsfolder/b/blossoming_wreath.txt +++ b/res/cardsfolder/b/blossoming_wreath.txt @@ -2,7 +2,7 @@ Name:Blossoming Wreath ManaCost:G Types:Instant Text:no text -A:SP$ GainLife | Cost$ G | LifeAmount$ X | SpellDescription$ You gain life equal to the number of creature cards in your graveyard. +A:SP$ GainLife | Cost$ G | LifeAmount$ X | References$ X | SpellDescription$ You gain life equal to the number of creature cards in your graveyard. SVar:X:Count$TypeInYourYard.Creature SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/blossoming_wreath.jpg diff --git a/res/cardsfolder/b/blue_mana_battery.txt b/res/cardsfolder/b/blue_mana_battery.txt index d2c3e192c9a..1675ccd40ed 100644 --- a/res/cardsfolder/b/blue_mana_battery.txt +++ b/res/cardsfolder/b/blue_mana_battery.txt @@ -3,7 +3,7 @@ ManaCost:4 Types:Artifact Text:no text A:AB$ PutCounter | Cost$ 2 T | CounterType$ CHARGE | CounterNum$ 1 | SpellDescription$ Put a charge counter on CARDNAME. -A:AB$ Mana | Cost$ T SubCounter | Produced$ U | Amount$ Y | CostDesc$ Tap, Remove any number of charge counters from CARDNAME: | SpellDescription$ Add U to your mana pool, then add an additional U to your mana pool for each charge counter removed this way. +A:AB$ Mana | Cost$ T SubCounter | Produced$ U | Amount$ Y | CostDesc$ Tap, Remove any number of charge counters from CARDNAME: | References$ X,Y | SpellDescription$ Add U to your mana pool, then add an additional U to your mana pool for each charge counter removed this way. SVar:Y:Number$1/Plus.ChosenX SVar:X:XChoice #ChosenX SVar created by Cost payment diff --git a/res/cardsfolder/b/blue_suns_zenith.txt b/res/cardsfolder/b/blue_suns_zenith.txt index df538c68005..96b7a034393 100644 --- a/res/cardsfolder/b/blue_suns_zenith.txt +++ b/res/cardsfolder/b/blue_suns_zenith.txt @@ -2,7 +2,7 @@ Name:Blue Sun's Zenith ManaCost:X U U U Types:Instant Text:no text -A:SP$ Draw | Cost$ X U U U | NumCards$ X | ValidTgts$ Player | TgtPrompt$ Choose a player | SubAbility$ DBShuffle | SpellDescription$ Target player draws X cards. Shuffle CARDNAME into its owner's library. +A:SP$ Draw | Cost$ X U U U | NumCards$ X | ValidTgts$ Player | TgtPrompt$ Choose a player | SubAbility$ DBShuffle | References$ X | SpellDescription$ Target player draws X cards. Shuffle CARDNAME into its owner's library. SVar:X:Count$xPaid SVar:DBShuffle:DB$ChangeZone | Origin$ Stack | Destination$ Library | Shuffle$ True SVar:Rarity:Rare diff --git a/res/cardsfolder/b/blunt_the_assault.txt b/res/cardsfolder/b/blunt_the_assault.txt index b55f29343a0..49829d5864a 100644 --- a/res/cardsfolder/b/blunt_the_assault.txt +++ b/res/cardsfolder/b/blunt_the_assault.txt @@ -2,7 +2,7 @@ Name:Blunt the Assault ManaCost:3 G Types:Instant Text:no text -A:SP$ GainLife | Cost$ 3 G | Defined$ You | LifeAmount$ X | SubAbility$ DBFog | SpellDescription$ You gain 1 life for each creature on the battlefield. +A:SP$ GainLife | Cost$ 3 G | Defined$ You | LifeAmount$ X | SubAbility$ DBFog | References$ X | SpellDescription$ You gain 1 life for each creature on the battlefield. SVar:DBFog:DB$Fog | SpellDescription$ Prevent all combat damage that would be dealt this turn. SVar:X:Count$Valid Creature SVar:Rarity:Common diff --git a/res/cardsfolder/b/bogardan_phoenix.txt b/res/cardsfolder/b/bogardan_phoenix.txt index 168e918ff82..807addb7a87 100644 --- a/res/cardsfolder/b/bogardan_phoenix.txt +++ b/res/cardsfolder/b/bogardan_phoenix.txt @@ -5,9 +5,9 @@ Text:no text PT:3/3 K:Flying T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigReturn | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, exile it if it had a death counter on it. Otherwise, return it to the battlefield under your control and put a death counter on it. -SVar:TrigReturn:AB$ ChangeZone | Cost$ 0 | Defined$ Self | Origin$ Graveyard | Destination$ Exile | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBReturn -SVar:DBReturn:DB$ ChangeZone | Defined$ Self | Origin$ Graveyard | Destination$ Battlefield | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBPutCounter -SVar:DBPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ DEATH | CounterNum$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 +SVar:TrigReturn:AB$ ChangeZone | Cost$ 0 | Defined$ Self | Origin$ Graveyard | Destination$ Exile | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBReturn | References$ X +SVar:DBReturn:DB$ ChangeZone | Defined$ Self | Origin$ Graveyard | Destination$ Battlefield | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBPutCounter | References$ X +SVar:DBPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ DEATH | CounterNum$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | References$ X SVar:X:TriggeredCard$CardCounters.DEATH SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/bogardan_phoenix.jpg diff --git a/res/cardsfolder/b/bond_of_agony.txt b/res/cardsfolder/b/bond_of_agony.txt index 5a9f4184b76..5b07dcb653f 100644 --- a/res/cardsfolder/b/bond_of_agony.txt +++ b/res/cardsfolder/b/bond_of_agony.txt @@ -2,7 +2,7 @@ Name:Bond of Agony ManaCost:X B Types:Sorcery Text:no text -A:SP$ LoseLife | Cost$ X B PayLife | Defined$ Opponent | LifeAmount$ X | SpellDescription$ Each other player loses X life. +A:SP$ LoseLife | Cost$ X B PayLife | Defined$ Opponent | LifeAmount$ X | References$ X | SpellDescription$ Each other player loses X life. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/b/bone_harvest.txt b/res/cardsfolder/b/bone_harvest.txt index 5d559b56314..69b2515f744 100644 --- a/res/cardsfolder/b/bone_harvest.txt +++ b/res/cardsfolder/b/bone_harvest.txt @@ -2,7 +2,7 @@ Name:Bone Harvest ManaCost:2 B Types:Instant Text:no text -A:SP$ ChangeZone | Cost$ 2 B | Origin$ Graveyard | Destination$ Library | TargetMin$ 0 | TargetMax$ X | TgtPrompt$ Choose target creature card in your graveyard | ValidTgts$ Creature.YouCtrl | SpellDescription$ Put any number of target creature cards from your graveyard on top of your library. | SubAbility$ DBDraw +A:SP$ ChangeZone | Cost$ 2 B | Origin$ Graveyard | Destination$ Library | TargetMin$ 0 | TargetMax$ X | TgtPrompt$ Choose target creature card in your graveyard | ValidTgts$ Creature.YouCtrl | References$ X | SpellDescription$ Put any number of target creature cards from your graveyard on top of your library. | SubAbility$ DBDraw SVar:DBDraw:DB$Draw | NumCards$ 1 | NextUpkeep$ True | SpellDescription$ Draw a card at the beginning of the next upkeep. SVar:X:Count$TypeInYourYard.Creature SVar:RemAIDeck:True diff --git a/res/cardsfolder/b/bone_shaman.txt b/res/cardsfolder/b/bone_shaman.txt new file mode 100644 index 00000000000..acfa41c5c1d --- /dev/null +++ b/res/cardsfolder/b/bone_shaman.txt @@ -0,0 +1,14 @@ +Name:Bone Shaman +ManaCost:2 R R +Types:Creature Giant Shaman +Text:no text +PT:3/3 +A:AB$ Animate | Cost$ B | Defined$ Self | staticAbilities$ BoneShamanStatic | StackDescription$ CARDNAME gains "Creatures dealt damage by CARDNAME this turn can't be regenerated this turn." | SpellDescription$ Until end of turn, CARDNAME gains "Creatures dealt damage by CARDNAME this turn can't be regenerated this turn." +SVar:BoneShamanStatic:Mode$ Continuous | Affected$ Creature.DamagedBy | AddHiddenKeyword$ HIDDEN CARDNAME can't be regenerated. | Description$ Creatures dealt damage by CARDNAME this turn can't be regenerated this turn. +SVar:RemAIDeck:True +SVar:RemRandomDeck:True +SVar:Rarity:Common +SVar:Picture:http://www.wizards.com/global/images/magic/general/bone_shaman.jpg +SetInfo:ICE|Common|http://magiccards.info/scans/en/ia/176.jpg +Oracle:{B}: Until end of turn, Bone Shaman gains "Creatures dealt damage by Bone Shaman this turn can't be regenerated this turn." +End \ No newline at end of file diff --git a/res/cardsfolder/b/bonfire_of_the_damned.txt b/res/cardsfolder/b/bonfire_of_the_damned.txt index 7681b0f1313..4af05a79f92 100644 --- a/res/cardsfolder/b/bonfire_of_the_damned.txt +++ b/res/cardsfolder/b/bonfire_of_the_damned.txt @@ -2,7 +2,7 @@ Name:Bonfire of the Damned ManaCost:X X R Types:Sorcery Text:no text -A:SP$ DamageAll | Cost$ X X R | NumDmg$ X | ValidTgts$ Player | TgtPrompt$ Select a player | ValidCards$ Creature | ValidPlayers$ Targeted | ValidDescription$ target player and each creature he or she controls. | SpellDescription$ CARDNAME deals X damage to target player and each creature he or she controls. +A:SP$ DamageAll | Cost$ X X R | NumDmg$ X | ValidTgts$ Player | TgtPrompt$ Select a player | ValidCards$ Creature | ValidPlayers$ Targeted | ValidDescription$ target player and each creature he or she controls. | References$ X | SpellDescription$ CARDNAME deals X damage to target player and each creature he or she controls. K:Miracle:X R SVar:X:Count$xPaid SVar:Rarity:Mythic diff --git a/res/cardsfolder/b/boon_reflection.txt b/res/cardsfolder/b/boon_reflection.txt index 902e33499c0..2d17cc5c628 100644 --- a/res/cardsfolder/b/boon_reflection.txt +++ b/res/cardsfolder/b/boon_reflection.txt @@ -3,7 +3,7 @@ ManaCost:4 W Types:Enchantment Text:no text R:Event$ GainLife | ValidPlayer$ You | ReplaceWith$ GainDouble | Description$ If you would gain life, you gain twice that much life instead. -SVar:GainDouble:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:GainDouble:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:ReplaceCount$LifeGained/Twice SVar:PlayMain1:True SVar:Picture:http://www.wizards.com/global/images/magic/general/boon_reflection.jpg diff --git a/res/cardsfolder/b/boros_fury_shield.txt b/res/cardsfolder/b/boros_fury_shield.txt index 2becd50ccbd..f8825d235c4 100644 --- a/res/cardsfolder/b/boros_fury_shield.txt +++ b/res/cardsfolder/b/boros_fury_shield.txt @@ -3,7 +3,7 @@ ManaCost:2 W Types:Instant Text:no text A:SP$ Pump | Cost$ 2 W | ValidTgts$ Creature.attacking,Creature.blocking | TgtPrompt$ Select target attacking or blocking creature | IsCurse$ True | SubAbility$ DBDamage | KW$ HIDDEN Prevent all combat damage that would be dealt by CARDNAME. | SpellDescription$ Prevent all combat damage that would be dealt by target attacking or blocking creature this turn. If R was spent to cast CARDNAME, it deals damage to that creature's controller equal to the creature's power. -SVar:DBDamage:DB$ DealDamage | Defined$ TargetedController | NumDmg$ X | ConditionManaSpent$ R +SVar:DBDamage:DB$ DealDamage | Defined$ TargetedController | NumDmg$ X | ConditionManaSpent$ R | References$ X SVar:X:Targeted$CardPower SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/b/borrowing_100000_arrows.txt b/res/cardsfolder/b/borrowing_100000_arrows.txt index a72b2158862..41f7b2b8e69 100644 --- a/res/cardsfolder/b/borrowing_100000_arrows.txt +++ b/res/cardsfolder/b/borrowing_100000_arrows.txt @@ -2,7 +2,7 @@ Name:Borrowing 100,000 Arrows ManaCost:2 U Types:Sorcery Text:no text -A:SP$ Draw | Cost$ 2 U | NumCards$ X | SpellDescription$ Draw a card for each tapped creature target opponent controls. +A:SP$ Draw | Cost$ 2 U | NumCards$ X | References$ X | SpellDescription$ Draw a card for each tapped creature target opponent controls. SVar:X:Count$TypeOppCtrlTapped.Creature SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/b/borrowing_the_east_wind.txt b/res/cardsfolder/b/borrowing_the_east_wind.txt index 43f57631a6a..b14de547152 100644 --- a/res/cardsfolder/b/borrowing_the_east_wind.txt +++ b/res/cardsfolder/b/borrowing_the_east_wind.txt @@ -2,7 +2,7 @@ Name:Borrowing the East Wind ManaCost:X G G Types:Sorcery Text:no text -A:SP$ DamageAll | Cost$ X G G | ValidCards$ Creature.withHorsemanship | ValidPlayers$ Each | NumDmg$ X | ValidDescription$ each creature with horsemanship and each player. | SpellDescription$ CARDNAME deals X damage to each creature with horsemanship and each player. +A:SP$ DamageAll | Cost$ X G G | ValidCards$ Creature.withHorsemanship | ValidPlayers$ Each | NumDmg$ X | ValidDescription$ each creature with horsemanship and each player. | References$ X | SpellDescription$ CARDNAME deals X damage to each creature with horsemanship and each player. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/b/bosh_iron_golem.txt b/res/cardsfolder/b/bosh_iron_golem.txt index 21553612d5f..d5e9db171b5 100644 --- a/res/cardsfolder/b/bosh_iron_golem.txt +++ b/res/cardsfolder/b/bosh_iron_golem.txt @@ -4,7 +4,7 @@ Types:Legendary Artifact Creature Golem Text:no text PT:6/7 K:Trample -A:AB$ DealDamage | Cost$ 3 R Sac<1/Artifact> | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to the sacrificed artifact's converted mana cost to target creature or player. +A:AB$ DealDamage | Cost$ 3 R Sac<1/Artifact> | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to the sacrificed artifact's converted mana cost to target creature or player. SVar:X:Sacrificed$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/b/bottomless_vault.txt b/res/cardsfolder/b/bottomless_vault.txt index 8c3e84ad759..97f5bc3e0b1 100644 --- a/res/cardsfolder/b/bottomless_vault.txt +++ b/res/cardsfolder/b/bottomless_vault.txt @@ -6,7 +6,7 @@ K:CARDNAME enters the battlefield tapped. K:You may choose not to untap CARDNAME during your untap step. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | IsPresent$ Card.Self+tapped | Execute$ TrigStore | TriggerDescription$ At the beginning of your upkeep, if CARDNAME is tapped, put a storage counter on it. SVar:TrigStore:DB$PutCounter | Defined$ Self | CounterType$ STORAGE | CounterNum$ 1 -A:AB$ Mana | Cost$ T SubCounter | Produced$ B | Amount$ ChosenX | CostDesc$ Tap, Remove any number of storage counters from CARDNAME: | SpellDescription$ Add B to your mana pool for each storage counter removed this way. +A:AB$ Mana | Cost$ T SubCounter | Produced$ B | Amount$ ChosenX | CostDesc$ Tap, Remove any number of storage counters from CARDNAME: | References$ X | SpellDescription$ Add B to your mana pool for each storage counter removed this way. SVar:X:XChoice #ChosenX SVar created by Cost payment SVar:RemAIDeck:True diff --git a/res/cardsfolder/b/bounteous_kirin.txt b/res/cardsfolder/b/bounteous_kirin.txt index c21c582f96c..11838c3d8e7 100644 --- a/res/cardsfolder/b/bounteous_kirin.txt +++ b/res/cardsfolder/b/bounteous_kirin.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 K:Flying T:Mode$ SpellCast | ValidCard$ Spirit,Arcane | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigGainLife | TriggerDescription$ Whenever you cast a Spirit or Arcane spell, you may gain life equal to that spell's converted mana cost. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggeredCard$CardManaCost SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/bounteous_kirin.jpg diff --git a/res/cardsfolder/b/bountiful_harvest.txt b/res/cardsfolder/b/bountiful_harvest.txt index e61333b86a5..5fc65ff598c 100644 --- a/res/cardsfolder/b/bountiful_harvest.txt +++ b/res/cardsfolder/b/bountiful_harvest.txt @@ -2,7 +2,7 @@ Name:Bountiful Harvest ManaCost:4 G Types:Sorcery Text:no text -A:SP$ GainLife | Cost$ 4 G | LifeAmount$ X | SpellDescription$ You gain 1 life for each land you control. +A:SP$ GainLife | Cost$ 4 G | LifeAmount$ X | References$ X | SpellDescription$ You gain 1 life for each land you control. SVar:X:Count$TypeYouCtrl.Land SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/bountiful_harvest.jpg diff --git a/res/cardsfolder/b/brace_for_impact.txt b/res/cardsfolder/b/brace_for_impact.txt new file mode 100644 index 00000000000..f4318388d0f --- /dev/null +++ b/res/cardsfolder/b/brace_for_impact.txt @@ -0,0 +1,16 @@ +Name:Brace for Impact +ManaCost:4 W +Types:Instant +Text:no text +A:SP$ Effect | Cost$ 4 W | ValidTgts$ Creature.MultiColor | TgtPrompt$ Select target multicolored creature | Name$ Brace Effect | Triggers$ EndTrackingEffect | ReplacementEffects$ BraceReplace | SVars$ ImpactCounters,X,ExileEffect | RememberObjects$ Targeted | SpellDescription$ Prevent all damage that would be dealt to target multicolored creature this turn. For each 1 damage prevented this way, put a +1/+1 counter on that creature. +SVar:BraceReplace:Event$ DamageDone | ValidTarget$ Card.IsRemembered | ReplaceWith$ ImpactCounters | PreventionEffect$ True | Description$ Prevent all damage that would be dealt to targeted multicolored creature this turn. For each 1 damage prevented this way, put a +1/+1 counter on that creature. +SVar:ImpactCounters:AB$PutCounter | Cost$ 0 | Defined$ ReplacedTarget | CounterType$ P1P1 | CounterNum$ X +SVar:X:ReplaceCount$DamageAmount +SVar:EndTrackingEffect:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Battlefield | Destination$ Any | Execute$ ExileEffect | Static$ True +SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Exile +SVar:RemAIDeck:True +SVar:Rarity:Uncommon +SVar:Picture:http://www.wizards.com/global/images/magic/general/brace_for_impact.jpg +SetInfo:DIS|Uncommon|http://magiccards.info/scans/en/di/5.jpg +Oracle:Prevent all damage that would be dealt to target multicolored creature this turn. For each 1 damage prevented this way, put a +1/+1 counter on that creature. +End \ No newline at end of file diff --git a/res/cardsfolder/b/braingeyser.txt b/res/cardsfolder/b/braingeyser.txt index fcdb9ff8394..993dd905a56 100644 --- a/res/cardsfolder/b/braingeyser.txt +++ b/res/cardsfolder/b/braingeyser.txt @@ -2,7 +2,7 @@ Name:Braingeyser ManaCost:X U U Types:Sorcery Text:no text -A:SP$ Draw | Cost$ X U U | NumCards$ X | ValidTgts$ Player | TgtPrompt$ Choose a player | SpellDescription$ Target player draws X cards. +A:SP$ Draw | Cost$ X U U | NumCards$ X | ValidTgts$ Player | TgtPrompt$ Choose a player | References$ X | SpellDescription$ Target player draws X cards. SVar:X:Count$xPaid SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/braingeyser.jpg diff --git a/res/cardsfolder/b/breakthrough.txt b/res/cardsfolder/b/breakthrough.txt index 447fccdb302..0646ae3fd47 100644 --- a/res/cardsfolder/b/breakthrough.txt +++ b/res/cardsfolder/b/breakthrough.txt @@ -2,8 +2,8 @@ Name:Breakthrough ManaCost:X U Types:Sorcery Text:no text -A:SP$ Draw | Cost$ X U | NumCards$ 4 | SubAbility$ DBBreakthroughDiscard | SpellDescription$ Draw four cards, then choose X cards in your hand and discard the rest from it. -SVar:DBBreakthroughDiscard:DB$ Discard | Defined$ You | Mode$ TgtChoose | NumCards$ BreakthroughZ +A:SP$ Draw | Cost$ X U | NumCards$ 4 | SubAbility$ DBBreakthroughDiscard | References$ X | SpellDescription$ Draw four cards, then choose X cards in your hand and discard the rest from it. +SVar:DBBreakthroughDiscard:DB$ Discard | Defined$ You | Mode$ TgtChoose | NumCards$ BreakthroughZ | References$ BreakthroughY,BreakthroughZ SVar:X:Count$xPaid SVar:BreakthroughY:Count$InYourHand SVar:BreakthroughZ:SVar$BreakthroughY/Minus.X diff --git a/res/cardsfolder/b/brightflame.txt b/res/cardsfolder/b/brightflame.txt index f53435040bf..de0ad66840d 100644 --- a/res/cardsfolder/b/brightflame.txt +++ b/res/cardsfolder/b/brightflame.txt @@ -2,8 +2,8 @@ Name:Brightflame ManaCost:X R R W W Types:Sorcery Text:no text -A:SP$DealDamage | Cost$ X R R W W | ValidTgts$ Creature | Radiance$ True | NumDmg$ X | SubAbility$ DBGainLife | SpellDescription$ Radiance - Brightflame deals X damage to target creature and each other creature that shares a color with it. You gain life equal to the damage dealt this way. -SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ Y +A:SP$DealDamage | Cost$ X R R W W | ValidTgts$ Creature | Radiance$ True | NumDmg$ X | SubAbility$ DBGainLife | References$ X | SpellDescription$ Radiance - Brightflame deals X damage to target creature and each other creature that shares a color with it. You gain life equal to the damage dealt this way. +SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ Y | References$ Y SVar:X:Count$xPaid SVar:Y:Count$DamageDoneThisTurn SVar:RemAIDeck:True diff --git a/res/cardsfolder/b/brightstone_ritual.txt b/res/cardsfolder/b/brightstone_ritual.txt index 9dd8b9ba11e..0f8023903cf 100644 --- a/res/cardsfolder/b/brightstone_ritual.txt +++ b/res/cardsfolder/b/brightstone_ritual.txt @@ -2,7 +2,7 @@ Name:Brightstone Ritual ManaCost:R Types:Instant Text:no text -A:SP$ Mana | Cost$ R | Produced$ R | Amount$ X | SpellDescription$ Add R to your mana pool for each Goblin on the battlefield. +A:SP$ Mana | Cost$ R | Produced$ R | Amount$ X | References$ X | SpellDescription$ Add R to your mana pool for each Goblin on the battlefield. SVar:X:Count$TypeOnBattlefield.Goblin SVar:RemAIDeck:True SVar:RemRandomDeck:True diff --git a/res/cardsfolder/b/brimstone_volley.txt b/res/cardsfolder/b/brimstone_volley.txt index 25c1e17fd26..ce446296705 100644 --- a/res/cardsfolder/b/brimstone_volley.txt +++ b/res/cardsfolder/b/brimstone_volley.txt @@ -2,7 +2,7 @@ Name:Brimstone Volley ManaCost:2 R Types:Instant Text:no text -A:SP$ DealDamage | Cost$ 2 R | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals 3 damage to target creature or player. Morbid - CARDNAME deals 5 damage to that creature or player instead if a creature died this turn. +A:SP$ DealDamage | Cost$ 2 R | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals 3 damage to target creature or player. Morbid - CARDNAME deals 5 damage to that creature or player instead if a creature died this turn. SVar:X:Count$Morbid.5.3 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/brimstone_volley.jpg diff --git a/res/cardsfolder/b/brion_stoutarm.txt b/res/cardsfolder/b/brion_stoutarm.txt index fb4c920da0f..3cc2f12bdea 100644 --- a/res/cardsfolder/b/brion_stoutarm.txt +++ b/res/cardsfolder/b/brion_stoutarm.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Giant Warrior Text:no text PT:4/4 K:Lifelink -A:AB$ DealDamage | Cost$ R T Sac<1/Creature.Other/creature other than Brion Stoutarm> | Tgt$ TgtP | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to the sacrificed creature's power to target player. +A:AB$ DealDamage | Cost$ R T Sac<1/Creature.Other/creature other than Brion Stoutarm> | Tgt$ TgtP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to the sacrificed creature's power to target player. SVar:X:Sacrificed$CardPower SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/brion_stoutarm.jpg diff --git a/res/cardsfolder/b/broken_ambitions.txt b/res/cardsfolder/b/broken_ambitions.txt index 81bf6e9b5c7..540848ec1eb 100644 --- a/res/cardsfolder/b/broken_ambitions.txt +++ b/res/cardsfolder/b/broken_ambitions.txt @@ -2,7 +2,7 @@ Name:Broken Ambitions ManaCost:X U Types:Instant Text:no text -A:SP$ Counter | Cost$ X U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | SubAbility$ DBClash | SpellDescription$ Counter target spell unless its controller pays X. Clash with an opponent. If you win, that spell's controller puts the top four cards of his or her library into his or her graveyard. +A:SP$ Counter | Cost$ X U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | SubAbility$ DBClash | References$ X | SpellDescription$ Counter target spell unless its controller pays X. Clash with an opponent. If you win, that spell's controller puts the top four cards of his or her library into his or her graveyard. SVar:DBClash:DB$Clash | WinSubAbility$ DBMill SVar:DBMill:DB$Mill | Defined$ TargetedController | NumCards$ 4 SVar:X:Count$xPaid diff --git a/res/cardsfolder/b/broken_visage.txt b/res/cardsfolder/b/broken_visage.txt index cca868e4c56..d65681899e0 100644 --- a/res/cardsfolder/b/broken_visage.txt +++ b/res/cardsfolder/b/broken_visage.txt @@ -3,7 +3,7 @@ ManaCost:4 B Types:Instant Text:no text A:SP$ Destroy | Cost$ 4 B | ValidTgts$ Creature.attacking+nonArtifact | TgtPrompt$ Select target nonartifact attacking creature | NoRegen$ True | SpellDescription$ Destroy target nonartifact attacking creature. It can't be regenerated. Put a black Spirit creature token with that creature's power and toughness onto the battlefield. Sacrifice the token at the beginning of the next end step. | SubAbility$ DBToken -SVar:DBToken:DB$Token | Defined$Targeted | TokenAmount$ 1 | TokenName$ Spirit | TokenTypes$ Creature,Spirit | TokenOwner$ You | TokenColors$ Black | TokenPower$ dX | TokenToughness$ dY | TokenKeywords$ At the beginning of the end step, sacrifice CARDNAME. +SVar:DBToken:DB$Token | Defined$Targeted | TokenAmount$ 1 | TokenName$ Spirit | TokenTypes$ Creature,Spirit | TokenOwner$ You | TokenColors$ Black | TokenPower$ dX | TokenToughness$ dY | TokenKeywords$ At the beginning of the end step, sacrifice CARDNAME. | References$ dX,dY SVar:dX:Targeted$CardPower SVar:dY:Targeted$CardToughness SVar:Rarity:Rare diff --git a/res/cardsfolder/b/bronze_bombshell.txt b/res/cardsfolder/b/bronze_bombshell.txt index 1f77253dc9d..b59171acc27 100644 --- a/res/cardsfolder/b/bronze_bombshell.txt +++ b/res/cardsfolder/b/bronze_bombshell.txt @@ -5,7 +5,7 @@ Text:no text PT:4/1 T:Mode$ Always | IsPresent$ Card.Self+OwnerDoesntControl | Execute$ TrigSac | TriggerDescription$ When a player other than CARDNAME's owner controls it, that player sacrifices it. If the player does, CARDNAME deals 7 damage to him or her. SVar:TrigSac:AB$SacrificeAll | Cost$ 0 | Defined$ Self | RememberSacrificed$ True | SubAbility$ DBDmg -SVar:DBDmg:DB$DealDamage | Defined$ You | NumDmg$ 7 | CheckSVar$ X | SVarCompare$ GE1 +SVar:DBDmg:DB$DealDamage | Defined$ You | NumDmg$ 7 | CheckSVar$ X | SVarCompare$ GE1 | References$ X SVar:X:Remembered$Amount SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/bronze_bombshell.jpg diff --git a/res/cardsfolder/b/brood_birthing.txt b/res/cardsfolder/b/brood_birthing.txt index 6d857f43d13..f8e278cb93f 100644 --- a/res/cardsfolder/b/brood_birthing.txt +++ b/res/cardsfolder/b/brood_birthing.txt @@ -2,8 +2,8 @@ Name:Brood Birthing ManaCost:1 R Types:Sorcery Text:no text -A:SP$ Token | Cost$ 1 R | TokenAmount$ 3 | TokenName$ Eldrazi Spawn | TokenTypes$ Creature,Eldrazi,Spawn | TokenColors$ Colorless | TokenPower$ 0 | TokenToughness$ 1 | TokenOwner$ You | TokenAbilities$ ABMana | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBToken | SpellDescription$ If you control an Eldrazi Spawn, put three 0/1 colorless Eldrazi Spawn creature tokens onto the battlefield. They have "Sacrifice this creature: Add 1 to your mana pool." Otherwise, put one of those tokens onto the battlefield. -SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenName$ Eldrazi Spawn | TokenTypes$ Creature,Eldrazi,Spawn | TokenColors$ Colorless | TokenPower$ 0 | TokenToughness$ 1 | TokenOwner$ You | TokenAbilities$ ABMana | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 +A:SP$ Token | Cost$ 1 R | TokenAmount$ 3 | TokenName$ Eldrazi Spawn | TokenTypes$ Creature,Eldrazi,Spawn | TokenColors$ Colorless | TokenPower$ 0 | TokenToughness$ 1 | TokenOwner$ You | TokenAbilities$ ABMana | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBToken | References$ X | SpellDescription$ If you control an Eldrazi Spawn, put three 0/1 colorless Eldrazi Spawn creature tokens onto the battlefield. They have "Sacrifice this creature: Add 1 to your mana pool." Otherwise, put one of those tokens onto the battlefield. +SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenName$ Eldrazi Spawn | TokenTypes$ Creature,Eldrazi,Spawn | TokenColors$ Colorless | TokenPower$ 0 | TokenToughness$ 1 | TokenOwner$ You | TokenAbilities$ ABMana | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | References$ X SVar:ABMana:AB$ Mana | Cost$ Sac<1/CARDNAME> | Amount$ 1 | Produced$ 1 | SpellDescription$ Add 1 to your mana pool SVar:Rarity:Common SVar:X:Count$Valid Card.YouCtrl+namedEldrazi Spawn diff --git a/res/cardsfolder/b/broodhatch_nantuko.txt b/res/cardsfolder/b/broodhatch_nantuko.txt index 854bf3a138d..7461dd79b9f 100644 --- a/res/cardsfolder/b/broodhatch_nantuko.txt +++ b/res/cardsfolder/b/broodhatch_nantuko.txt @@ -5,7 +5,7 @@ Text:no text PT:1/1 K:Morph:2 G T:Mode$ DamageDone | Execute$ TrigToken | ValidTarget$ Card.Self | TriggerZones$ Battlefield | OptionalDecider$ You | TriggerDescription$ Whenever CARDNAME is dealt damage, you may put that many 1/1 green Insect creature tokens onto the battlefield. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Insect | TokenTypes$ Creature,Insect | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 +SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Insect | TokenTypes$ Creature,Insect | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/broodhatch_nantuko.jpg diff --git a/res/cardsfolder/b/bull_aurochs.txt b/res/cardsfolder/b/bull_aurochs.txt index b45f59cfff2..9ceb53ff38d 100644 --- a/res/cardsfolder/b/bull_aurochs.txt +++ b/res/cardsfolder/b/bull_aurochs.txt @@ -5,7 +5,7 @@ Text:no text PT:2/1 K:Trample T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, it gets +1/+0 until end of turn for each other attacking Aurochs. -SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ X +SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ X | References$ X SVar:X:Count$Valid Aurochs.attacking+Other SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/bull_aurochs.jpg diff --git a/res/cardsfolder/b/bull_elephant.txt b/res/cardsfolder/b/bull_elephant.txt index febed067857..4e61ff7f1d9 100644 --- a/res/cardsfolder/b/bull_elephant.txt +++ b/res/cardsfolder/b/bull_elephant.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you return two Forests you control to their owner's hand. SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | Origin$ Battlefield | Destination$ Hand | Hidden$ True | ChangeType$ Forest.YouCtrl | ChangeNum$ 2 | RememberChanged$ True | SubAbility$ DBSac -SVar:DBSac:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT2 +SVar:DBSac:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT2 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:NeedsToPlayVar:Y GE2 diff --git a/res/cardsfolder/b/burden_of_greed.txt b/res/cardsfolder/b/burden_of_greed.txt index 048acbdf92d..0d4604f3118 100644 --- a/res/cardsfolder/b/burden_of_greed.txt +++ b/res/cardsfolder/b/burden_of_greed.txt @@ -2,7 +2,7 @@ Name:Burden of Greed ManaCost:3 B Types:Instant Text:no text -A:SP$ LoseLife | Cost$ 3 B | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ X | SpellDescription$ Target player loses 1 life for each tapped artifact he or she controls. +A:SP$ LoseLife | Cost$ 3 B | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ X | References$ X | SpellDescription$ Target player loses 1 life for each tapped artifact he or she controls. SVar:X:TargetedPlayer$Valid Artifact.tapped+YouCtrl SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/b/burn_at_the_stake.txt b/res/cardsfolder/b/burn_at_the_stake.txt index 3cf2253d143..9179185a49c 100644 --- a/res/cardsfolder/b/burn_at_the_stake.txt +++ b/res/cardsfolder/b/burn_at_the_stake.txt @@ -2,7 +2,7 @@ Name:Burn at the Stake ManaCost:2 R R R Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ 2 R R R tapXType | CostDesc$ As an additional cost to cast CARDNAME, tap any number of untapped creatures you control. | Tgt$ TgtCP | NumDmg$ BurnAtTheStakeDmg | SpellDescription$ CARDNAME deals damage to target creature or player equal to three times the number of creatures tapped this way. +A:SP$ DealDamage | Cost$ 2 R R R tapXType | CostDesc$ As an additional cost to cast CARDNAME, tap any number of untapped creatures you control. | Tgt$ TgtCP | NumDmg$ BurnAtTheStakeDmg | References$ X,BurnAtTheStakeDmg | SpellDescription$ CARDNAME deals damage to target creature or player equal to three times the number of creatures tapped this way. SVar:X:XChoice SVar:BurnAtTheStakeDmg:Number$3/Times.ChosenX SVar:RemAIDeck:True diff --git a/res/cardsfolder/b/burn_the_impure.txt b/res/cardsfolder/b/burn_the_impure.txt index d7eb162693a..b1bd68b19a2 100644 --- a/res/cardsfolder/b/burn_the_impure.txt +++ b/res/cardsfolder/b/burn_the_impure.txt @@ -3,7 +3,7 @@ ManaCost:1 R Types:Instant Text:no text A:SP$ DealDamage | Cost$ 1 R | NumDmg$ 3 | ValidTgts$ Creature | TgtPrompt$ Select target creature | SubAbility$ DBDamage | SpellDescription$ CARDNAME deals 3 damage to target creature. If that creature has infect, CARDNAME deals 3 damage to that creature's controller. -SVar:DBDamage:DB$ DealDamage | Defined$ TargetedController | NumDmg$ 3 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 +SVar:DBDamage:DB$ DealDamage | Defined$ TargetedController | NumDmg$ 3 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | References$ X SVar:X:Targeted$Valid Creature.withInfect SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/burn_the_impure.jpg diff --git a/res/cardsfolder/b/burnout.txt b/res/cardsfolder/b/burnout.txt index cf7465fdd87..d325cc03583 100644 --- a/res/cardsfolder/b/burnout.txt +++ b/res/cardsfolder/b/burnout.txt @@ -2,7 +2,7 @@ Name:Burnout ManaCost:1 R Types:Instant Text:no text -A:SP$ Counter | Cost$ 1 R | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Instant | AITgts$ Card.Blue | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SpellDescription$ Counter target instant spell if it's blue. Draw a card at the beginning of the next turn's upkeep. | SubAbility$ DBDraw +A:SP$ Counter | Cost$ 1 R | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Instant | AITgts$ Card.Blue | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X | SpellDescription$ Counter target instant spell if it's blue. Draw a card at the beginning of the next turn's upkeep. | SubAbility$ DBDraw SVar:DBDraw:DB$Draw | NumCards$ 1 | NextUpkeep$ True | Defined$ You SVar:X:Targeted$Valid Card.Blue SVar:RemRandomDeck:True diff --git a/res/cardsfolder/c/cabal_coffers.txt b/res/cardsfolder/c/cabal_coffers.txt index 681f0fc1cd6..1eb33c01093 100644 --- a/res/cardsfolder/c/cabal_coffers.txt +++ b/res/cardsfolder/c/cabal_coffers.txt @@ -2,7 +2,7 @@ Name:Cabal Coffers ManaCost:no cost Types:Land Text:no text -A:AB$ Mana | Cost$ 2 T | Produced$ B | Amount$ X | SpellDescription$ Add B to your mana pool for each Swamp you control. +A:AB$ Mana | Cost$ 2 T | Produced$ B | Amount$ X | References$ X | SpellDescription$ Add B to your mana pool for each Swamp you control. SVar:X:Count$Valid Swamp.YouCtrl SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/c/cabal_conditioning.txt b/res/cardsfolder/c/cabal_conditioning.txt index ba6c06eee87..5d5e13505da 100644 --- a/res/cardsfolder/c/cabal_conditioning.txt +++ b/res/cardsfolder/c/cabal_conditioning.txt @@ -2,7 +2,7 @@ Name:Cabal Conditioning ManaCost:6 B Types:Sorcery Text:no text -A:SP$ Discard | Cost$ 6 B | ValidTgts$ Player | TgtPrompt$ Select target player | TargetMin$ 0 | TargetMax$ 2 | NumCards$ X | Mode$ TgtChoose | SpellDescription$ Any number of target players each discard a number of cards equal to the highest converted mana cost among permanents you control. +A:SP$ Discard | Cost$ 6 B | ValidTgts$ Player | TgtPrompt$ Select target player | TargetMin$ 0 | TargetMax$ 2 | NumCards$ X | Mode$ TgtChoose | References$ X | SpellDescription$ Any number of target players each discard a number of cards equal to the highest converted mana cost among permanents you control. SVar:X:Count$MaxCMCYouCtrl SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/cabal_conditioning.jpg diff --git a/res/cardsfolder/c/cabal_ritual.txt b/res/cardsfolder/c/cabal_ritual.txt index 5d76c38a9fb..22e252f5b6d 100644 --- a/res/cardsfolder/c/cabal_ritual.txt +++ b/res/cardsfolder/c/cabal_ritual.txt @@ -2,7 +2,7 @@ Name:Cabal Ritual ManaCost:1 B Types:Instant Text:no text -A:SP$ Mana | Cost$ 1 B | Produced$ B | Amount$ X | SpellDescription$ Add B B B to your mana pool. Threshold - Add B B B B B to your mana pool instead if seven or more cards are in your graveyard. +A:SP$ Mana | Cost$ 1 B | Produced$ B | Amount$ X | References$ X | SpellDescription$ Add B B B to your mana pool. Threshold - Add B B B B B to your mana pool instead if seven or more cards are in your graveyard. SVar:X:Count$Threshold.5.3 SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/c/cackling_flames.txt b/res/cardsfolder/c/cackling_flames.txt index 384141667e0..c1fc4845f9d 100644 --- a/res/cardsfolder/c/cackling_flames.txt +++ b/res/cardsfolder/c/cackling_flames.txt @@ -2,7 +2,7 @@ Name:Cackling Flames ManaCost:3 R Types:Instant Text:no text -A:SP$ DealDamage | Cost$ 3 R | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals 3 damage to target creature or player. Hellbent - CARDNAME deals 5 damage to that creature or player instead if you have no cards in hand. +A:SP$ DealDamage | Cost$ 3 R | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals 3 damage to target creature or player. Hellbent - CARDNAME deals 5 damage to that creature or player instead if you have no cards in hand. SVar:X:Count$Hellbent.5.3 SVar:Rarity:Common SVar:Picture:http://resources.wizards.com/magic/cards/dis/en-us/card107258.jpg diff --git a/res/cardsfolder/c/cackling_witch.txt b/res/cardsfolder/c/cackling_witch.txt index 90b414cabec..55759bce43a 100644 --- a/res/cardsfolder/c/cackling_witch.txt +++ b/res/cardsfolder/c/cackling_witch.txt @@ -3,7 +3,7 @@ ManaCost:1 B Types:Creature Human Spellshaper Text:no text PT:1/1 -A:AB$ Pump | Cost$ X B T Discard<1/Card> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | SpellDescription$ Target creature gets +X/+0 until end of turn. +A:AB$ Pump | Cost$ X B T Discard<1/Card> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | References$ X | SpellDescription$ Target creature gets +X/+0 until end of turn. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/c/call_for_blood.txt b/res/cardsfolder/c/call_for_blood.txt index 49858b34abf..28d325eb695 100644 --- a/res/cardsfolder/c/call_for_blood.txt +++ b/res/cardsfolder/c/call_for_blood.txt @@ -2,7 +2,7 @@ Name:Call for Blood ManaCost:4 B Types:Instant Arcane Text:no text -A:SP$ Pump | Cost$ 4 B Sac<1/Creature> | ValidTgts$ Creature | TgtPrompt$ Select target creature | IsCurse$ True | NumAtt$ -X | NumDef$ -X | SpellDescription$ Target creature gets -X/-X until end of turn, where X is the sacrificed creature's power. +A:SP$ Pump | Cost$ 4 B Sac<1/Creature> | ValidTgts$ Creature | TgtPrompt$ Select target creature | IsCurse$ True | NumAtt$ -X | NumDef$ -X | References$ X | SpellDescription$ Target creature gets -X/-X until end of turn, where X is the sacrificed creature's power. SVar:X:Sacrificed$CardPower SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/c/caller_of_the_claw.txt b/res/cardsfolder/c/caller_of_the_claw.txt index c3405ac1834..3ed1014dfcb 100644 --- a/res/cardsfolder/c/caller_of_the_claw.txt +++ b/res/cardsfolder/c/caller_of_the_claw.txt @@ -5,7 +5,7 @@ Text:no text PT:2/2 K:Flash T:Mode$ ChangesZone | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters the battlefield, put a 2/2 green Bear creature token onto the battlefield for each nontoken creature put into your graveyard from the battlefield this turn. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenOwner$ You | TokenName$ Bear | TokenTypes$ Creature,Bear | TokenColors$ Green | TokenPower$ 2 | TokenToughness$ 2 +SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenOwner$ You | TokenName$ Bear | TokenTypes$ Creature,Bear | TokenColors$ Green | TokenPower$ 2 | TokenToughness$ 2 | References$ X SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature.nonToken+YouCtrl SVar:Rarity:Uncommon SVar:Picture:http://resources.wizards.com/magic/cards/lgn/en-us/card42187.jpg diff --git a/res/cardsfolder/c/candelabra_of_tawnos.txt b/res/cardsfolder/c/candelabra_of_tawnos.txt index cea503be3c5..e471a72949f 100644 --- a/res/cardsfolder/c/candelabra_of_tawnos.txt +++ b/res/cardsfolder/c/candelabra_of_tawnos.txt @@ -2,7 +2,7 @@ Name:Candelabra of Tawnos ManaCost:1 Types:Artifact Text:no text -A:AB$ Untap | Cost$ X T | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Land | TgtPrompt$ Select target Land | SpellDescription$ Untap X target lands. +A:AB$ Untap | Cost$ X T | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Land | TgtPrompt$ Select target Land | References$ X,MaxTgts | SpellDescription$ Untap X target lands. # It may seem wrong to not use X in the target, but since the Targets are what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Land diff --git a/res/cardsfolder/c/caravan_vigil.txt b/res/cardsfolder/c/caravan_vigil.txt index 1c43ed74120..d35be6c8e21 100644 --- a/res/cardsfolder/c/caravan_vigil.txt +++ b/res/cardsfolder/c/caravan_vigil.txt @@ -2,8 +2,8 @@ Name:Caravan Vigil ManaCost:G Types:Sorcery Text:no text -A:SP$ ChangeZone | Cost$ G | Origin$ Library | Destination$ Hand | ChangeType$ Land.Basic | ChangeNum$ 1 | ConditionCheckSVar$ Morbid | ConditionSVarCompare$ EQ0 | SubAbility$ DBChangeZone | SpellDescription$ Search your library for a basic land card, reveal it, put it into your hand, then shuffle your library. Morbid - You may put that card onto the battlefield instead of putting it into your hand if a creature died this turn. -SVar:DBChangeZone:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | DestinationAlternative$ Hand | AlternativeDestinationMessage$ Put that card onto the battlefield instead of putting it into your hand? | ChangeType$ Land.Basic | ChangeNum$ 1 | ConditionCheckSVar$ Morbid | ConditionSVarCompare$ GE1 +A:SP$ ChangeZone | Cost$ G | Origin$ Library | Destination$ Hand | ChangeType$ Land.Basic | ChangeNum$ 1 | ConditionCheckSVar$ Morbid | ConditionSVarCompare$ EQ0 | SubAbility$ DBChangeZone | References$ Morbid | SpellDescription$ Search your library for a basic land card, reveal it, put it into your hand, then shuffle your library. Morbid - You may put that card onto the battlefield instead of putting it into your hand if a creature died this turn. +SVar:DBChangeZone:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | DestinationAlternative$ Hand | AlternativeDestinationMessage$ Put that card onto the battlefield instead of putting it into your hand? | ChangeType$ Land.Basic | ChangeNum$ 1 | ConditionCheckSVar$ Morbid | ConditionSVarCompare$ GE1 | References$ Morbid SVar:Morbid:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/caravan_vigil.jpg diff --git a/res/cardsfolder/c/careful_consideration.txt b/res/cardsfolder/c/careful_consideration.txt index 4160b3ea1c5..679d11f364a 100644 --- a/res/cardsfolder/c/careful_consideration.txt +++ b/res/cardsfolder/c/careful_consideration.txt @@ -3,7 +3,7 @@ ManaCost:2 U U Types:Instant Text:no text A:SP$ Draw | Cost$ 2 U U | NumCards$ 4 | ValidTgts$ Player | TgtPrompt$ Choose a player | SubAbility$ DBDiscard | SpellDescription$ Target player draws four cards, then discards three cards. If you cast this spell during your main phase, instead that player draws four cards, then discards two cards. -SVar:DBDiscard:DB$Discard | NumCards$ X | Mode$ TgtChoose | Defined$ Targeted +SVar:DBDiscard:DB$Discard | NumCards$ X | Mode$ TgtChoose | Defined$ Targeted | References$ X SVar:X:Count$IfMainPhase.2.3 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/careful_consideration.jpg diff --git a/res/cardsfolder/c/carrion.txt b/res/cardsfolder/c/carrion.txt index cb7cfcf63d6..1390ec1cc2f 100644 --- a/res/cardsfolder/c/carrion.txt +++ b/res/cardsfolder/c/carrion.txt @@ -2,7 +2,7 @@ Name:Carrion ManaCost:1 B B Types:Instant Text:no text -A:SP$ Token | Cost$ 1 B B Sac<1/Creature> | TokenName$ Insect | TokenColors$ Black | TokenTypes$ Creature,Insect | TokenPower$ 0 | TokenToughness$ 1 | TokenOwner$ You | TokenAmount$ X | SpellDescription$ Put X 0/1 black Insect creature tokens onto the battlefield, where X is the sacrificed creature's power. +A:SP$ Token | Cost$ 1 B B Sac<1/Creature> | TokenName$ Insect | TokenColors$ Black | TokenTypes$ Creature,Insect | TokenPower$ 0 | TokenToughness$ 1 | TokenOwner$ You | TokenAmount$ X | References$ X | SpellDescription$ Put X 0/1 black Insect creature tokens onto the battlefield, where X is the sacrificed creature's power. SVar:X:Sacrificed$CardPower SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/c/catacomb_dragon.txt b/res/cardsfolder/c/catacomb_dragon.txt index 107ff321b07..770951c5147 100644 --- a/res/cardsfolder/c/catacomb_dragon.txt +++ b/res/cardsfolder/c/catacomb_dragon.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 K:Flying T:Mode$ Blocks | ValidCard$ Creature.nonArtifact+nonDragon | ValidBlocked$ Card.Self | Execute$ TrigPumpBlocker | TriggerDescription$ Whenever CARDNAME becomes blocked by a nonartifact, non-Dragon creature, that creature gets -X/-0 until end of turn, where X is half the creature's power, rounded down. -SVar:TrigPumpBlocker:AB$Pump | Cost$ 0 | Defined$ TriggeredBlocker | NumAtt$ -X +SVar:TrigPumpBlocker:AB$Pump | Cost$ 0 | Defined$ TriggeredBlocker | NumAtt$ -X | References$ X SVar:X:TriggeredBlocker$CardPower/HalfDown SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/catacomb_dragon.jpg diff --git a/res/cardsfolder/c/cauldron_haze.txt b/res/cardsfolder/c/cauldron_haze.txt index 3df7d60dd1d..6573c0808ca 100644 --- a/res/cardsfolder/c/cauldron_haze.txt +++ b/res/cardsfolder/c/cauldron_haze.txt @@ -2,7 +2,7 @@ Name:Cauldron Haze ManaCost:1 WB Types:Instant Text:no text -A:SP$ Pump | Cost$ 1 WB | ValidTgts$ Creature | KW$ Persist | TargetMin$ 0 | TargetMax$ X | TgtPrompt$ Select target creature | SpellDescription$ Choose any number of target creatures. Each of those creatures gains persist until end of turn. (When it's put into a graveyard from the battlefield, if it had no -1/-1 counters on it, return it to the battlefield under its owner's control with a -1/-1 counter on it.) +A:SP$ Pump | Cost$ 1 WB | ValidTgts$ Creature | KW$ Persist | TargetMin$ 0 | TargetMax$ X | TgtPrompt$ Select target creature | References$ X | SpellDescription$ Choose any number of target creatures. Each of those creatures gains persist until end of turn. (When it's put into a graveyard from the battlefield, if it had no -1/-1 counters on it, return it to the battlefield under its owner's control with a -1/-1 counter on it.) SVar:X:Count$Valid Creature SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/cauldron_haze.jpg diff --git a/res/cardsfolder/c/cauldron_of_souls.txt b/res/cardsfolder/c/cauldron_of_souls.txt index b79d71d0c61..b09d4db8411 100644 --- a/res/cardsfolder/c/cauldron_of_souls.txt +++ b/res/cardsfolder/c/cauldron_of_souls.txt @@ -2,7 +2,7 @@ Name:Cauldron of Souls ManaCost:5 Types:Artifact Text:no text -A:AB$ Pump | Cost$ T | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ X | TgtPrompt$ Select target creature | KW$ Persist | SpellDescription$ Choose any number of target creatures. Each of those creatures gains persist until end of turn. +A:AB$ Pump | Cost$ T | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ X | TgtPrompt$ Select target creature | KW$ Persist | References$ X | SpellDescription$ Choose any number of target creatures. Each of those creatures gains persist until end of turn. SVar:X:Count$Valid Creature SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/cauldron_of_souls.jpg diff --git a/res/cardsfolder/c/celestial_kirin.txt b/res/cardsfolder/c/celestial_kirin.txt index 562576f3088..a32faaac7f3 100644 --- a/res/cardsfolder/c/celestial_kirin.txt +++ b/res/cardsfolder/c/celestial_kirin.txt @@ -5,7 +5,7 @@ Text:no text PT:3/3 K:Flying T:Mode$ SpellCast | ValidCard$ Spirit,Arcane | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDestroyAll | TriggerDescription$ Whenever you cast a Spirit or Arcane spell, destroy all permanents with that spell's converted mana cost. -SVar:TrigDestroyAll:AB$DestroyAll | Cost$ 0 | ValidCards$ Permanent.cmcEQX +SVar:TrigDestroyAll:AB$DestroyAll | Cost$ 0 | ValidCards$ Permanent.cmcEQX | References$ X SVar:X:TriggeredCard$CardManaCost SVar:RemRandomDeck:True SVar:RemAIDeck:True diff --git a/res/cardsfolder/c/cenns_heir.txt b/res/cardsfolder/c/cenns_heir.txt index 07b53b54b0b..79b0aae8d8d 100644 --- a/res/cardsfolder/c/cenns_heir.txt +++ b/res/cardsfolder/c/cenns_heir.txt @@ -4,7 +4,7 @@ Types:Creature Kithkin Soldier Text:no text PT:1/1 T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, it gets +1/+1 until end of turn for each other attacking Kithkin. -SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ X | NumDef$ X +SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ X | NumDef$ X | References$ X SVar:X:Count$Valid Kithkin.attacking+Other SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/cenns_heir.jpg diff --git a/res/cardsfolder/c/cephalid_constable.txt b/res/cardsfolder/c/cephalid_constable.txt index 8d1a3521050..0a5025b4f39 100644 --- a/res/cardsfolder/c/cephalid_constable.txt +++ b/res/cardsfolder/c/cephalid_constable.txt @@ -4,7 +4,7 @@ Types:Creature Cephalid Wizard Text:no text PT:1/1 T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigBounce | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, return up to that many target permanents that player controls to their owners' hands. -SVar:TrigBounce:AB$ ChangeZone | Cost$ 0 | ValidTgts$ Permanent.YouDontCtrl | TgtPrompt$ Select target permanent | TargetMin$ 0 | TargetMax$ X | Origin$ Battlefield | Destination$ Hand +SVar:TrigBounce:AB$ ChangeZone | Cost$ 0 | ValidTgts$ Permanent.YouDontCtrl | TgtPrompt$ Select target permanent | TargetMin$ 0 | TargetMax$ X | Origin$ Battlefield | Destination$ Hand | References$ X SVar:X:TriggeredSource$CardPower SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/cephalid_constable.jpg diff --git a/res/cardsfolder/c/cephalid_vandal.txt b/res/cardsfolder/c/cephalid_vandal.txt index e81872150ad..dc906dfdc01 100644 --- a/res/cardsfolder/c/cephalid_vandal.txt +++ b/res/cardsfolder/c/cephalid_vandal.txt @@ -5,7 +5,7 @@ Text:no text PT:1/1 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, put a shred counter on CARDNAME. Then put the top card of your library into your graveyard for each shred counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ SHRED | CounterNum$ 1 | SubAbility$ DBMill -SVar:DBMill:DB$ Mill | Defined$ You | NumCards$ X +SVar:DBMill:DB$ Mill | Defined$ You | NumCards$ X | References$ X SVar:X:Count$CardCounters.SHRED SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/c/cerebral_eruption.txt b/res/cardsfolder/c/cerebral_eruption.txt index d2ec28e7799..44b16a955d3 100644 --- a/res/cardsfolder/c/cerebral_eruption.txt +++ b/res/cardsfolder/c/cerebral_eruption.txt @@ -3,7 +3,7 @@ ManaCost:2 R R Types:Sorcery Text:no text A:SP$ Dig | Cost$ 2 R R | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | DigNum$ 1 | Reveal$ True | ChangeNum$ All | ChangeValid$ Card.YouDontCtrl | DestinationZone$ Library | LibraryPosition$ 0 | RememberChanged$ True | ForgetOtherRemembered$ True | SubAbility$ DBDamage | SpellDescription$ Target opponent reveals the top card of his or her library. Cerebral Eruption deals damage equal to the revealed card's converted mana cost to that player and each creature he or she controls. If a land card is revealed this way, return Cerebral Eruption to its owner's hand. -SVar:DBDamage:DB$ DamageAll | ValidCards$ Creature.YouDontCtrl | ValidPlayers$ Opponent | NumDmg$ X | SubAbility$ DBReturn +SVar:DBDamage:DB$ DamageAll | ValidCards$ Creature.YouDontCtrl | ValidPlayers$ Opponent | NumDmg$ X | SubAbility$ DBReturn | References$ X SVar:DBReturn:DB$ ChangeZone | Defined$ Self | Origin$ Stack | Destination$ Hand | ConditionDefined$ Remembered | ConditionPresent$ Land | ConditionCompare$ EQ1 SVar:X:Remembered$CardManaCost SVar:Rarity:Rare diff --git a/res/cardsfolder/c/cerebral_vortex.txt b/res/cardsfolder/c/cerebral_vortex.txt index 1d649e56972..fff580a028a 100644 --- a/res/cardsfolder/c/cerebral_vortex.txt +++ b/res/cardsfolder/c/cerebral_vortex.txt @@ -3,7 +3,7 @@ ManaCost:1 U R Types:Instant Text:no text A:SP$ Draw | Cost$ 1 U R | NumCards$ 2 | ValidTgts$ Player | TgtPrompt$ Choose a player | SubAbility$ DBDamage | SpellDescription$ Target player draws two cards, then CARDNAME deals damage to that player equal to the number of cards he or she has drawn this turn. -SVar:DBDamage:DB$DealDamage | Defined$ Targeted | NumDmg$ X +SVar:DBDamage:DB$DealDamage | Defined$ Targeted | NumDmg$ X | References$ X SVar:X:TargetedPlayer$CardsDrawn SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/c/ceta_sanctuary.txt b/res/cardsfolder/c/ceta_sanctuary.txt index f89dc411119..767f51e21d6 100644 --- a/res/cardsfolder/c/ceta_sanctuary.txt +++ b/res/cardsfolder/c/ceta_sanctuary.txt @@ -3,8 +3,8 @@ ManaCost:2 U Types:Enchantment Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | CheckSVar$ X | SVarCompare$ GE1 | Execute$ TrigDraw | TriggerDescription$ At the beginning of your upkeep, if you control a red or green permanent, draw a card, then discard a card. If you control a red permanent and a green permanent, instead draw two cards, then discard a card. -SVar:TrigDraw:DB$Draw | Defined$ You | NumCards$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | SubAbility$ DBDraw -SVar:DBDraw:DB$Draw | Defined$ You | NumCards$ 2 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE2 | SubAbility$ DBDiscard +SVar:TrigDraw:DB$Draw | Defined$ You | NumCards$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | SubAbility$ DBDraw | References$ X,Y,Z +SVar:DBDraw:DB$Draw | Defined$ You | NumCards$ 2 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE2 | SubAbility$ DBDiscard | References$ X,Y,Z SVar:DBDiscard:DB$Discard | Defined$ You | Mode$ TgtChoose | NumCards$ 1 SVar:Y:Count$Valid Permanent.Red+YouCtrl/LimitMax.1 SVar:Z:Count$Valid Permanent.Green+YouCtrl/LimitMax.1 diff --git a/res/cardsfolder/c/chain_reaction.txt b/res/cardsfolder/c/chain_reaction.txt index 153f30d576b..55e83c10e13 100644 --- a/res/cardsfolder/c/chain_reaction.txt +++ b/res/cardsfolder/c/chain_reaction.txt @@ -2,7 +2,7 @@ Name:Chain Reaction ManaCost:2 R R Types:Sorcery Text:no text -A:SP$ DamageAll | Cost$ 2 R R | NumDmg$ X | ValidCards$ Creature | ValidDescription$ each creature. | SpellDescription$ CARDNAME deals X damage to each creature, where X is the number of creatures on the battlefield. +A:SP$ DamageAll | Cost$ 2 R R | NumDmg$ X | ValidCards$ Creature | ValidDescription$ each creature. | References$ X | SpellDescription$ CARDNAME deals X damage to each creature, where X is the number of creatures on the battlefield. SVar:X:Count$TypeOnBattlefield.Creature SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/chain_reaction.jpg diff --git a/res/cardsfolder/c/chalice_of_life_chalice_of_death.txt b/res/cardsfolder/c/chalice_of_life_chalice_of_death.txt index 4cca3291164..8c8ec251b49 100644 --- a/res/cardsfolder/c/chalice_of_life_chalice_of_death.txt +++ b/res/cardsfolder/c/chalice_of_life_chalice_of_death.txt @@ -3,7 +3,7 @@ ManaCost:3 Types:Artifact Text:no text A:AB$ GainLife | Cost$ T | LifeAmount$ 1 | Defined$ You | SubAbility$ DBTransform | SpellDescription$ You gain 1 life. Then if you have at least 10 more life than your starting life total, transform CARDNAME. -SVar:DBTransform:DB$SetState | Defined$ Self | Mode$ Transform | ConditionCheckSVar$ X | ConditionSVarCompare$ GEY +SVar:DBTransform:DB$SetState | Defined$ Self | Mode$ Transform | ConditionCheckSVar$ X | ConditionSVarCompare$ GEY | References$ X,Y SVar:X:Count$YourLifeTotal SVar:Y:Count$YourStartingLife/Plus.10 AlternateMode:DoubleFaced diff --git a/res/cardsfolder/c/chameleon_colossus.txt b/res/cardsfolder/c/chameleon_colossus.txt index 1d2f574fd29..40a1cbc178b 100644 --- a/res/cardsfolder/c/chameleon_colossus.txt +++ b/res/cardsfolder/c/chameleon_colossus.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 S:Mode$ Continuous | EffectZone$ All | Affected$ Card.Self | CharacteristicDefining$ True | AddType$ AllCreatureTypes | Description$ Changeling (This card is every creature type at all times.) K:Protection from black -A:AB$ Pump | Cost$ 2 G G | NumAtt$ +X | NumDef$ +X | SpellDescription$ CARDNAME gets +X/+X until end of turn, where X is its power. +A:AB$ Pump | Cost$ 2 G G | NumAtt$ +X | NumDef$ +X | References$ X | SpellDescription$ CARDNAME gets +X/+X until end of turn, where X is its power. SVar:X:Count$CardPower SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/chameleon_colossus.jpg diff --git a/res/cardsfolder/c/chancellor_of_the_forge.txt b/res/cardsfolder/c/chancellor_of_the_forge.txt index 18fb1a580d5..9b2698dc5f4 100644 --- a/res/cardsfolder/c/chancellor_of_the_forge.txt +++ b/res/cardsfolder/c/chancellor_of_the_forge.txt @@ -4,7 +4,7 @@ Types:Creature Giant Text:You may reveal this card from your opening hand. If you do, at the beginning of the first upkeep, put a 1/1 red Goblin creature token with haste onto the battlefield. PT:5/5 T:Mode$ ChangesZone | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ EffMassToken | TriggerDescription$ When CARDNAME enters the battlefield, put X 1/1 red Goblin creature tokens with haste onto the battlefield, where X is the number of creatures you control. -SVar:EffMassToken:AB$ Token | Cost$ 0 | TokenAmount$ X | TokenOwner$ You | TokenName$ Goblin | TokenTypes$ Creature,Goblin | TokenColors$ Red | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Haste +SVar:EffMassToken:AB$ Token | Cost$ 0 | TokenAmount$ X | TokenOwner$ You | TokenName$ Goblin | TokenTypes$ Creature,Goblin | TokenColors$ Red | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Haste | References$ X SVar:X:Count$Valid Creature.YouCtrl K:MayEffectFromOpeningHand:TokenOnUpkeep SVar:TokenOnUpkeep:AB$ Effect | Cost$ 0 | Triggers$ TrigToken | SVars$ EffToken,RemoveMe | Name$ Chancellor of the Forge effect diff --git a/res/cardsfolder/c/chandra_ablaze.txt b/res/cardsfolder/c/chandra_ablaze.txt index 69c4c28aa2c..154f9f5c7b0 100644 --- a/res/cardsfolder/c/chandra_ablaze.txt +++ b/res/cardsfolder/c/chandra_ablaze.txt @@ -8,7 +8,7 @@ SVar:DBChandraDealDamage:DB$ DealDamage | ValidTgts$ Creature,Player | TgtPrompt SVar:DBChandraCleanup:DB$ Cleanup | ClearRemembered$ True A:AB$ Discard | Cost$ SubCounter<2/LOYALTY> | Mode$ Hand | Defined$ Each | Planeswalker$ True | SubAbility$ DBChandraDraw | SpellDescription$ Each player discards his or her hand, then draws three cards. SVar:DBChandraDraw:DB$ Draw | Defined$ Each | NumCards$ 3 -A:AB$ Play | Cost$ SubCounter<7/LOYALTY> | Valid$ Instant.Red+YouCtrl,Sorcery.Red+YouCtrl | ValidZone$ Graveyard | WithoutManaCost$ True | Planeswalker$ True | Ultimate$ True | Amount$ ChandraZ | Controller$ You | Optional$ True | SpellDescription$ Cast any number of red instant and/or sorcery cards from your graveyard without paying their mana costs. +A:AB$ Play | Cost$ SubCounter<7/LOYALTY> | Valid$ Instant.Red+YouCtrl,Sorcery.Red+YouCtrl | ValidZone$ Graveyard | WithoutManaCost$ True | Planeswalker$ True | Ultimate$ True | Amount$ ChandraZ | Controller$ You | Optional$ True | References$ ChandraX,ChandraY,ChandraZ | SpellDescription$ Cast any number of red instant and/or sorcery cards from your graveyard without paying their mana costs. SVar:ChandraX:Count$TypeInYourYard.Instant.Red SVar:ChandraY:Count$TypeInYourYard.Sorcery.Red SVar:ChandraZ:SVar$ChandraX/Plus.ChandraY diff --git a/res/cardsfolder/c/chandra_nalaar.txt b/res/cardsfolder/c/chandra_nalaar.txt index 326db0abbc4..58f2d2743f8 100644 --- a/res/cardsfolder/c/chandra_nalaar.txt +++ b/res/cardsfolder/c/chandra_nalaar.txt @@ -4,7 +4,7 @@ Types:Planeswalker Chandra Text:no text Loyalty:6 A:AB$ DealDamage | Cost$ AddCounter<1/LOYALTY> | ValidTgts$ Player | TgtPrompt$ Select target player | NumDmg$ 1 | Planeswalker$ True | SpellDescription$ CARDNAME deals 1 damage to target player. -A:AB$ DealDamage | Cost$ SubCounter | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ ChosenX | Planeswalker$ True | SpellDescription$ CARDNAME deals X damage to target creature. +A:AB$ DealDamage | Cost$ SubCounter | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ ChosenX | Planeswalker$ True | References$ X | SpellDescription$ CARDNAME deals X damage to target creature. A:AB$ DamageAll | Cost$ SubCounter<8/LOYALTY> | ValidTgts$ Player | TgtPrompt$ Select target player | NumDmg$ 10 | ValidCards$ Creature | ValidPlayers$ Targeted | Planeswalker$ True | Ultimate$ True | ValidDescription$ target player and each creature he or she controls. | SpellDescription$ CARDNAME deals 10 damage to target player and each creature he or she controls. SVar:X:XChoice SVar:Rarity:Mythic diff --git a/res/cardsfolder/c/charge_across_the_araba.txt b/res/cardsfolder/c/charge_across_the_araba.txt index 6b5dffd1d3e..f34f1db5828 100644 --- a/res/cardsfolder/c/charge_across_the_araba.txt +++ b/res/cardsfolder/c/charge_across_the_araba.txt @@ -2,8 +2,8 @@ Name:Charge Across the Araba ManaCost:4 W Types:Instant Arcane Text:no text -A:SP$ ChangeZone | Cost$ 4 W | Origin$ Battlefield | Destination$ Hand | ChangeType$ Plains.YouCtrl | ChangeNum$ X | Hidden$ True | RememberChanged$ True | SubAbility$ DBPump | SpellDescription$ Sweep - Return any number of Plains you control to their owner's hand. Creatures you control get +1/+1 until end of turn for each Plains returned this way. -SVar:DBPump:DB$ PumpAll | ValidCards$ Creature.YouCtrl | NumAtt$ +Y | NumDef$ +Y +A:SP$ ChangeZone | Cost$ 4 W | Origin$ Battlefield | Destination$ Hand | ChangeType$ Plains.YouCtrl | ChangeNum$ X | Hidden$ True | RememberChanged$ True | SubAbility$ DBPump | References$ X | SpellDescription$ Sweep - Return any number of Plains you control to their owner's hand. Creatures you control get +1/+1 until end of turn for each Plains returned this way. +SVar:DBPump:DB$ PumpAll | ValidCards$ Creature.YouCtrl | NumAtt$ +Y | NumDef$ +Y | References$ Y SVar:X:Count$Valid Plains.YouCtrl SVar:Y:Remembered$Amount SVar:RemAIDeck:True diff --git a/res/cardsfolder/c/chastise.txt b/res/cardsfolder/c/chastise.txt index 686a51f8cac..6e30a448bf6 100644 --- a/res/cardsfolder/c/chastise.txt +++ b/res/cardsfolder/c/chastise.txt @@ -3,7 +3,7 @@ ManaCost:3 W Types:Instant Text:no text A:SP$ Destroy | Cost$ 3 W | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | SubAbility$ DBGainLife | SpellDescription$ Destroy target attacking creature. You gain life equal to its power. -SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X +SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Targeted$CardPower SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/chastise.jpg diff --git a/res/cardsfolder/c/children_of_korlis.txt b/res/cardsfolder/c/children_of_korlis.txt index 2a4b59428f0..a711009ec30 100644 --- a/res/cardsfolder/c/children_of_korlis.txt +++ b/res/cardsfolder/c/children_of_korlis.txt @@ -3,7 +3,7 @@ ManaCost:W Types:Creature Human Rebel Cleric Text:no text PT:1/1 -A:AB$ GainLife | Cost$ Sac<1/CARDNAME> | LifeAmount$ X | SpellDescription$ You gain life equal to the life you've lost this turn. (Damage causes loss of life.) +A:AB$ GainLife | Cost$ Sac<1/CARDNAME> | LifeAmount$ X | References$ X | SpellDescription$ You gain life equal to the life you've lost this turn. (Damage causes loss of life.) SVar:X:Count$LifeYouLostThisTurn SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/children_of_korlis.jpg diff --git a/res/cardsfolder/c/chill_haunting.txt b/res/cardsfolder/c/chill_haunting.txt index 82e76795559..bdd314f4f1d 100644 --- a/res/cardsfolder/c/chill_haunting.txt +++ b/res/cardsfolder/c/chill_haunting.txt @@ -2,7 +2,7 @@ Name:Chill Haunting ManaCost:1 B Types:Instant Text:no text -A:SP$ Pump | Cost$ 1 B ExileFromGrave | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -ChosenX | NumDef$ -ChosenX | IsCurse$ True | SpellDescription$ Target creature gets -X/-X until end of turn. +A:SP$ Pump | Cost$ 1 B ExileFromGrave | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -ChosenX | NumDef$ -ChosenX | IsCurse$ True | References$ X | SpellDescription$ Target creature gets -X/-X until end of turn. SVar:X:XChoice #ChosenX SVar created by Cost payment SVar:RemAIDeck:True diff --git a/res/cardsfolder/c/chimeric_coils.txt b/res/cardsfolder/c/chimeric_coils.txt index 23fb1931905..f9b264a07c1 100644 --- a/res/cardsfolder/c/chimeric_coils.txt +++ b/res/cardsfolder/c/chimeric_coils.txt @@ -2,7 +2,7 @@ Name:Chimeric Coils ManaCost:1 Types:Artifact Text:no text -A:AB$ Animate | Cost$ X 1 | Defined$ Self | Power$ X | Toughness$ X | Types$ Creature,Artifact,Construct | Keywords$ At the beginning of the end step, sacrifice CARDNAME. | SpellDescription$ CARDNAME becomes an X/X Construct artifact creature. Sacrifice it at the beginning of the next end step. +A:AB$ Animate | Cost$ X 1 | Defined$ Self | Power$ X | Toughness$ X | Types$ Creature,Artifact,Construct | Keywords$ At the beginning of the end step, sacrifice CARDNAME. | References$ X | sSpellDescription$ CARDNAME becomes an X/X Construct artifact creature. Sacrifice it at the beginning of the next end step. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/c/chimeric_staff.txt b/res/cardsfolder/c/chimeric_staff.txt index d981a0566c7..8b6158abe2d 100644 --- a/res/cardsfolder/c/chimeric_staff.txt +++ b/res/cardsfolder/c/chimeric_staff.txt @@ -2,7 +2,7 @@ Name:Chimeric Staff ManaCost:4 Types:Artifact Text:no text -A:AB$ Animate | Cost$ X | Defined$ Self | Power$ X | Toughness$ X | Types$ Creature,Artifact,Construct | SpellDescription$ CARDNAME becomes an X/X Construct artifact creature until end of turn. +A:AB$ Animate | Cost$ X | Defined$ Self | Power$ X | Toughness$ X | Types$ Creature,Artifact,Construct | References$ X | SpellDescription$ CARDNAME becomes an X/X Construct artifact creature until end of turn. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/c/chromatic_armor.txt b/res/cardsfolder/c/chromatic_armor.txt index c4bf70e7062..1b4c47999b0 100644 --- a/res/cardsfolder/c/chromatic_armor.txt +++ b/res/cardsfolder/c/chromatic_armor.txt @@ -8,7 +8,7 @@ T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefi SVar:ChooseColor:DB$ ChooseColor | Defined$ You K:etbCounter:SLEIGHT:1 S:Mode$ PreventDamage | Target$ Creature.EnchantedBy | Source$ Card.ChosenColor | Description$ Prevent all damage that would be dealt to enchanted creature by a source of the last chosen color. -A:AB$ PutCounter | Cost$ X | Defined$ Self | CounterType$ SLEIGHT | CounterNum$ 1 | SubAbility$ ChooseColor | SpellDescription$ Put a sleight counter on CARDNAME and choose a color. X is the number of sleight counters on CARDNAME. +A:AB$ PutCounter | Cost$ X | Defined$ Self | CounterType$ SLEIGHT | CounterNum$ 1 | SubAbility$ ChooseColor | References$ X | SpellDescription$ Put a sleight counter on CARDNAME and choose a color. X is the number of sleight counters on CARDNAME. SVar:X:Count$CardCounters.SLEIGHT SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/c/chronozoa.txt b/res/cardsfolder/c/chronozoa.txt index c0931904d01..2b15722895b 100644 --- a/res/cardsfolder/c/chronozoa.txt +++ b/res/cardsfolder/c/chronozoa.txt @@ -6,7 +6,7 @@ PT:3/3 K:Flying K:Vanishing:3 T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Graveyard | Execute$ TrigCopyPermanent | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, if it had no time counters on it, put two tokens that are copies of it onto the battlefield. -SVar:TrigCopyPermanent:AB$ CopyPermanent | Cost$ 0 | Defined$ TriggeredCard | NumCopies$ 2 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 +SVar:TrigCopyPermanent:AB$ CopyPermanent | Cost$ 0 | Defined$ TriggeredCard | NumCopies$ 2 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | References$ X SVar:X:TriggeredCard$CardCounters.TIME SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/chronozoa.jpg diff --git a/res/cardsfolder/c/cinder_elemental.txt b/res/cardsfolder/c/cinder_elemental.txt index 266365872fa..ba406899d2b 100644 --- a/res/cardsfolder/c/cinder_elemental.txt +++ b/res/cardsfolder/c/cinder_elemental.txt @@ -3,7 +3,7 @@ ManaCost:3 R Types:Creature Elemental Text:no text PT:2/2 -A:AB$ DealDamage | Cost$ X R T Sac<1/CARDNAME> | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target creature or player. +A:AB$ DealDamage | Cost$ X R T Sac<1/CARDNAME> | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to target creature or player. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/c/cinder_shade.txt b/res/cardsfolder/c/cinder_shade.txt index 975a2fa5911..f53c218acac 100644 --- a/res/cardsfolder/c/cinder_shade.txt +++ b/res/cardsfolder/c/cinder_shade.txt @@ -4,7 +4,7 @@ Types:Creature Shade Text:no text PT:1/1 A:AB$ Pump | Cost$ B | NumAtt$ +1 | NumDef$ +1 | SpellDescription$ CARDNAME gets +1/+1 until end of turn. -A:AB$ DealDamage | Cost$ R Sac<1/CARDNAME> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to its power to target creature. +A:AB$ DealDamage | Cost$ R Sac<1/CARDNAME> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to its power to target creature. SVar:X:Count$CardPower SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/cinder_shade.jpg diff --git a/res/cardsfolder/c/circular_logic.txt b/res/cardsfolder/c/circular_logic.txt index 5651d5a0581..90d7c96522b 100644 --- a/res/cardsfolder/c/circular_logic.txt +++ b/res/cardsfolder/c/circular_logic.txt @@ -2,7 +2,7 @@ Name:Circular Logic ManaCost:2 U Types:Instant Text:no text -A:SP$ Counter | Cost$ 2 U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | SpellDescription$ Counter target spell unless its controller pays 1 for each card in your graveyard. +A:SP$ Counter | Cost$ 2 U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | References$ X | SpellDescription$ Counter target spell unless its controller pays 1 for each card in your graveyard. K:Madness:U SVar:X:Count$InYourYard SVar:RemAIDeck:True diff --git a/res/cardsfolder/c/citanul_flute.txt b/res/cardsfolder/c/citanul_flute.txt index d201dc6a4d0..597743acea6 100644 --- a/res/cardsfolder/c/citanul_flute.txt +++ b/res/cardsfolder/c/citanul_flute.txt @@ -2,7 +2,7 @@ Name:Citanul Flute ManaCost:5 Types:Artifact Text:no text -A:AB$ ChangeZone | Cost$ X T | Origin$ Library | Destination$ Hand | ChangeType$ Creature.cmcLEX | ChangeNum$ 1 | SpellDescription$ Search your library for a creature card with converted mana cost X or less, reveal it, and put it into your hand. Then shuffle your library. +A:AB$ ChangeZone | Cost$ X T | Origin$ Library | Destination$ Hand | ChangeType$ Creature.cmcLEX | ChangeNum$ 1 | References$ X | SpellDescription$ Search your library for a creature card with converted mana cost X or less, reveal it, and put it into your hand. Then shuffle your library. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/c/city_of_shadows.txt b/res/cardsfolder/c/city_of_shadows.txt index 534bec64f1e..423ae7476f1 100644 --- a/res/cardsfolder/c/city_of_shadows.txt +++ b/res/cardsfolder/c/city_of_shadows.txt @@ -3,7 +3,7 @@ ManaCost:no cost Types:Land Text:no text A:AB$ PutCounter | Cost$ T Exile<1/Creature> | CounterType$ STORAGE | CounterNum$ 1 | SpellDescription$ Put a storage counter on CARDNAME. -A:AB$ Mana | Cost$ T | Produced$ 1 | Amount$ X | SpellDescription$ Add X to your mana pool, where X is the number of storage counters on City of Shadows. +A:AB$ Mana | Cost$ T | Produced$ 1 | Amount$ X | References$ X | SpellDescription$ Add X to your mana pool, where X is the number of storage counters on City of Shadows. SVar:X:Count$CardCounters.STORAGE SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/c/clearwater_goblet.txt b/res/cardsfolder/c/clearwater_goblet.txt index 23fb8f847f9..a6376d68d72 100644 --- a/res/cardsfolder/c/clearwater_goblet.txt +++ b/res/cardsfolder/c/clearwater_goblet.txt @@ -4,7 +4,7 @@ Types:Artifact Text:no text K:Sunburst T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigGainLife | TriggerDescription$ At the beginning of your upkeep, you may gain life equal to the number of charge counters on CARDNAME. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:Count$CardCounters.CHARGE SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/c/clockwork_avian.txt b/res/cardsfolder/c/clockwork_avian.txt index 3f76e2cffe1..482445eaeb5 100644 --- a/res/cardsfolder/c/clockwork_avian.txt +++ b/res/cardsfolder/c/clockwork_avian.txt @@ -7,7 +7,7 @@ K:Flying K:etbCounter:P1P0:4 T:Mode$ Phase | Phase$ EndCombat | ValidPlayer$ Player | IsPresent$ Card.attacking+Self,Card.blocking+Self | TriggerZones$ Battlefield | Execute$ TrigSubCounter | TriggerDescription$ At end of combat, if CARDNAME attacked or blocked this combat, remove a +1/+0 counter from it. SVar:TrigSubCounter:AB$ RemoveCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P0 | CounterNum$ 1 -A:AB$ PutCounter | Cost$ X T | Defined$ Self | UpTo$ True | MaxFromEffect$ 4 | CounterType$ P1P0 | CounterNum$ X | ActivationPhases$ Upkeep | PlayerTurn$ True | SpellDescription$ Put up to X +1/+0 counters on CARDNAME. This ability can't cause the total number of +1/+0 counters on CARDNAME to be greater than four. Activate this ability only during your upkeep. +A:AB$ PutCounter | Cost$ X T | Defined$ Self | UpTo$ True | MaxFromEffect$ 4 | CounterType$ P1P0 | CounterNum$ X | ActivationPhases$ Upkeep | PlayerTurn$ True | References$ X | SpellDescription$ Put up to X +1/+0 counters on CARDNAME. This ability can't cause the total number of +1/+0 counters on CARDNAME to be greater than four. Activate this ability only during your upkeep. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/c/clockwork_beast.txt b/res/cardsfolder/c/clockwork_beast.txt index 5b55601dddb..31bfee36059 100644 --- a/res/cardsfolder/c/clockwork_beast.txt +++ b/res/cardsfolder/c/clockwork_beast.txt @@ -6,7 +6,7 @@ PT:0/4 K:etbCounter:P1P0:7 T:Mode$ Phase | Phase$ EndCombat | ValidPlayer$ Player | IsPresent$ Card.attacking+Self,Card.blocking+Self | TriggerZones$ Battlefield | Execute$ TrigSubCounter | TriggerDescription$ At end of combat, if CARDNAME attacked or blocked this combat, remove a +1/+0 counter from it. SVar:TrigSubCounter:AB$ RemoveCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P0 | CounterNum$ 1 -A:AB$ PutCounter | Cost$ X T | Defined$ Self | UpTo$ True | MaxFromEffect$ 7 | CounterType$ P1P0 | CounterNum$ X | ActivationPhases$ Upkeep | PlayerTurn$ True | SpellDescription$ Put up to X +1/+0 counters on CARDNAME. This ability can't cause the total number of +1/+0 counters on CARDNAME to be greater than seven. Activate this ability only during your upkeep. +A:AB$ PutCounter | Cost$ X T | Defined$ Self | UpTo$ True | MaxFromEffect$ 7 | CounterType$ P1P0 | CounterNum$ X | ActivationPhases$ Upkeep | PlayerTurn$ True | References$ X | SpellDescription$ Put up to X +1/+0 counters on CARDNAME. This ability can't cause the total number of +1/+0 counters on CARDNAME to be greater than seven. Activate this ability only during your upkeep. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/c/clockwork_steed.txt b/res/cardsfolder/c/clockwork_steed.txt index b1f7f0c50cf..02588cfe29a 100644 --- a/res/cardsfolder/c/clockwork_steed.txt +++ b/res/cardsfolder/c/clockwork_steed.txt @@ -7,7 +7,7 @@ K:etbCounter:P1P0:4 K:CantBeBlockedBy Artifact.Creature T:Mode$ Phase | Phase$ EndCombat | ValidPlayer$ Player | IsPresent$ Card.attacking+Self,Card.blocking+Self | TriggerZones$ Battlefield | Execute$ TrigSubCounter | TriggerDescription$ At end of combat, if CARDNAME attacked or blocked this combat, remove a +1/+0 counter from it. SVar:TrigSubCounter:AB$ RemoveCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P0 | CounterNum$ 1 -A:AB$ PutCounter | Cost$ X T | Defined$ Self | UpTo$ True | MaxFromEffect$ 4 | CounterType$ P1P0 | CounterNum$ X | ActivationPhases$ Upkeep | PlayerTurn$ True | SpellDescription$ Put up to X +1/+0 counters on CARDNAME. This ability can't cause the total number of +1/+0 counters on CARDNAME to be greater than four. Activate this ability only during your upkeep. +A:AB$ PutCounter | Cost$ X T | Defined$ Self | UpTo$ True | MaxFromEffect$ 4 | CounterType$ P1P0 | CounterNum$ X | ActivationPhases$ Upkeep | PlayerTurn$ True | References$ X | SpellDescription$ Put up to X +1/+0 counters on CARDNAME. This ability can't cause the total number of +1/+0 counters on CARDNAME to be greater than four. Activate this ability only during your upkeep. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/c/clockwork_swarm.txt b/res/cardsfolder/c/clockwork_swarm.txt index 0a4e26cde23..7544bb8d9ce 100644 --- a/res/cardsfolder/c/clockwork_swarm.txt +++ b/res/cardsfolder/c/clockwork_swarm.txt @@ -7,7 +7,7 @@ K:etbCounter:P1P0:4 K:CantBeBlockedBy Creature.Wall T:Mode$ Phase | Phase$ EndCombat | ValidPlayer$ Player | IsPresent$ Card.attacking+Self,Card.blocking+Self | TriggerZones$ Battlefield | Execute$ TrigSubCounter | TriggerDescription$ At end of combat, if CARDNAME attacked or blocked this combat, remove a +1/+0 counter from it. SVar:TrigSubCounter:AB$ RemoveCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P0 | CounterNum$ 1 -A:AB$ PutCounter | Cost$ X T | Defined$ Self | UpTo$ True | MaxFromEffect$ 4 | CounterType$ P1P0 | CounterNum$ X | ActivationPhases$ Upkeep | PlayerTurn$ True | SpellDescription$ Put up to X +1/+0 counters on CARDNAME. This ability can't cause the total number of +1/+0 counters on CARDNAME to be greater than four. Activate this ability only during your upkeep. +A:AB$ PutCounter | Cost$ X T | Defined$ Self | UpTo$ True | MaxFromEffect$ 4 | CounterType$ P1P0 | CounterNum$ X | ActivationPhases$ Upkeep | PlayerTurn$ True | References$ X | SpellDescription$ Put up to X +1/+0 counters on CARDNAME. This ability can't cause the total number of +1/+0 counters on CARDNAME to be greater than four. Activate this ability only during your upkeep. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/c/cloudhoof_kirin.txt b/res/cardsfolder/c/cloudhoof_kirin.txt index 53a6f7fd667..6a2046fb1c3 100644 --- a/res/cardsfolder/c/cloudhoof_kirin.txt +++ b/res/cardsfolder/c/cloudhoof_kirin.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 K:Flying T:Mode$ SpellCast | ValidCard$ Spirit,Arcane | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigMill | TriggerDescription$ Whenever you cast a Spirit or Arcane spell, you may put the top X cards of target player's library into his or her graveyard, where X is that spell's converted mana cost. -SVar:TrigMill:AB$Mill | Cost$ 0 | ValidTgts$ Player | TgtPrompt$ Select target player | NumCards$ X +SVar:TrigMill:AB$Mill | Cost$ 0 | ValidTgts$ Player | TgtPrompt$ Select target player | NumCards$ X | References$ X SVar:X:TriggeredCard$CardManaCost SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/cloudhoof_kirin.jpg diff --git a/res/cardsfolder/c/cloudpost.txt b/res/cardsfolder/c/cloudpost.txt index 488592ad2be..c7f2f79afc0 100644 --- a/res/cardsfolder/c/cloudpost.txt +++ b/res/cardsfolder/c/cloudpost.txt @@ -3,7 +3,7 @@ ManaCost:no cost Types:Land Locus Text:no text K:CARDNAME enters the battlefield tapped. -A:AB$ Mana | Cost$ T | Produced$ 1 | Amount$ X | SpellDescription$ Add 1 to your mana pool for each Locus on the battlefield. +A:AB$ Mana | Cost$ T | Produced$ 1 | Amount$ X | References$ X | SpellDescription$ Add 1 to your mana pool for each Locus on the battlefield. SVar:X:Count$Valid Locus SVar:RemRandomDeck:True SVar:RemAIDeck:True diff --git a/res/cardsfolder/c/coalhauler_swine.txt b/res/cardsfolder/c/coalhauler_swine.txt index 1960e1caca5..8ef02b4b7e4 100644 --- a/res/cardsfolder/c/coalhauler_swine.txt +++ b/res/cardsfolder/c/coalhauler_swine.txt @@ -4,7 +4,7 @@ Types:Creature Boar Beast Text:no text PT:4/4 T:Mode$ DamageDone | Execute$ TrigDamage | ValidTarget$ Card.Self | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME is dealt damage, it deals that much damage to each player. -SVar:TrigDamage:AB$ DealDamage | Cost$ 0 | NumDmg$ X | Defined$ Each +SVar:TrigDamage:AB$ DealDamage | Cost$ 0 | NumDmg$ X | Defined$ Each | References$ X SVar:X:TriggerCount$DamageAmount SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/c/coalition_relic.txt b/res/cardsfolder/c/coalition_relic.txt index 47a9b3eaa08..23314fdf146 100644 --- a/res/cardsfolder/c/coalition_relic.txt +++ b/res/cardsfolder/c/coalition_relic.txt @@ -6,7 +6,7 @@ A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 1 | SpellDescription$ Add one man A:AB$ PutCounter | Cost$ T | CounterType$ CHARGE | CounterNum$ 1 | SpellDescription$ Put a charge counter on CARDNAME. T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigGetMana | TriggerDescription$ At the beginning of your precombat main phase, remove all charge counters from CARDNAME. Add one mana of any color to your mana pool for each charge counter removed this way. SVar:TrigGetMana:AB$ Mana | Cost$ 0 | Produced$ Any | Amount$ X | SubAbility$ TrigRemove | SpellDescription$ Add one mana of any color to your mana pool for each charge counter removed this way. -SVar:TrigRemove:DB$ RemoveCounter | Cost$ 0 | CounterType$ CHARGE | CounterNum$ X +SVar:TrigRemove:DB$ RemoveCounter | Cost$ 0 | CounterType$ CHARGE | CounterNum$ X | References$ X SVar:X:Count$CardCounters.CHARGE SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/c/coalition_victory.txt b/res/cardsfolder/c/coalition_victory.txt index 5475f4b7948..20c9a900833 100644 --- a/res/cardsfolder/c/coalition_victory.txt +++ b/res/cardsfolder/c/coalition_victory.txt @@ -2,7 +2,7 @@ Name:Coalition Victory ManaCost:3 W U B R G Types:Sorcery Text:no text -A:SP$ WinsGame | Cost$ 3 W U B R G | Defined$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ10 | SpellDescription$ You win the game if you control a land of each basic land type and a creature of each color. +A:SP$ WinsGame | Cost$ 3 W U B R G | Defined$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ10 | References$ X,Y,Z | SpellDescription$ You win the game if you control a land of each basic land type and a creature of each color. SVar:Z:Count$ColoredCreatures SVar:Y:Count$Domain SVar:X:SVar$Y/Plus.Z diff --git a/res/cardsfolder/c/cold_eyed_selkie.txt b/res/cardsfolder/c/cold_eyed_selkie.txt index be4d82487a6..e5042bc1103 100644 --- a/res/cardsfolder/c/cold_eyed_selkie.txt +++ b/res/cardsfolder/c/cold_eyed_selkie.txt @@ -5,7 +5,7 @@ Text:no text PT:1/1 K:Islandwalk T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | Execute$ TrigDraw | CombatDamage$ True | OptionalDecider$ You | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you may draw that many cards. -SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ X +SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/cold_eyed_selkie.jpg diff --git a/res/cardsfolder/c/cold_snap.txt b/res/cardsfolder/c/cold_snap.txt index 27dcad3a89b..5e4e4280627 100644 --- a/res/cardsfolder/c/cold_snap.txt +++ b/res/cardsfolder/c/cold_snap.txt @@ -5,8 +5,8 @@ Text:no text K:Cumulative upkeep:2 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigDamageYou | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of each player's upkeep, CARDNAME deals damage to that player equal to the number of snow lands he or she controls. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Opponent | Execute$ TrigDamageOpp | TriggerZones$ Battlefield | Secondary$ True | TriggerDescription$ At the beginning of each player's upkeep, CARDNAME deals damage to that player equal to the number of snow lands he or she controls. -SVar:TrigDamageYou:AB$DealDamage | Cost$ 0 | Defined$ You | NumDmg$ X -SVar:TrigDamageOpp:AB$DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ Y +SVar:TrigDamageYou:AB$DealDamage | Cost$ 0 | Defined$ You | NumDmg$ X | References$ X +SVar:TrigDamageOpp:AB$DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ Y | References$ Y SVar:X:Count$Valid Land.Snow+YouCtrl SVar:Y:Count$Valid Land.Snow+YouDontCtrl SVar:RemRandomDeck:True diff --git a/res/cardsfolder/c/collapsing_borders.txt b/res/cardsfolder/c/collapsing_borders.txt index be6929db3ea..c84276e0126 100644 --- a/res/cardsfolder/c/collapsing_borders.txt +++ b/res/cardsfolder/c/collapsing_borders.txt @@ -4,8 +4,8 @@ Types:Enchantment Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigGainLifeYou | TriggerZones$ Battlefield | TriggerDescription$ Domain - At the beginning of each player's upkeep, that player gains 1 life for each basic land type among lands he or she controls. Then CARDNAME deals 3 damage to him or her. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Opponent | Execute$ TrigGainLifeOpp | TriggerZones$ Battlefield | Secondary$ True | TriggerDescription$ Domain - At the beginning of each player's upkeep, that player gains 1 life for each basic land type among lands he or she controls. Then CARDNAME deals 3 damage to him or her. -SVar:TrigGainLifeYou:AB$ GainLife | Cost$ 0 | Defined$ You | LifeAmount$ Y | SubAbility$ DBDamageYou -SVar:TrigGainLifeOpp:AB$ GainLife | Cost$ 0 | Defined$ Opponent | LifeAmount$ X | SubAbility$ DBDamageOpp +SVar:TrigGainLifeYou:AB$ GainLife | Cost$ 0 | Defined$ You | LifeAmount$ Y | SubAbility$ DBDamageYou | References$ Y +SVar:TrigGainLifeOpp:AB$ GainLife | Cost$ 0 | Defined$ Opponent | LifeAmount$ X | SubAbility$ DBDamageOpp | References$ X SVar:DBDamageYou:DB$ DealDamage | Defined$ You | NumDmg$ 3 SVar:DBDamageOpp:DB$ DealDamage | Defined$ Opponent | NumDmg$ 3 SVar:Y:Count$Domain diff --git a/res/cardsfolder/c/collective_unconscious.txt b/res/cardsfolder/c/collective_unconscious.txt index 37ece3dcbfe..f2079295f89 100644 --- a/res/cardsfolder/c/collective_unconscious.txt +++ b/res/cardsfolder/c/collective_unconscious.txt @@ -2,7 +2,7 @@ Name:Collective Unconscious ManaCost:4 G G Types:Sorcery Text:no text -A:SP$ Draw | Cost$ 4 G G | NumCards$ X | SpellDescription$ Draw a card for each creature you control. +A:SP$ Draw | Cost$ 4 G G | NumCards$ X | References$ X | SpellDescription$ Draw a card for each creature you control. SVar:X:Count$TypeYouCtrl.Creature SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/collective_unconscious.jpg diff --git a/res/cardsfolder/c/commando_raid.txt b/res/cardsfolder/c/commando_raid.txt index a31fe940c4e..b8490184a67 100644 --- a/res/cardsfolder/c/commando_raid.txt +++ b/res/cardsfolder/c/commando_raid.txt @@ -4,7 +4,7 @@ Types:Instant Text:no text A:SP$ Animate | Cost$ 2 R | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | Triggers$ TrigDamage | sVars$ Damage,CommandoRaidX | SpellDescription$ Until end of turn, target creature you control gains "When this creature deals combat damage to a player, you may have it deal damage equal to its power to target creature that player controls." SVar:TrigDamage:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | CombatDamage$ True | Execute$ Damage | OptionalDecider$ You | TriggerDescription$ When this creature deals combat damage to a player, you may have it deal damage equal to its power to target creature that player controls. -SVar:Damage:AB$ DealDamage | Cost$ 0 | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature opponent controls | NumDmg$ CommandoRaidX +SVar:Damage:AB$ DealDamage | Cost$ 0 | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature opponent controls | NumDmg$ CommandoRaidX | References$ CommandoRaidX SVar:CommandoRaidX:Count$CardPower SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/commando_raid.jpg diff --git a/res/cardsfolder/c/conclave_phalanx.txt b/res/cardsfolder/c/conclave_phalanx.txt index c10506b8323..af50c706deb 100644 --- a/res/cardsfolder/c/conclave_phalanx.txt +++ b/res/cardsfolder/c/conclave_phalanx.txt @@ -5,7 +5,7 @@ Text:no text PT:2/4 K:Convoke T:Mode$ ChangesZone | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigGainLife | TriggerDescription$ When CARDNAME enters the battlefield, you gain 1 life for each creature you control. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:Count$Valid Creature.YouCtrl SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/conclave_phalanx.jpg diff --git a/res/cardsfolder/c/condemn.txt b/res/cardsfolder/c/condemn.txt index 47fb23e6fb6..387ea78c1ad 100644 --- a/res/cardsfolder/c/condemn.txt +++ b/res/cardsfolder/c/condemn.txt @@ -3,7 +3,7 @@ ManaCost:W Types:Instant Text:no text A:SP$ ChangeZone | Cost$ W | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | Origin$ Battlefield | Destination$ Library | LibraryPosition$ -1 | SubAbility$ DBGainLife | SpellDescription$ Put target attacking creature on the bottom of its owner's library. Its controller gains life equal to its toughness. -SVar:DBGainLife:DB$GainLife | Defined$ TargetedController | LifeAmount$ X +SVar:DBGainLife:DB$GainLife | Defined$ TargetedController | LifeAmount$ X | References$ X SVar:X:Targeted$CardToughness SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/condemn.jpg diff --git a/res/cardsfolder/c/condescend.txt b/res/cardsfolder/c/condescend.txt index 5fcd74d5f5f..e816086a4f8 100644 --- a/res/cardsfolder/c/condescend.txt +++ b/res/cardsfolder/c/condescend.txt @@ -2,7 +2,7 @@ Name:Condescend ManaCost:X U Types:Instant Text:no text -A:SP$ Counter | Cost$ X U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | SubAbility$ DBScry | SpellDescription$ Counter target spell unless its controller pays X. Scry 2. (To scry 2, look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) +A:SP$ Counter | Cost$ X U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | SubAbility$ DBScry | References$ X | SpellDescription$ Counter target spell unless its controller pays X. Scry 2. (To scry 2, look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) SVar:DBScry:DB$Scry | ScryNum$ 2 SVar:X:Count$xPaid SVar:RemAIDeck:True diff --git a/res/cardsfolder/c/congregate.txt b/res/cardsfolder/c/congregate.txt index c21be96d8c6..9965db1cbbd 100644 --- a/res/cardsfolder/c/congregate.txt +++ b/res/cardsfolder/c/congregate.txt @@ -2,7 +2,7 @@ Name:Congregate ManaCost:3 W Types:Instant Text:no text -A:SP$ GainLife | Cost$ 3 W | LifeAmount$ X | ValidTgts$ Player | TgtPrompt$ Choose a player | SpellDescription$ Target player gains 2 life for each creature on the battlefield. +A:SP$ GainLife | Cost$ 3 W | LifeAmount$ X | ValidTgts$ Player | TgtPrompt$ Choose a player | References$ X | SpellDescription$ Target player gains 2 life for each creature on the battlefield. SVar:X:Count$TypeOnBattlefield.Creature/Times.2 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/congregate.jpg diff --git a/res/cardsfolder/c/consuming_vapors.txt b/res/cardsfolder/c/consuming_vapors.txt index 3d300c19d36..ecca3d1dc63 100644 --- a/res/cardsfolder/c/consuming_vapors.txt +++ b/res/cardsfolder/c/consuming_vapors.txt @@ -4,7 +4,7 @@ Types:Sorcery Text:no text K:Rebound A:SP$ Sacrifice | Cost$ 3 B | SacValid$ Creature | ValidTgts$ Player | TgtPrompt$ Select target opponent | Amount$ 1 | RememberSacrificed$ True | SubAbility$ DBGainLife | SpellDescription$ Target opponent sacrifices a creature. You gain life equal to that creature's toughness. -SVar:DBGainLife:DB$ GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | SubAbility$ DBCleanup +SVar:DBGainLife:DB$ GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$CardToughness SVar:Picture:http://www.wizards.com/global/images/magic/general/consuming_vapors.jpg diff --git a/res/cardsfolder/c/coordinated_barrage.txt b/res/cardsfolder/c/coordinated_barrage.txt index 0ceca7b4205..418e212e625 100644 --- a/res/cardsfolder/c/coordinated_barrage.txt +++ b/res/cardsfolder/c/coordinated_barrage.txt @@ -3,7 +3,7 @@ ManaCost:W Types:Instant Text:no text A:SP$ ChooseType | Cost$ W | Defined$ You | Type$ Creature | SubAbility$ DBDealDamage | SpellDescription$ Choose a creature type. CARDNAME deals damage to target attacking or blocking creature equal to the number of permanents you control of the chosen type. -SVar:DBDealDamage:DB$DealDamage | Cost$ 0 | ValidTgts$ Creature.attacking,Creature.blocking | TgtPrompt$ Select target attacking or blocking creature | NumDmg$ X +SVar:DBDealDamage:DB$DealDamage | Cost$ 0 | ValidTgts$ Creature.attacking,Creature.blocking | TgtPrompt$ Select target attacking or blocking creature | NumDmg$ X | References$ X SVar:X:Count$Valid Permanent.ChosenType+YouCtrl SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/c/copper_leaf_angel.txt b/res/cardsfolder/c/copper_leaf_angel.txt index 842ebd22640..d3375cd3786 100644 --- a/res/cardsfolder/c/copper_leaf_angel.txt +++ b/res/cardsfolder/c/copper_leaf_angel.txt @@ -4,7 +4,7 @@ Types:Artifact Creature Angel Text:no text PT:2/2 K:Flying -A:AB$PutCounter | Cost$ T Sac | Defined$ Self | CounterType$ P1P1 | CounterNum$ ChosenX | SpellDescription$ Put X +1/+1 counters on CARDNAME. +A:AB$PutCounter | Cost$ T Sac | Defined$ Self | CounterType$ P1P1 | CounterNum$ ChosenX | References$ X | SpellDescription$ Put X +1/+1 counters on CARDNAME. SVar:X:XChoice #ChosenX SVar created by Cost payment SVar:RemAIDeck:True diff --git a/res/cardsfolder/c/corpse_lunge.txt b/res/cardsfolder/c/corpse_lunge.txt index 27810016ba0..a58c4eb1bb6 100644 --- a/res/cardsfolder/c/corpse_lunge.txt +++ b/res/cardsfolder/c/corpse_lunge.txt @@ -2,7 +2,7 @@ Name:Corpse Lunge ManaCost:2 B Types:Instant Text:no text -A:SP$ DealDamage | Cost$ 2 B ExileFromGrave<1/Creature> | NumDmg$ X | ValidTgts$ Creature | TgtPrompt$ Select target creature | CostDesc$ As an additional cost to cast CARDNAME, exile a creature card from your graveyard. | SpellDescription$ CARDNAME deals damage equal to the exiled card's power to target creature. +A:SP$ DealDamage | Cost$ 2 B ExileFromGrave<1/Creature> | NumDmg$ X | ValidTgts$ Creature | TgtPrompt$ Select target creature | CostDesc$ As an additional cost to cast CARDNAME, exile a creature card from your graveyard. | References$ X | SpellDescription$ CARDNAME deals damage equal to the exiled card's power to target creature. SVar:X:Exiled$CardPower SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/c/corrosive_gale.txt b/res/cardsfolder/c/corrosive_gale.txt index 6407dc64bdb..2efe6ec3ec2 100644 --- a/res/cardsfolder/c/corrosive_gale.txt +++ b/res/cardsfolder/c/corrosive_gale.txt @@ -2,7 +2,7 @@ Name:Corrosive Gale ManaCost:X PG Types:Sorcery Text:no text -A:SP$ DamageAll | Cost$ X PG | ValidCards$ Creature.withFlying | ValidDescription$ each creature with flying. | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to each creature with flying. +A:SP$ DamageAll | Cost$ X PG | ValidCards$ Creature.withFlying | ValidDescription$ each creature with flying. | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to each creature with flying. SVar:X:Count$xPaid SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/corrosive_gale.jpg diff --git a/res/cardsfolder/c/corrupt.txt b/res/cardsfolder/c/corrupt.txt index 3ac68d264b9..a67f18d2002 100644 --- a/res/cardsfolder/c/corrupt.txt +++ b/res/cardsfolder/c/corrupt.txt @@ -2,8 +2,8 @@ Name:Corrupt ManaCost:5 B Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ 5 B | Tgt$ TgtCP | NumDmg$ X | SubAbility$ DBGainLife | SpellDescription$ Corrupt deals damage equal to the number of Swamps you control to target creature or player. You gain life equal to the damage dealt this way. -SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X +A:SP$ DealDamage | Cost$ 5 B | Tgt$ TgtCP | NumDmg$ X | SubAbility$ DBGainLife | References$ X | SpellDescription$ Corrupt deals damage equal to the number of Swamps you control to target creature or player. You gain life equal to the damage dealt this way. +SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Count$TypeYouCtrl.Swamp SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/corrupt.jpg diff --git a/res/cardsfolder/c/corrupted_resolve.txt b/res/cardsfolder/c/corrupted_resolve.txt index 6cba810ce8a..ae5ead767be 100644 --- a/res/cardsfolder/c/corrupted_resolve.txt +++ b/res/cardsfolder/c/corrupted_resolve.txt @@ -2,7 +2,7 @@ Name:Corrupted Resolve ManaCost:1 U Types:Instant Text:no text -A:SP$ Counter | Cost$ 1 U | TargetType$ Spell | ValidTgts$ Card | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SpellDescription$ Counter target spell if its controller is poisoned. +A:SP$ Counter | Cost$ 1 U | TargetType$ Spell | ValidTgts$ Card | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X | SpellDescription$ Counter target spell if its controller is poisoned. SVar:X:Count$OppPoisonCounters SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/corrupted_resolve.jpg diff --git a/res/cardsfolder/c/cosmic_larva.txt b/res/cardsfolder/c/cosmic_larva.txt index 47cf93d486f..0b23a15e022 100644 --- a/res/cardsfolder/c/cosmic_larva.txt +++ b/res/cardsfolder/c/cosmic_larva.txt @@ -6,7 +6,7 @@ PT:7/6 K:Trample T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigSac | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, sacrifice CARDNAME unless you sacrifice two lands. SVar:TrigSac:AB$ Sacrifice | Cost$ 0 | Amount$ 2 | SacValid$ Land | RememberSacrificed$ True | Optional$ True | SubAbility$ DBSacSelf -SVar:DBSacSelf:DB$ Sacrifice | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT2 +SVar:DBSacSelf:DB$ Sacrifice | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT2 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:RemAIDeck:True diff --git a/res/cardsfolder/c/counterbalance.txt b/res/cardsfolder/c/counterbalance.txt index c7c32acbfb0..66d4378bba6 100644 --- a/res/cardsfolder/c/counterbalance.txt +++ b/res/cardsfolder/c/counterbalance.txt @@ -4,7 +4,7 @@ Types:Enchantment Text:no text T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ Opponent | OptionalDecider$ You | TriggerZones$ Battlefield | Execute$ TrigReveal | TriggerDescription$ Whenever an opponent casts a spell, you may reveal the top card of your library. If you do, counter that spell if it has the same converted mana cost as the revealed card. SVar:TrigReveal:AB$Dig | Cost$ 0 | DigNum$ 1 | Reveal$ True | DestinationZone$ Library | LibraryPosition$ 0 | LibraryPosition2$ 0 | SubAbility$ DBCounter -SVar:DBCounter:DB$Counter | Cost$ 0 | Defined$ TriggeredSpellAbility | ConditionPresent$ Card.cmcEQX | ConditionDefined$ TriggeredCard | ConditionCompare$ GE1 +SVar:DBCounter:DB$Counter | Cost$ 0 | Defined$ TriggeredSpellAbility | ConditionPresent$ Card.cmcEQX | ConditionDefined$ TriggeredCard | ConditionCompare$ GE1 | References$ X SVar:X:Count$TopOfLibraryCMC SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/counterbalance.jpg diff --git a/res/cardsfolder/c/cradle_of_vitality.txt b/res/cardsfolder/c/cradle_of_vitality.txt index ad80aacdc6d..7bd0dfcf404 100644 --- a/res/cardsfolder/c/cradle_of_vitality.txt +++ b/res/cardsfolder/c/cradle_of_vitality.txt @@ -3,7 +3,7 @@ ManaCost:3 W Types:Enchantment Text:no text T:Mode$ LifeGained | ValidPlayer$ You | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever you gain life, you may pay 1 W. If you do, put a +1/+1 counter on target creature for each 1 life you gained. -SVar:TrigPutCounter:AB$PutCounter | Cost$ 1 W | Tgt$ TgtC | CounterType$ P1P1 | CounterNum$ X +SVar:TrigPutCounter:AB$PutCounter | Cost$ 1 W | Tgt$ TgtC | CounterType$ P1P1 | CounterNum$ X | References$ X SVar:X:TriggerCount$LifeAmount SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/cradle_of_vitality.jpg diff --git a/res/cardsfolder/c/crash_landing.txt b/res/cardsfolder/c/crash_landing.txt index ff6ed4310e9..c7fcb1880f5 100644 --- a/res/cardsfolder/c/crash_landing.txt +++ b/res/cardsfolder/c/crash_landing.txt @@ -3,7 +3,7 @@ ManaCost:2 G Types:Instant Text:no text A:SP$ Debuff | Cost$ 2 G | ValidTgts$ Creature.withFlying | TgtPrompt$ Select target creature with flying | Keywords$ Flying | SubAbility$ DBDamage | SpellDescription$ Target creature with flying loses flying until end of turn. CARDNAME deals damage to that creature equal to the number of Forests you control. -SVar:DBDamage:DB$ DealDamage | Defined$ Targeted | NumDmg$ X +SVar:DBDamage:DB$ DealDamage | Defined$ Targeted | NumDmg$ X | References$ X SVar:X:Count$Valid Forest.YouCtrl SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/crash_landing.jpg diff --git a/res/cardsfolder/c/craterfoot_behemoth.txt b/res/cardsfolder/c/craterfoot_behemoth.txt index 889e4a3de8a..7e955fce39b 100644 --- a/res/cardsfolder/c/craterfoot_behemoth.txt +++ b/res/cardsfolder/c/craterfoot_behemoth.txt @@ -5,7 +5,7 @@ Text:no text PT:5/5 K:Haste T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ BehemothPump | TriggerDescription$ When CARDNAME enters the battlefield, creatures you control gain trample and get +X/+X until end of turn, where X is the number of creatures you control. -SVar:BehemothPump:DB$ PumpAll | ValidCards$ Creature.YouCtrl | KW$ Trample | NumAtt$ X | NumDef$ X +SVar:BehemothPump:DB$ PumpAll | ValidCards$ Creature.YouCtrl | KW$ Trample | NumAtt$ X | NumDef$ X | References$ X SVar:X:Count$Valid Creature.YouCtrl SVar:PlayMain1:TRUE SVar:Rarity:Mythic diff --git a/res/cardsfolder/c/crazed_firecat.txt b/res/cardsfolder/c/crazed_firecat.txt index 15a9fcd8b42..cdaa2d3b958 100644 --- a/res/cardsfolder/c/crazed_firecat.txt +++ b/res/cardsfolder/c/crazed_firecat.txt @@ -6,7 +6,7 @@ PT:4/4 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigFlip | TriggerDescription$ When CARDNAME enters the battlefield, flip a coin until you lose a flip. Put a +1/+1 counter on CARDNAME for each flip you win. SVar:TrigFlip:AB$ FlipACoin | Cost$ 0 | WinSubAbility$ DBFlipAgain | RememberWinner$ True SVar:DBFlipAgain:DB$ FlipACoin | Cost$ 0 | WinSubAbility$ DBFlipAgain | LoseSubAbility$ DBPutCounter | RememberWinner$ True -SVar:DBPutCounter:DB$ PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ X | SubAbility$ DBCleanUp +SVar:DBPutCounter:DB$ PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ X | SubAbility$ DBCleanUp | References$ X SVar:DBCleanUp:DB$Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:Rarity:Uncommon diff --git a/res/cardsfolder/c/cream_of_the_crop.txt b/res/cardsfolder/c/cream_of_the_crop.txt index 1ddbf5c4532..bff5f1bcfb6 100644 --- a/res/cardsfolder/c/cream_of_the_crop.txt +++ b/res/cardsfolder/c/cream_of_the_crop.txt @@ -3,7 +3,7 @@ ManaCost:1 G Types:Enchantment Text:no text T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.YouCtrl | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigDig | TriggerDescription$ Whenever a creature enters the battlefield under your control, you may look at the top X cards of your library, where X is that creature's power. If you do, put one of those cards on top of your library and the rest on the bottom of your library in any order. -SVar:TrigDig:AB$Dig | Cost$ 0 | DigNum$ X | ChangeNum$ 1 | DestinationZone$ Library | LibraryPosition$ 0 +SVar:TrigDig:AB$Dig | Cost$ 0 | DigNum$ X | ChangeNum$ 1 | DestinationZone$ Library | LibraryPosition$ 0 | References$ X SVar:X:TriggeredCard$CardPower SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/c/creature_bond.txt b/res/cardsfolder/c/creature_bond.txt index ba164dbf6ae..05d0987299d 100644 --- a/res/cardsfolder/c/creature_bond.txt +++ b/res/cardsfolder/c/creature_bond.txt @@ -5,7 +5,7 @@ Text:no text K:Enchant creature A:SP$ Attach | Cost$ 1 U | ValidTgts$ Creature | AILogic$ Curse T:Mode$ ChangesZone | ValidCard$ Card.AttachedBy | Origin$ Battlefield | Destination$ Graveyard | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ When enchanted creature dies, CARDNAME deals damage equal to that creature's toughness to the creature's controller. -SVar:TrigDamage:AB$ DealDamage | Cost$ 0 | Defined$ TriggeredCardController | NumDmg$ Y +SVar:TrigDamage:AB$ DealDamage | Cost$ 0 | Defined$ TriggeredCardController | NumDmg$ Y | References$ Y SVar:Y:TriggeredCard$CardToughness SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/creature_bond.jpg diff --git a/res/cardsfolder/c/cruel_bargain.txt b/res/cardsfolder/c/cruel_bargain.txt index fd29d94dbdd..def8c288e8d 100644 --- a/res/cardsfolder/c/cruel_bargain.txt +++ b/res/cardsfolder/c/cruel_bargain.txt @@ -3,7 +3,7 @@ ManaCost:B B B Types:Sorcery Text:no text A:SP$ Draw | Cost$ B B B | NumCards$ 4 | SubAbility$ DBLoseLife | SpellDescription$ Draw four cards. You lose half your life, rounded up. -SVar:DBLoseLife:DB$LoseLife | LifeAmount$ X +SVar:DBLoseLife:DB$LoseLife | LifeAmount$ X | References$ X SVar:X:Count$YourLifeTotal/HalfUp SVar:Rarity:Rare SVar:Picture:http://resources.wizards.com/magic/cards/po/en-us/card4214.jpg diff --git a/res/cardsfolder/c/crumble.txt b/res/cardsfolder/c/crumble.txt index 109336a0067..e2f486bd2ac 100644 --- a/res/cardsfolder/c/crumble.txt +++ b/res/cardsfolder/c/crumble.txt @@ -3,7 +3,7 @@ ManaCost:G Types:Instant Text:no text A:SP$ Destroy | Cost$ G | ValidTgts$ Artifact | TgtPrompt$ Select target artifact | NoRegen$ True | SubAbility$ DBGainLife | SpellDescription$ Destroy target artifact. It can't be regenerated. That artifact's controller gains life equal to its converted mana cost. -SVar:DBGainLife:DB$GainLife | Defined$ TargetedController | LifeAmount$ X +SVar:DBGainLife:DB$GainLife | Defined$ TargetedController | LifeAmount$ X | References$ X SVar:X:Targeted$CardManaCost SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/crumble.jpg diff --git a/res/cardsfolder/c/crypt_of_agadeem.txt b/res/cardsfolder/c/crypt_of_agadeem.txt index d08cb69f464..30cd02689d7 100644 --- a/res/cardsfolder/c/crypt_of_agadeem.txt +++ b/res/cardsfolder/c/crypt_of_agadeem.txt @@ -4,7 +4,7 @@ Types:Land Text:no text K:CARDNAME enters the battlefield tapped. A:AB$ Mana | Cost$ T | Produced$ B | SpellDescription$ Add B to your mana pool. -A:AB$ Mana | Cost$ 2 T | Produced$ B | Amount$ X | SpellDescription$ Add B to your mana pool for each black creature card in your graveyard. +A:AB$ Mana | Cost$ 2 T | Produced$ B | Amount$ X | References$ X | SpellDescription$ Add B to your mana pool for each black creature card in your graveyard. SVar:X:Count$TypeInYourYard.Creature.Black #gotta test that SVar:RemAIDeck:True diff --git a/res/cardsfolder/c/culling_dais.txt b/res/cardsfolder/c/culling_dais.txt index aa0dfa04ff8..5c5de456848 100644 --- a/res/cardsfolder/c/culling_dais.txt +++ b/res/cardsfolder/c/culling_dais.txt @@ -3,7 +3,7 @@ ManaCost:2 Types:Artifact Text:no text A:AB$ PutCounter | Cost$ T Sac<1/Creature> | CounterType$ CHARGE | CounterNum$ 1 | SpellDescription$ Put a charge counter on CARDNAME. -A:AB$ Draw | Cost$ 1 Sac<1/CARDNAME> | NumCards$ X | SpellDescription$ Draw a card for each charge counter on Culling Dais. +A:AB$ Draw | Cost$ 1 Sac<1/CARDNAME> | NumCards$ X | References$ X | SpellDescription$ Draw a card for each charge counter on Culling Dais. SVar:X:Count$CardCounters.CHARGE SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/c/curse_of_bloodletting.txt b/res/cardsfolder/c/curse_of_bloodletting.txt index efc19ca3af7..f157b896293 100644 --- a/res/cardsfolder/c/curse_of_bloodletting.txt +++ b/res/cardsfolder/c/curse_of_bloodletting.txt @@ -6,8 +6,8 @@ K:Enchant player A:SP$ Attach | Cost$ 3 R R | ValidTgts$ Player | AILogic$ Curse R:Event$ DamageDone | ValidTarget$ Player.EnchantedBy | ReplaceWith$ DmgTimes2 | IsCombat$ False | Description$ If a source would deal damage to enchanted player, it deals double that damage instead. R:Event$ DamageDone | ValidTarget$ Player.EnchantedBy | ReplaceWith$ DmgTimes2Combat | IsCombat$ True | Secondary$ True | Description$ If a source would deal damage to enchanted player, it deals double that damage instead. -SVar:DmgTimes2:AB$DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X -SVar:DmgTimes2Combat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X +SVar:DmgTimes2:AB$DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X | References$ X +SVar:DmgTimes2Combat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X | References$ X SVar:X:ReplaceCount$DamageAmount/Twice SVar:Picture:http://www.wizards.com/global/images/magic/general/curse_of_bloodletting.jpg SetInfo:DKA|Rare|http://magiccards.info/scans/en/dka/85.jpg diff --git a/res/cardsfolder/c/curse_of_the_cabal.txt b/res/cardsfolder/c/curse_of_the_cabal.txt index 6fe55c1efe9..a5f2489c8dc 100644 --- a/res/cardsfolder/c/curse_of_the_cabal.txt +++ b/res/cardsfolder/c/curse_of_the_cabal.txt @@ -4,9 +4,9 @@ Types:Sorcery Text:no text K:Suspend:2:2 B B T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | Execute$ TrigCursePayUP | TriggerZones$ Exile | IsPresent$ Card.counters_GE1_TIME+Self | PresentZone$ Exile | TriggerDescription$ At the beginning of each player's upkeep, if CARDNAME is suspended, that player may sacrifice a permanent. If he or she does, put two time counters on CARDNAME. -A:SP$ Sacrifice | Cost$ 9 B | ValidTgts$ Player | TgtPrompt$ Select target player | Amount$ CurseX | SacValid$ Permanent | SpellDescription$ Target player sacrifices half the permanents he or she controls, rounded down. +A:SP$ Sacrifice | Cost$ 9 B | ValidTgts$ Player | TgtPrompt$ Select target player | Amount$ CurseX | SacValid$ Permanent | References$ CurseX | SpellDescription$ Target player sacrifices half the permanents he or she controls, rounded down. SVar:TrigCursePayUP:AB$ Sacrifice | Cost$ 0 | Amount$ 1 | SacValid$ Permanent | Defined$ TriggeredPlayer | Optional$ True | RememberSacrificed$ True | SubAbility$ DBCursePutCounter -SVar:DBCursePutCounter:DB$ PutCounter | CounterType$ TIME | CounterNum$ 2 | ConditionCheckSVar$ CurseY | ConditionSVarCompare$ GT0 | SubAbility$ DBCurseCleanup +SVar:DBCursePutCounter:DB$ PutCounter | CounterType$ TIME | CounterNum$ 2 | ConditionCheckSVar$ CurseY | ConditionSVarCompare$ GT0 | SubAbility$ DBCurseCleanup | References$ CurseY SVar:DBCurseCleanup:DB$ Cleanup | ClearRemembered$ True SVar:CurseX:TargetedPlayer$Valid Permanent.YouCtrl/HalfDown SVar:CurseY:Remembered$Amount diff --git a/res/cardsfolder/c/curse_of_thirst.txt b/res/cardsfolder/c/curse_of_thirst.txt index fa2abb4acd8..b68aa536e53 100644 --- a/res/cardsfolder/c/curse_of_thirst.txt +++ b/res/cardsfolder/c/curse_of_thirst.txt @@ -5,7 +5,7 @@ Text:Enchant player K:Enchant player A:SP$ Attach | Cost$ 4 B | ValidTgts$ Player | AILogic$ Curse T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player.EnchantedBy | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ At the beginning of enchanted player's upkeep, CARDNAME deals damage to that player equal to the number of Curses attached to him or her. -SVar:TrigDamage:AB$ DealDamage | Cost$ 0 | Defined$ EnchantedPlayer | NumDmg$ X +SVar:TrigDamage:AB$ DealDamage | Cost$ 0 | Defined$ EnchantedPlayer | NumDmg$ X | References$ X SVar:X:Count$Valid Curse.AttachedTo Player.EnchantedBy SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/curse_of_thirst.jpg diff --git a/res/cardsfolder/c/cyclops_gladiator.txt b/res/cardsfolder/c/cyclops_gladiator.txt index f5686ee6cbe..fd896587100 100644 --- a/res/cardsfolder/c/cyclops_gladiator.txt +++ b/res/cardsfolder/c/cyclops_gladiator.txt @@ -4,8 +4,8 @@ Types:Creature Cyclops Warrior Text:no text PT:4/4 T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigExchangeDamage | OptionalDecider$ You | TriggerDescription$ Whenever CARDNAME attacks, you may have it deal damage equal to its power to target creature defending player controls. If you do, that creature deals damage equal to its power to CARDNAME. -SVar:TrigExchangeDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature defending player controls. | NumDmg$ MyX | SubAbility$ ReturnDmg -SVar:ReturnDmg:DB$DealDamage | Cost$ 0 | DamageSource$ Targeted | NumDmg$ TheirX +SVar:TrigExchangeDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature defending player controls. | NumDmg$ MyX | SubAbility$ ReturnDmg | References$ MyX +SVar:ReturnDmg:DB$DealDamage | Cost$ 0 | DamageSource$ Targeted | NumDmg$ TheirX | References$ TheirX SVar:MyX:Count$CardPower SVar:TheirX:Targeted$CardPower SVar:Rarity:Rare diff --git a/res/cardsfolder/d/damia_sage_of_stone.txt b/res/cardsfolder/d/damia_sage_of_stone.txt index acf0f29ecbd..23b3f1987a9 100644 --- a/res/cardsfolder/d/damia_sage_of_stone.txt +++ b/res/cardsfolder/d/damia_sage_of_stone.txt @@ -6,7 +6,7 @@ PT:4/4 K:Deathtouch S:Mode$ Continuous | Affected$ You | AddKeyword$ Skip your draw step. | Description$ Skip your draw step. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | CheckSVar$ X | SVarCompare$ LT7 | Execute$ TrigDraw | TriggerDescription$ At the beginning of your upkeep, if you have fewer than seven cards in hand, draw cards equal to the difference. -SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ Difference +SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ Difference | References$ X,Difference SVar:X:Count$InYourHand SVar:Difference:Number$7/Minus.X SVar:Rarity:Mythic diff --git a/res/cardsfolder/d/darien_king_of_kjeldor.txt b/res/cardsfolder/d/darien_king_of_kjeldor.txt index 5870fac370e..d5ac3807077 100644 --- a/res/cardsfolder/d/darien_king_of_kjeldor.txt +++ b/res/cardsfolder/d/darien_king_of_kjeldor.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Human Soldier Text:no text PT:3/3 T:Mode$ DamageDone | Execute$ TrigToken | ValidTarget$ You | TriggerZones$ Battlefield | OptionalDecider$ You | TriggerDescription$ Whenever you're dealt damage, you may put that many 1/1 white Soldier creature tokens onto the battlefield. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Soldier | TokenTypes$ Creature,Soldier | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 +SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Soldier | TokenTypes$ Creature,Soldier | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/darien_king_of_kjeldor.jpg diff --git a/res/cardsfolder/d/darigaaz_the_igniter.txt b/res/cardsfolder/d/darigaaz_the_igniter.txt index 395d3b443a3..570bedd7944 100644 --- a/res/cardsfolder/d/darigaaz_the_igniter.txt +++ b/res/cardsfolder/d/darigaaz_the_igniter.txt @@ -7,7 +7,7 @@ K:Flying T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | CombatDamage$ True | OptionalDecider$ You | Execute$ TrigChooseColor | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you may pay 2 R. If you do, choose a color, then that player reveals his or her hand and Darigaaz deals damage to the player equal to the number of cards of that color revealed this way. SVar:TrigChooseColor:AB$ ChooseColor | Cost$ 2 R | Defined$ You | AILogic$ MostProminentInHumanDeck | SubAbility$ DBRevealHand SVar:DBRevealHand:DB$ RevealHand | Defined$ TriggeredTarget | RememberRevealed$ True | SubAbility$ DBDamage -SVar:DBDamage:DB$ DealDamage | Defined$ TriggeredTarget | NumDmg$ X | SubAbility$ DBCleanup +SVar:DBDamage:DB$ DealDamage | Defined$ TriggeredTarget | NumDmg$ X | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Valid Card.ChosenColor SVar:Rarity:Rare diff --git a/res/cardsfolder/d/dark_confidant.txt b/res/cardsfolder/d/dark_confidant.txt index 0354efa2b49..d825766c56f 100644 --- a/res/cardsfolder/d/dark_confidant.txt +++ b/res/cardsfolder/d/dark_confidant.txt @@ -5,7 +5,7 @@ Text:no text PT:2/1 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDig | TriggerDescription$ At the beginning of your upkeep, reveal the top card of your library and put that card into your hand. You lose life equal to its converted mana cost. SVar:TrigDig:AB$Dig | Cost$ 0 | DigNum$ 1 | Reveal$ True | ChangeNum$ All | ChangeValid$ Card | DestinationZone$ Hand | RememberChanged$ True | SubAbility$ DBLose -SVar:DBLose:DB$LoseLife | LifeAmount$ X | SubAbility$ DBCleanup +SVar:DBLose:DB$LoseLife | LifeAmount$ X | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:X:Remembered$CardManaCost SVar:Rarity:Rare diff --git a/res/cardsfolder/d/dark_suspicions.txt b/res/cardsfolder/d/dark_suspicions.txt index 715486686d1..e20c50b2e97 100644 --- a/res/cardsfolder/d/dark_suspicions.txt +++ b/res/cardsfolder/d/dark_suspicions.txt @@ -3,7 +3,7 @@ ManaCost:2 B B Types:Enchantment Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Opponent | Execute$ TrigLoseLife | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of each opponent's upkeep, that player loses X life, where X is the number of cards in that player's hand minus the number of cards in your hand. -SVar:TrigLoseLife:AB$ LoseLife | Cost$ 0 | LifeAmount$ X | Defined$ Opponent +SVar:TrigLoseLife:AB$ LoseLife | Cost$ 0 | LifeAmount$ X | Defined$ Opponent | References$ A,B,X SVar:A:Count$InYourHand SVar:B:Count$InOppHand SVar:X:SVar$B/Minus.A diff --git a/res/cardsfolder/d/dark_tutelage.txt b/res/cardsfolder/d/dark_tutelage.txt index 3bd17b1e66f..15c9f2571db 100644 --- a/res/cardsfolder/d/dark_tutelage.txt +++ b/res/cardsfolder/d/dark_tutelage.txt @@ -4,7 +4,7 @@ Types:Enchantment Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDig | TriggerDescription$ At the beginning of your upkeep, reveal the top card of your library and put that card into your hand. You lose life equal to its converted mana cost. SVar:TrigDig:AB$Dig | Cost$ 0 | DigNum$ 1 | Reveal$ True | ChangeNum$ All | ChangeValid$ Card | DestinationZone$ Hand | RememberChanged$ True | SubAbility$ DBLose -SVar:DBLose:DB$LoseLife | LifeAmount$ X | SubAbility$ DBCleanup +SVar:DBLose:DB$LoseLife | LifeAmount$ X | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:X:Remembered$CardManaCost SVar:RemAIDeck:True diff --git a/res/cardsfolder/d/day_of_the_dragons.txt b/res/cardsfolder/d/day_of_the_dragons.txt index 07e5f477974..6ca8c4f27b2 100644 --- a/res/cardsfolder/d/day_of_the_dragons.txt +++ b/res/cardsfolder/d/day_of_the_dragons.txt @@ -6,7 +6,7 @@ T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefi T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Any | Execute$ TrigSacrifice | Secondary$ True | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME leaves the battlefield, sacrifice all Dragons you control. Then return the exiled cards to the battlefield under your control. SVar:TrigExile:AB$ChangeZoneAll | Cost$ 0 | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | ForgetOtherRemembered$ True | ChangeType$ Creature.YouCtrl | SubAbility$ DBToken SVar:TrigSacrifice:AB$SacrificeAll | Cost$ 0 | ValidCards$ Dragon.YouCtrl | SubAbility$ DBReturn -SVar:DBToken:DB$Token | TokenAmount$ X | TokenName$ Dragon | TokenTypes$ Creature,Dragon | TokenOwner$ You | TokenColors$ Red | TokenPower$ 5 | TokenToughness$ 5 | TokenKeywords$ Flying +SVar:DBToken:DB$Token | TokenAmount$ X | TokenName$ Dragon | TokenTypes$ Creature,Dragon | TokenOwner$ You | TokenColors$ Red | TokenPower$ 5 | TokenToughness$ 5 | TokenKeywords$ Flying | References$ X SVar:DBReturn:DB$ChangeZoneAll | Origin$ Exile | Destination$ Battlefield | ChangeType$ Card.IsRemembered SVar:X:Remembered$Amount SVar:Rarity:Rare diff --git a/res/cardsfolder/d/dead_reckoning.txt b/res/cardsfolder/d/dead_reckoning.txt index 043f25ab907..a84c15a9f78 100644 --- a/res/cardsfolder/d/dead_reckoning.txt +++ b/res/cardsfolder/d/dead_reckoning.txt @@ -3,7 +3,7 @@ ManaCost:1 B B Types:Sorcery Text:no text A:SP$ ChangeZone | Cost$ 1 B B | ValidTgts$ Creature.YouCtrl | Origin$ Graveyard | Destination$ Library | RememberTargets$ True | SubAbility$ DBDamage | SpellDescription$ You may put target creature card from your graveyard on top of your library. If you do, CARDNAME deals damage equal to that card's power to target creature. -SVar:DBDamage:DB$ DealDamage | NumDmg$ X | ValidTgts$ Creature | TgtPrompt$ Select target creature | ConditionCheckSVar$ Y | ConditionSVarCompare$ GT0 | SubAbility$ DBCleanup +SVar:DBDamage:DB$ DealDamage | NumDmg$ X | ValidTgts$ Creature | TgtPrompt$ Select target creature | ConditionCheckSVar$ Y | ConditionSVarCompare$ GT0 | SubAbility$ DBCleanup | References$ X,Y SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$CardPower SVar:Y:Remembered$Amount diff --git a/res/cardsfolder/d/deadshot.txt b/res/cardsfolder/d/deadshot.txt index b64e0253de6..c68f386d616 100644 --- a/res/cardsfolder/d/deadshot.txt +++ b/res/cardsfolder/d/deadshot.txt @@ -3,7 +3,7 @@ ManaCost:3 R Types:Sorcery Text:no text A:SP$ Tap | Cost$ 3 R | ValidTgts$ Creature |TgtPrompt$ Select target creature | SubAbility$ DBDamage | SpellDescription$ Tap target creature. It deals damage equal to its power to another target creature. -SVar:DBDamage:DB$ DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select another target creature | NumDmg$ X |TargetUnique$ True +SVar:DBDamage:DB$ DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select another target creature | NumDmg$ X |TargetUnique$ True | References$ X # Which targeted does it pick SVar:X:Targeted$CardPower SVar:Rarity:Rare diff --git a/res/cardsfolder/d/death_cloud.txt b/res/cardsfolder/d/death_cloud.txt index 85f09cd3245..54dc8e51120 100644 --- a/res/cardsfolder/d/death_cloud.txt +++ b/res/cardsfolder/d/death_cloud.txt @@ -2,10 +2,10 @@ Name:Death Cloud ManaCost:X B B B Types:Sorcery Text:no text -A:SP$ LoseLife | Cost$ X B B B | Defined$ Each | LifeAmount$ X | SpellDescription$ Each player loses X life, then discards X cards, then sacrifices X creatures, then sacrifices X lands. | SubAbility$ DBDiscard -SVar:DBDiscard:DB$Discard | NumCards$ X | Mode$ TgtChoose | Defined$ Each | SubAbility$ DBSacCreature -SVar:DBSacCreature:DB$Sacrifice | Amount$ X | SacValid$ Creature | Defined$ Each | SubAbility$ DBSacLand -SVar:DBSacLand:DB$Sacrifice | Amount$ X | SacValid$ Land | Defined$ Each +A:SP$ LoseLife | Cost$ X B B B | Defined$ Each | LifeAmount$ X | References$ X | SpellDescription$ Each player loses X life, then discards X cards, then sacrifices X creatures, then sacrifices X lands. | SubAbility$ DBDiscard +SVar:DBDiscard:DB$Discard | NumCards$ X | Mode$ TgtChoose | Defined$ Each | SubAbility$ DBSacCreature | References$ X +SVar:DBSacCreature:DB$Sacrifice | Amount$ X | SacValid$ Creature | Defined$ Each | SubAbility$ DBSacLand | References$ X +SVar:DBSacLand:DB$Sacrifice | Amount$ X | SacValid$ Land | Defined$ Each | References$ X SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/d/death_denied.txt b/res/cardsfolder/d/death_denied.txt index c1b5e3a203d..6fdc0bb8676 100644 --- a/res/cardsfolder/d/death_denied.txt +++ b/res/cardsfolder/d/death_denied.txt @@ -2,7 +2,7 @@ Name:Death Denied ManaCost:X B B Types:Instant Arcane Text:no text -A:SP$ ChangeZone | Cost$ X B B | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Creature.YouOwn | TgtPrompt$ Select target creature in your graveyard | Origin$ Graveyard | Destination$ Hand | SpellDescription$ Return X target creature cards from your graveyard to your hand. +A:SP$ ChangeZone | Cost$ X B B | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Creature.YouOwn | TgtPrompt$ Select target creature in your graveyard | Origin$ Graveyard | Destination$ Hand | References$ X,MaxTgts | SpellDescription$ Return X target creature cards from your graveyard to your hand. # It may seem wrong to not use X in the target, but since the Targets are what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$Amount SVar:MaxTgts:Count$TypeInYourYard.Creature diff --git a/res/cardsfolder/d/death_grasp.txt b/res/cardsfolder/d/death_grasp.txt index e6ac8fe4d44..f8b1e69e832 100644 --- a/res/cardsfolder/d/death_grasp.txt +++ b/res/cardsfolder/d/death_grasp.txt @@ -2,8 +2,8 @@ Name:Death Grasp ManaCost:X W B Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ X W B | Tgt$ TgtCP | NumDmg$ X | SubAbility$ DBGainLife | SpellDescription$ CARDNAME deals X damage to target creature or player. You gain X life. -SVar:DBGainLife:DB$GainLife | LifeAmount$ X +A:SP$ DealDamage | Cost$ X W B | Tgt$ TgtCP | NumDmg$ X | SubAbility$ DBGainLife | References$ X | SpellDescription$ CARDNAME deals X damage to target creature or player. You gain X life. +SVar:DBGainLife:DB$GainLife | LifeAmount$ X | References$ X SVar:X:Count$xPaid SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/death_grasp.jpg diff --git a/res/cardsfolder/d/death_mutation.txt b/res/cardsfolder/d/death_mutation.txt index 8bdb3ab937e..5427304f681 100644 --- a/res/cardsfolder/d/death_mutation.txt +++ b/res/cardsfolder/d/death_mutation.txt @@ -2,7 +2,7 @@ Name:Death Mutation ManaCost:6 B G Types:Sorcery Text:no text -A:SP$ Destroy | Cost$ 6 B G | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonblack creature | NoRegen$ True | SubAbility$ TrigToken | SpellDescription$ Destroy target nonblack creature. It can't be regenerated. Put X 1/1 green Saproling creature tokens onto the battlefield, where X is that creature's converted mana cost. +A:SP$ Destroy | Cost$ 6 B G | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonblack creature | NoRegen$ True | SubAbility$ TrigToken | References$ X | SpellDescription$ Destroy target nonblack creature. It can't be regenerated. Put X 1/1 green Saproling creature tokens onto the battlefield, where X is that creature's converted mana cost. #X will be the Converted Mana Cost of the target of Mutation SVar:TrigToken:DB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 SVar:X:Targeted$CardManaCost diff --git a/res/cardsfolder/d/deathforge_shaman.txt b/res/cardsfolder/d/deathforge_shaman.txt index b75648e8aeb..cde9d4f4050 100644 --- a/res/cardsfolder/d/deathforge_shaman.txt +++ b/res/cardsfolder/d/deathforge_shaman.txt @@ -5,7 +5,7 @@ Text:no text PT:4/3 K:Multikicker R T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDamage | TriggerDescription$ When CARDNAME enters the battlefield, it deals damage to target player equal to twice the number of times it was kicked. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Tgt$ TgtP | NumDmg$ X +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Tgt$ TgtP | NumDmg$ X | References$ X SVar:X:Count$TimesKicked/Times.2 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/Deathforge_Shaman.jpg diff --git a/res/cardsfolder/d/deaths_caress.txt b/res/cardsfolder/d/deaths_caress.txt index 8bf9f839e04..806997e83a2 100644 --- a/res/cardsfolder/d/deaths_caress.txt +++ b/res/cardsfolder/d/deaths_caress.txt @@ -3,7 +3,7 @@ ManaCost:3 B B Types:Sorcery Text:no text A:SP$ Destroy | Cost$ 3 B B | ValidTgts$ Creature | TgtPrompt$ Select target creature | RememberTargets$ True | SubAbility$ DBGainLife | SpellDescription$ Destroy target creature. If that creature was a Human, you gain life equal to its toughness. -SVar:DBGainLife:DB$ GainLife | Cost$ 0 | LifeAmount$ Y | ConditionCheckSVar$ IsHuman | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup +SVar:DBGainLife:DB$ GainLife | Cost$ 0 | LifeAmount$ Y | ConditionCheckSVar$ IsHuman | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup | References$ IsHuman,Y SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:IsHuman:Remembered$Valid Human SVar:Y:Remembered$CardToughness diff --git a/res/cardsfolder/d/decree_of_justice.txt b/res/cardsfolder/d/decree_of_justice.txt index d5f5145771e..1d08ec6d2d6 100644 --- a/res/cardsfolder/d/decree_of_justice.txt +++ b/res/cardsfolder/d/decree_of_justice.txt @@ -3,9 +3,9 @@ ManaCost:X X 2 W W Types:Sorcery Text:no text K:Cycling:2 W -A:SP$ Token | Cost$ X X 2 W W | TokenAmount$ X | TokenName$ Angel | TokenTypes$ Creature,Angel | TokenOwner$ You | TokenColors$ White | TokenPower$ 4 | TokenToughness$ 4 | TokenKeywords$ Flying | SpellDescription$ Put X 4/4 white Angel creature tokens with flying onto the battlefield. +A:SP$ Token | Cost$ X X 2 W W | TokenAmount$ X | TokenName$ Angel | TokenTypes$ Creature,Angel | TokenOwner$ You | TokenColors$ White | TokenPower$ 4 | TokenToughness$ 4 | TokenKeywords$ Flying | References$ X | SpellDescription$ Put X 4/4 white Angel creature tokens with flying onto the battlefield. T:Mode$ Cycled | ValidCard$ Card.Self | Execute$ TrigToken | OptionalDecider$ You | TriggerDescription$ When you cycle CARDNAME, you may pay X. If you do, put X 1/1 white Soldier creature tokens onto the battlefield. -SVar:TrigToken:AB$ Token | Cost$ X | TokenAmount$ X | TokenName$ Soldier | TokenTypes$ Creature,Soldier | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 +SVar:TrigToken:AB$ Token | Cost$ X | TokenAmount$ X | TokenName$ Soldier | TokenTypes$ Creature,Soldier | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | References$ X SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/d/decree_of_pain.txt b/res/cardsfolder/d/decree_of_pain.txt index da2e5245a69..cba24e8dad8 100644 --- a/res/cardsfolder/d/decree_of_pain.txt +++ b/res/cardsfolder/d/decree_of_pain.txt @@ -4,7 +4,7 @@ Types:Sorcery Text:no text K:Cycling:3 B B A:SP$ DestroyAll | Cost$ 6 B B | ValidCards$ Creature | RememberDestroyed$ True | NoRegen$ True | SubAbility$ DBDraw | SpellDescription$ Destroy all creatures. They can't be regenerated. Draw a card for each creature destroyed this way. -SVar:DBDraw:DB$ Draw | NumCards$ DecreeX | SubAbility$ DBCleanup +SVar:DBDraw:DB$ Draw | NumCards$ DecreeX | SubAbility$ DBCleanup | References$ DecreeX T:Mode$ Cycled | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ When you cycle CARDNAME, all creatures get -2/-2 until end of turn. SVar:TrigPumpAll:AB$ PumpAll | Cost$ 0 | NumAtt$ -2 | NumDef$ -2 SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True diff --git a/res/cardsfolder/d/deepfire_elemental.txt b/res/cardsfolder/d/deepfire_elemental.txt index bb3d632b788..b7c4bfd9312 100644 --- a/res/cardsfolder/d/deepfire_elemental.txt +++ b/res/cardsfolder/d/deepfire_elemental.txt @@ -3,7 +3,7 @@ ManaCost:4 B R Types:Creature Elemental Text:no text PT:4/4 -A:AB$ Destroy | Cost$ X X 1 | ValidTgts$ Artifact,Creature | TgtPrompt$ Select target artifact or creature | SpellDescription$ Destroy target artifact or creature with converted mana cost X. +A:AB$ Destroy | Cost$ X X 1 | ValidTgts$ Artifact,Creature | TgtPrompt$ Select target artifact or creature | References$ X | SpellDescription$ Destroy target artifact or creature with converted mana cost X. # It may seem wrong to not use X in the target, but since the Target is what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$CardManaCost SVar:RemAIDeck:True diff --git a/res/cardsfolder/d/defy_death.txt b/res/cardsfolder/d/defy_death.txt index 314bea3baef..31df7d1c253 100644 --- a/res/cardsfolder/d/defy_death.txt +++ b/res/cardsfolder/d/defy_death.txt @@ -3,7 +3,7 @@ ManaCost:3 W W Types:Sorcery Text:no text A:SP$ ChangeZone | Cost$ 3 W W | Origin$ Graveyard | Destination$ Battlefield | TgtPrompt$ Choose target creature card in your graveyard | ValidTgts$ Creature.YouCtrl | SubAbility$ DBPutCounter | SpellDescription$ Return target creature card from your graveyard to the battlefield. If it's an Angel, put two +1/+1 counters on it. -SVar:DBPutCounter:DB$PutCounter | CounterType$ P1P1 | CounterNum$ 2 | Defined$ Targeted | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 +SVar:DBPutCounter:DB$PutCounter | CounterType$ P1P1 | CounterNum$ 2 | Defined$ Targeted | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X SVar:X:Targeted$Valid Angel SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/defy_death.jpg diff --git a/res/cardsfolder/d/dega_sanctuary.txt b/res/cardsfolder/d/dega_sanctuary.txt index 3250de20c26..c1c62b23786 100644 --- a/res/cardsfolder/d/dega_sanctuary.txt +++ b/res/cardsfolder/d/dega_sanctuary.txt @@ -3,8 +3,8 @@ ManaCost:2 W Types:Enchantment Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | CheckSVar$ X | SVarCompare$ GE1 | Execute$ TrigGainLife | TriggerDescription$ At the beginning of your upkeep, if you control a black or red permanent, you gain 2 life. If you control a black permanent and a red permanent, you gain 4 life instead. -SVar:TrigGainLife:AB$ GainLife | Cost$ 0 | Defined$ You | LifeAmount$ 2 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | SubAbility$ DBGainLife -SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 4 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE2 +SVar:TrigGainLife:AB$ GainLife | Cost$ 0 | Defined$ You | LifeAmount$ 2 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | SubAbility$ DBGainLife | References$ X,Y,Z +SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 4 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE2 | References$ X,Y,Z SVar:Y:Count$Valid Permanent.Black+YouCtrl/LimitMax.1 SVar:Z:Count$Valid Permanent.Red+YouCtrl/LimitMax.1 SVar:X:SVar$Y/Plus.Z diff --git a/res/cardsfolder/d/delirium.txt b/res/cardsfolder/d/delirium.txt index 1a942ae5e7d..b3b12008c91 100644 --- a/res/cardsfolder/d/delirium.txt +++ b/res/cardsfolder/d/delirium.txt @@ -3,7 +3,7 @@ ManaCost:1 B R Types:Instant Text:no text A:SP$ Tap | Cost$ 1 B R | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature you don't control | OpponentTurn$ True | SubAbility$ DBDamage | SpellDescription$ Cast CARDNAME only during an opponent's turn. Tap target creature that player controls. That creature deals damage equal to its power to the player. Prevent all combat damage that would be dealt to and dealt by the creature this turn. -SVar:DBDamage:DB$DealDamage | Defined$ Opponent | NumDmg$ X | DamageSource$ Targeted | SubAbility$ DBPump +SVar:DBDamage:DB$DealDamage | Defined$ Opponent | NumDmg$ X | DamageSource$ Targeted | SubAbility$ DBPump | References$ X SVar:DBPump:DB$Pump | Defined$ Targeted | KW$ HIDDEN Prevent all combat damage that would be dealt to and dealt by CARDNAME. SVar:X:Targeted$CardPower SVar:Rarity:Uncommon diff --git a/res/cardsfolder/d/demonlord_of_ashmouth.txt b/res/cardsfolder/d/demonlord_of_ashmouth.txt index 7d491d96049..48c61296f8d 100644 --- a/res/cardsfolder/d/demonlord_of_ashmouth.txt +++ b/res/cardsfolder/d/demonlord_of_ashmouth.txt @@ -7,7 +7,7 @@ K:Flying K:Undying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSac | TriggerDescription$ When CARDNAME enters the battlefield, exile it unless you sacrifice another creature. SVar:TrigSac:AB$ Sacrifice | Cost$ 0 | Amount$ 1 | SacValid$ Creature.Other | RememberSacrificed$ True | Optional$ True | SubAbility$ DBExileMe -SVar:DBExileMe:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Exile | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DBCleanup +SVar:DBExileMe:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Exile | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:NeedsToPlay:Creature.cmcLE2+YouCtrl diff --git a/res/cardsfolder/d/demonspine_whip.txt b/res/cardsfolder/d/demonspine_whip.txt index 6a26618fb7e..de305ab25d2 100644 --- a/res/cardsfolder/d/demonspine_whip.txt +++ b/res/cardsfolder/d/demonspine_whip.txt @@ -3,7 +3,7 @@ ManaCost:B R Types:Artifact Equipment Text:no text K:eqPump 1:+0/+0 -A:AB$ Pump | Cost$ X | Defined$ Equipped | NumAtt$ +X | SpellDescription$ Equipped creature gets +X/+0 until end of turn. +A:AB$ Pump | Cost$ X | Defined$ Equipped | NumAtt$ +X | References$ X | SpellDescription$ Equipped creature gets +X/+0 until end of turn. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/d/descendant_of_masumaro.txt b/res/cardsfolder/d/descendant_of_masumaro.txt index d3c42289fbe..56e7b4408bf 100644 --- a/res/cardsfolder/d/descendant_of_masumaro.txt +++ b/res/cardsfolder/d/descendant_of_masumaro.txt @@ -4,9 +4,9 @@ Types:Creature Human Monk Text:no text PT:1/1 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, put a +1/+1 counter on CARDNAME for each card in your hand, then remove a +1/+1 counter from CARDNAME for each card in target opponent's hand. -SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ X | SubAbility$ SelectOpponent +SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ X | SubAbility$ SelectOpponent | References$ X SVar:SelectOpponent:DB$Pump | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | SubAbility$ TrigRemoveCounter -SVar:TrigRemoveCounter:DB$RemoveCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ Y +SVar:TrigRemoveCounter:DB$RemoveCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ Y | References$ Y SVar:X:Count$InYourHand SVar:Y:TargetedPlayer$CardsInHand SVar:RemAIDeck:True diff --git a/res/cardsfolder/d/descendant_of_soramaro.txt b/res/cardsfolder/d/descendant_of_soramaro.txt index 09067150e5b..ac1a3ca7858 100644 --- a/res/cardsfolder/d/descendant_of_soramaro.txt +++ b/res/cardsfolder/d/descendant_of_soramaro.txt @@ -3,7 +3,7 @@ ManaCost:3 U Types:Creature Human Wizard Text:no text PT:2/3 -A:AB$ RearrangeTopOfLibrary | Cost$ 1 U | Defined$ You | NumCards$ X | SpellDescription$ Look at the top X cards of your library, where X is the number of cards in your hand, then put them back in any order. +A:AB$ RearrangeTopOfLibrary | Cost$ 1 U | Defined$ You | NumCards$ X | References$ X | SpellDescription$ Look at the top X cards of your library, where X is the number of cards in your hand, then put them back in any order. SVar:X:Count$InYourHand SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/descendant_of_soramaro.jpg diff --git a/res/cardsfolder/d/descent_into_madness.txt b/res/cardsfolder/d/descent_into_madness.txt index 2d26f4b6063..a5cde72db07 100644 --- a/res/cardsfolder/d/descent_into_madness.txt +++ b/res/cardsfolder/d/descent_into_madness.txt @@ -4,8 +4,8 @@ Types:Enchantment Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, put a despair counter on CARDNAME, then each player exiles X permanents he or she controls and/or cards from his or her hand, where X is the number of despair counters on CARDNAME. SVar:TrigPutCounter:AB$ PutCounter | Cost$ 0 | Defined$ Self | CounterType$ DESPAIR | CounterNum$ 1 | SubAbility$ DBExileSelf -SVar:DBExileSelf:DB$ ChangeZone | Cost$ 0 | DefinedPlayer$ Self | ChangeType$ Permanent.YouCtrl,Card | ChangeNum$ X | Hidden$ True | Origin$ Battlefield,Hand | Destination$ Exile | SubAbility$ DBExileOpponent -SVar:DBExileOpponent:DB$ ChangeZone | Cost$ 0 | DefinedPlayer$ Opponent | ChangeType$ Permanent.YouDontCtrl,Card | ChangeNum$ X | Hidden$ True | Origin$ Battlefield,Hand | Destination$ Exile +SVar:DBExileSelf:DB$ ChangeZone | Cost$ 0 | DefinedPlayer$ Self | ChangeType$ Permanent.YouCtrl,Card | ChangeNum$ X | Hidden$ True | Origin$ Battlefield,Hand | Destination$ Exile | SubAbility$ DBExileOpponent | References$ X +SVar:DBExileOpponent:DB$ ChangeZone | Cost$ 0 | DefinedPlayer$ Opponent | ChangeType$ Permanent.YouDontCtrl,Card | ChangeNum$ X | Hidden$ True | Origin$ Battlefield,Hand | Destination$ Exile | References$ X SVar:X:Count$CardCounters.DESPAIR SVar:RemAIDeck:True SVar:RemRandomDeck:True diff --git a/res/cardsfolder/d/desertion.txt b/res/cardsfolder/d/desertion.txt index 2dc8ddd8974..ec11f09a890 100644 --- a/res/cardsfolder/d/desertion.txt +++ b/res/cardsfolder/d/desertion.txt @@ -2,8 +2,8 @@ Name:Desertion ManaCost:3 U U Types:Instant Text:no text -A:SP$ Counter | Cost$ 3 U U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBCounter | SpellDescription$ Counter target spell. If an artifact or creature spell is countered this way, put that card onto the battlefield under your control instead of into its owner's graveyard. -SVar:DBCounter:DB$ Counter | Defined$ Targeted | Destination$ Battlefield | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 +A:SP$ Counter | Cost$ 3 U U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBCounter | References$ X | SpellDescription$ Counter target spell. If an artifact or creature spell is countered this way, put that card onto the battlefield under your control instead of into its owner's graveyard. +SVar:DBCounter:DB$ Counter | Defined$ Targeted | Destination$ Battlefield | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X SVar:X:Targeted$Valid Artifact,Creature SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/desertion.jpg diff --git a/res/cardsfolder/d/detonate.txt b/res/cardsfolder/d/detonate.txt index 11bf16f6ab1..7a1f4dca9b2 100644 --- a/res/cardsfolder/d/detonate.txt +++ b/res/cardsfolder/d/detonate.txt @@ -3,7 +3,7 @@ ManaCost:X R Types:Sorcery Text:no text A:SP$ Destroy | Cost$ X R | ValidTgts$ Artifact | TgtPrompt$ Select target artifact | NoRegen$ True | SubAbility$ DBDamage | SpellDescription$ Destroy target artifact with converted mana cost X. It can't be regenerated. CARDNAME deals X damage to that artifact's controller. -SVar:DBDamage:DB$DealDamage | Defined$ TargetedController | NumDmg$ X +SVar:DBDamage:DB$DealDamage | Defined$ TargetedController | NumDmg$ X | References$ X SVar:X:Targeted$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/d/devastating_dreams.txt b/res/cardsfolder/d/devastating_dreams.txt index 900734e0d12..8ed4d0863be 100644 --- a/res/cardsfolder/d/devastating_dreams.txt +++ b/res/cardsfolder/d/devastating_dreams.txt @@ -2,8 +2,8 @@ Name:Devastating Dreams ManaCost:R R Types:Sorcery Text:no text -A:SP$ Sacrifice | Cost$ R R Discard | Defined$ Each | SacValid$ Land | Amount$ ChosenX | SubAbility$ DBDamage | SpellDescription$ Each player sacrifices X lands. CARDNAME deals X damage to each creature. -SVar:DBDamage:DB$ DamageAll | NumDmg$ ChosenX | ValidCards$ Creature +A:SP$ Sacrifice | Cost$ R R Discard | Defined$ Each | SacValid$ Land | Amount$ ChosenX | SubAbility$ DBDamage | References$ X | SpellDescription$ Each player sacrifices X lands. CARDNAME deals X damage to each creature. +SVar:DBDamage:DB$ DamageAll | NumDmg$ ChosenX | ValidCards$ Creature | References$ X SVar:X:XChoice SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/d/devastating_summons.txt b/res/cardsfolder/d/devastating_summons.txt index b602e581513..13f1b245a36 100644 --- a/res/cardsfolder/d/devastating_summons.txt +++ b/res/cardsfolder/d/devastating_summons.txt @@ -2,7 +2,7 @@ Name:Devastating Summons ManaCost:R Types:Sorcery Text:no text -A:SP$ Token | Cost$ R Sac | TokenAmount$ 2 | TokenName$ Elemental | TokenImage$ R X X Elemental | TokenTypes$ Creature,Elemental | TokenOwner$ You | TokenColors$ Red | TokenPower$ ChosenX | TokenToughness$ ChosenX | SpellDescription$ Put two X/X red Elemental creature tokens onto the battlefield. +A:SP$ Token | Cost$ R Sac | TokenAmount$ 2 | TokenName$ Elemental | TokenImage$ R X X Elemental | TokenTypes$ Creature,Elemental | TokenOwner$ You | TokenColors$ Red | TokenPower$ ChosenX | TokenToughness$ ChosenX | References$ X | SpellDescription$ Put two X/X red Elemental creature tokens onto the battlefield. SVar:X:XChoice #ChosenX SVar created by Cost payment SVar:RemAIDeck:True diff --git a/res/cardsfolder/d/devils_play.txt b/res/cardsfolder/d/devils_play.txt index cd3e9b17f50..4d972ee2590 100644 --- a/res/cardsfolder/d/devils_play.txt +++ b/res/cardsfolder/d/devils_play.txt @@ -3,7 +3,7 @@ ManaCost:X R Types:Sorcery Text:no text K:Flashback X R R R -A:SP$ DealDamage | Cost$ X R | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target creature or player. +A:SP$ DealDamage | Cost$ X R | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to target creature or player. SVar:X:Count$xPaid SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/devils_play.jpg diff --git a/res/cardsfolder/d/devour_in_shadow.txt b/res/cardsfolder/d/devour_in_shadow.txt index e985092a805..afdcc160022 100644 --- a/res/cardsfolder/d/devour_in_shadow.txt +++ b/res/cardsfolder/d/devour_in_shadow.txt @@ -3,7 +3,7 @@ ManaCost:B B Types:Instant Text:no text A:SP$ Destroy | Cost$ B B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NoRegen$ True | SubAbility$ DBLoseLife | SpellDescription$ Destroy target creature. It can't be regenerated. You lose life equal to that creature's toughness. -SVar:DBLoseLife:DB$LoseLife | Defined$ You | LifeAmount$ X +SVar:DBLoseLife:DB$LoseLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Targeted$CardToughness SVar:Rarity:Uncommon SVar:Picture:http://resources.wizards.com/magic/cards/5dn/en-us/card50210.jpg diff --git a/res/cardsfolder/d/devouring_greed.txt b/res/cardsfolder/d/devouring_greed.txt index b39b59c89cf..73be851c340 100644 --- a/res/cardsfolder/d/devouring_greed.txt +++ b/res/cardsfolder/d/devouring_greed.txt @@ -2,8 +2,8 @@ Name:Devouring Greed ManaCost:2 B B Types:Sorcery Arcane Text:no text -A:SP$ LoseLife | Cost$ 2 B B Sac | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ C | SubAbility$ DBGainLife | SpellDescription$ Target player loses 2 life plus 2 life for each Spirit sacrificed this way. You gain that much life. -SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ C +A:SP$ LoseLife | Cost$ 2 B B Sac | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ C | SubAbility$ DBGainLife | References$ X,A,B,C | SpellDescription$ Target player loses 2 life plus 2 life for each Spirit sacrificed this way. You gain that much life. +SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ C | References$ X,A,B,C SVar:X:XChoice SVar:A:Sacrificed$Amount SVar:B:SVar$A/Times.2 diff --git a/res/cardsfolder/d/devouring_rage.txt b/res/cardsfolder/d/devouring_rage.txt index 964da7f3293..82d283a9fde 100644 --- a/res/cardsfolder/d/devouring_rage.txt +++ b/res/cardsfolder/d/devouring_rage.txt @@ -2,7 +2,7 @@ Name:Devouring Rage ManaCost:4 R Types:Instant Arcane Text:no text -A:SP$ Pump | Cost$ 4 R Sac | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ Z | SpellDescription$ Target creature gets +3/+0 until end of turn. For each Spirit sacrificed this way, that creature gets an additional +3/+0 until end of turn. +A:SP$ Pump | Cost$ 4 R Sac | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ Z | References$ X,Y,Z | SpellDescription$ Target creature gets +3/+0 until end of turn. For each Spirit sacrificed this way, that creature gets an additional +3/+0 until end of turn. SVar:Z:SVar$Y/Thrice SVar:Y:Sacrificed$Amount.Plus.1 SVar:X:XChoice diff --git a/res/cardsfolder/d/diamond_valley.txt b/res/cardsfolder/d/diamond_valley.txt index 255f5488048..3d883c68fd6 100644 --- a/res/cardsfolder/d/diamond_valley.txt +++ b/res/cardsfolder/d/diamond_valley.txt @@ -1,7 +1,7 @@ Name:Diamond Valley ManaCost:no cost Types:Land -A:AB$ GainLife | Cost$ T Sac<1/Creature> | LifeAmount$ X | SpellDescription$ You gain life equal to the sacrificed creature's toughness. +A:AB$ GainLife | Cost$ T Sac<1/Creature> | LifeAmount$ X | References$ X | SpellDescription$ You gain life equal to the sacrificed creature's toughness. SVar:X:Sacrificed$CardToughness SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/d/din_of_the_fireherd.txt b/res/cardsfolder/d/din_of_the_fireherd.txt index 1aa209aff3f..6dd2d80f6a0 100644 --- a/res/cardsfolder/d/din_of_the_fireherd.txt +++ b/res/cardsfolder/d/din_of_the_fireherd.txt @@ -3,8 +3,8 @@ ManaCost:5 BR BR BR Types:Sorcery Text:no text A:SP$ Token | Cost$ 5 BR BR BR | TokenOwner$ You | TokenAmount$ 1 | TokenName$ Elemental | TokenColors$ Black,Red | TokenTypes$ Creature,Elemental | TokenPower$ 5 | TokenToughness$ 5 | SubAbility$ DBSac1 | SpellDescription$ Put a 5/5 black and red Elemental creature token onto the battlefield. Target opponent sacrifices a creature for each black creature you control, then sacrifices a land for each red creature you control. -SVar:DBSac1:DB$Sacrifice | SacValid$ Creature | Defined$ Opponent | Amount$ X | SubAbility$ DBSac2 -SVar:DBSac2:DB$Sacrifice | SacValid$ Land | Defined$ Opponent | Amount$ Y +SVar:DBSac1:DB$Sacrifice | SacValid$ Creature | Defined$ Opponent | Amount$ X | SubAbility$ DBSac2 | References$ X +SVar:DBSac2:DB$Sacrifice | SacValid$ Land | Defined$ Opponent | Amount$ Y | References$ Y SVar:X:Count$Valid Creature.Black+YouCtrl SVar:Y:Count$Valid Creature.Red+YouCtrl SVar:Rarity:Rare diff --git a/res/cardsfolder/d/disaster_radius.txt b/res/cardsfolder/d/disaster_radius.txt index bc161599c4f..8ac8decb9d6 100644 --- a/res/cardsfolder/d/disaster_radius.txt +++ b/res/cardsfolder/d/disaster_radius.txt @@ -2,7 +2,7 @@ Name:Disaster Radius ManaCost:5 R R Types:Sorcery Text:no text -A:SP$ DamageAll | Cost$ 5 R R Reveal<1/Creature> | NumDmg$ X | ValidCards$ Creature.YouDontCtrl | ValidDescription$ each creature your opponents control. | SpellDescription$ CARDNAME deals X damage to each creature your opponents control, where X is the revealed card's converted mana cost. +A:SP$ DamageAll | Cost$ 5 R R Reveal<1/Creature> | NumDmg$ X | ValidCards$ Creature.YouDontCtrl | ValidDescription$ each creature your opponents control. | References$ X | SpellDescription$ CARDNAME deals X damage to each creature your opponents control, where X is the revealed card's converted mana cost. SVar:X:Revealed$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/d/disciple_of_griselbrand.txt b/res/cardsfolder/d/disciple_of_griselbrand.txt index 3b6cd20628c..efee7371e68 100644 --- a/res/cardsfolder/d/disciple_of_griselbrand.txt +++ b/res/cardsfolder/d/disciple_of_griselbrand.txt @@ -3,7 +3,7 @@ ManaCost:1 B Types:Creature Human Cleric Text:no text PT:1/1 -A:AB$ GainLife | Cost$ 1 Sac<1/Creature> | Defined$ You | LifeAmount$ X | SpellDescription$ You gain life equal to the sacrificed creature's toughness. +A:AB$ GainLife | Cost$ 1 Sac<1/Creature> | Defined$ You | LifeAmount$ X | References$ X | SpellDescription$ You gain life equal to the sacrificed creature's toughness. SVar:X:Sacrificed$CardToughness SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/d/discordant_dirge.txt b/res/cardsfolder/d/discordant_dirge.txt index 071163649b5..0fdd38a8547 100644 --- a/res/cardsfolder/d/discordant_dirge.txt +++ b/res/cardsfolder/d/discordant_dirge.txt @@ -4,7 +4,7 @@ Types:Enchantment Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | OptionalDecider$ You | TriggerDescription$ At the beginning of your upkeep, you may put a verse counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ VERSE | CounterNum$ 1 -A:AB$ Discard | Cost$ B Sac<1/CARDNAME> | ValidTgts$ Opponent | Mode$ RevealYouChoose | NumCards$ X | SpellDescription$ Look at target opponent's hand and choose up to X cards from it, where X is the number of verse counters on CARDNAME. That player discards those cards. +A:AB$ Discard | Cost$ B Sac<1/CARDNAME> | ValidTgts$ Opponent | Mode$ RevealYouChoose | NumCards$ X | References$ X | SpellDescription$ Look at target opponent's hand and choose up to X cards from it, where X is the number of verse counters on CARDNAME. That player discards those cards. SVar:X:Count$CardCounters.VERSE SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/discordant_dirge.jpg diff --git a/res/cardsfolder/d/disembowel.txt b/res/cardsfolder/d/disembowel.txt index fecc09a72a6..e34845f823f 100644 --- a/res/cardsfolder/d/disembowel.txt +++ b/res/cardsfolder/d/disembowel.txt @@ -2,7 +2,7 @@ Name:Disembowel ManaCost:X B Types:Instant Text:no text -A:SP$ Destroy | Cost$ X B | ValidTgts$ Creature | SpellDescription$ Destroy target creature with converted mana cost X. +A:SP$ Destroy | Cost$ X B | ValidTgts$ Creature | References$ X | SpellDescription$ Destroy target creature with converted mana cost X. SVar:X:Targeted$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/d/disintegrate.txt b/res/cardsfolder/d/disintegrate.txt index 636335683c2..aed259a863a 100644 --- a/res/cardsfolder/d/disintegrate.txt +++ b/res/cardsfolder/d/disintegrate.txt @@ -2,7 +2,7 @@ Name:Disintegrate ManaCost:X R Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ X R | Tgt$ TgtCP | NumDmg$ X | SubAbility$ DB | SpellDescription$ CARDNAME deals X damage to target creature or player. That creature can't be regenerated this turn. If the creature would be put into a graveyard this turn, exile it instead. +A:SP$ DealDamage | Cost$ X R | Tgt$ TgtCP | NumDmg$ X | SubAbility$ DB | References$ X | SpellDescription$ CARDNAME deals X damage to target creature or player. That creature can't be regenerated this turn. If the creature would be put into a graveyard this turn, exile it instead. SVar:X:Count$xPaid SVar:DB:DB$Pump | KW$ HIDDEN CARDNAME can't be regenerated. & HIDDEN If CARDNAME would be put into a graveyard, exile it instead. | Defined$ Targeted SVar:Rarity:Common diff --git a/res/cardsfolder/d/disorder.txt b/res/cardsfolder/d/disorder.txt index df4f95457e1..d2c7d39ffbc 100644 --- a/res/cardsfolder/d/disorder.txt +++ b/res/cardsfolder/d/disorder.txt @@ -3,8 +3,8 @@ ManaCost:1 R Types:Sorcery Text:no text A:SP$ DamageAll | Cost$ 1 R | ValidCards$ Creature.White | NumDmg$ 2 | SubAbility$ DBDisorderDamageYou | SpellDescription$ Disorder deals 2 damage to each white creature and each player who controls a white creature. -SVar:DBDisorderDamageYou:DB$ DealDamage | Defined$ You | ConditionCheckSVar$ DisorderX | ConditionSVarCompare$ GE1 | NumDmg$ 2 | SubAbility$ DBDisorderDamageOpp -SVar:DBDisorderDamageOpp:DB$ DealDamage | Defined$ Opponent | ConditionCheckSVar$ DisorderY | ConditionSVarCompare$ GE1 | NumDmg$ 2 +SVar:DBDisorderDamageYou:DB$ DealDamage | Defined$ You | ConditionCheckSVar$ DisorderX | ConditionSVarCompare$ GE1 | NumDmg$ 2 | SubAbility$ DBDisorderDamageOpp | References$ DisorderX +SVar:DBDisorderDamageOpp:DB$ DealDamage | Defined$ Opponent | ConditionCheckSVar$ DisorderY | ConditionSVarCompare$ GE1 | NumDmg$ 2 | References$ DisorderY SVar:DisorderX:Count$Valid Creature.White+YouCtrl SVar:DisorderY:Count$Valid Creature.White+YouDontCtrl SVar:RemRandomDeck:True diff --git a/res/cardsfolder/d/dispense_justice.txt b/res/cardsfolder/d/dispense_justice.txt index 76bfe2774f8..b3984fb7a9e 100644 --- a/res/cardsfolder/d/dispense_justice.txt +++ b/res/cardsfolder/d/dispense_justice.txt @@ -2,7 +2,7 @@ Name:Dispense Justice ManaCost:2 W Types:Instant Text:no text -A:SP$ Sacrifice | Cost$ 2 W | ValidTgts$ Player | SacValid$ Creature.attacking | SacMessage$ Attacking Creature | Amount$ X | SpellDescription$ Target player sacrifices an attacking creature. Metalcraft - That player sacrifices two attacking creatures instead if you control three or more artifacts. +A:SP$ Sacrifice | Cost$ 2 W | ValidTgts$ Player | SacValid$ Creature.attacking | SacMessage$ Attacking Creature | Amount$ X | References$ X | SpellDescription$ Target player sacrifices an attacking creature. Metalcraft - That player sacrifices two attacking creatures instead if you control three or more artifacts. SVar:X:Count$Metalcraft.2.1 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/dispense_justice.jpg diff --git a/res/cardsfolder/d/dispersal_shield.txt b/res/cardsfolder/d/dispersal_shield.txt index 1887736722e..85c442d559b 100644 --- a/res/cardsfolder/d/dispersal_shield.txt +++ b/res/cardsfolder/d/dispersal_shield.txt @@ -2,7 +2,7 @@ Name:Dispersal Shield ManaCost:1 U Types:Instant Text:no text -A:SP$ Counter | Cost$ 1 U | TargetType$ Spell | ValidTgts$ Card | ConditionCheckSVar$ X | ConditionSVarCompare$ LEY | SpellDescription$ Counter target spell if its converted mana cost is less than or equal to the highest converted mana cost among permanents you control. +A:SP$ Counter | Cost$ 1 U | TargetType$ Spell | ValidTgts$ Card | ConditionCheckSVar$ X | ConditionSVarCompare$ LEY | References$ X,Y | SpellDescription$ Counter target spell if its converted mana cost is less than or equal to the highest converted mana cost among permanents you control. SVar:X:Targeted$CardManaCost SVar:Y:Count$MaxCMCYouCtrl SVar:RemAIDeck:True diff --git a/res/cardsfolder/d/distant_melody.txt b/res/cardsfolder/d/distant_melody.txt index 9392680392e..5e136b51c7d 100644 --- a/res/cardsfolder/d/distant_melody.txt +++ b/res/cardsfolder/d/distant_melody.txt @@ -3,7 +3,7 @@ ManaCost:3 U Types:Sorcery Text:no text A:SP$ ChooseType | Cost$ 3 U | Defined$ You | Type$ Creature | SubAbility$ DBDraw | AILogic$ MostProminentOnBattlefield | SpellDescription$ Choose a creature type. Draw a card for each permanent you control of that type. -SVar:DBDraw:DB$ Draw | Cost$ 0 | NumCards$ X +SVar:DBDraw:DB$ Draw | Cost$ 0 | NumCards$ X | References$ X SVar:X:Count$Valid Permanent.ChosenType+YouCtrl SVar:RemAIDeck:True SVar:NeedsToPlay:Creature diff --git a/res/cardsfolder/d/distant_memories.txt b/res/cardsfolder/d/distant_memories.txt index b706314664a..074d6cb636b 100644 --- a/res/cardsfolder/d/distant_memories.txt +++ b/res/cardsfolder/d/distant_memories.txt @@ -4,7 +4,7 @@ Types:Sorcery Text:no text A:SP$ ChangeZone | Cost$ 2 U U | Origin$ Library | Destination$ Exile | ChangeType$ Card | ChangeNum$ 1 | Mandatory$ True | RememberChanged$ True | ForgetOtherRemembered$ True | SubAbility$ DBReturn | SpellDescription$ Search your library for a card, exile it, then shuffle your library. Any opponent may have you put that card into your hand. If no player does, you draw three cards. SVar:DBReturn:DB$ChangeZone | Origin$ Exile | Destination$ Hand | ChangeType$ Card.IsRemembered | Hidden$ True | Chooser$ Opponent | RememberChanged$ True | SubAbility$ DBDraw -SVar:DBDraw:DB$Draw | NumCards$ 3 | ConditionCheckSVar$ X | ConditionSVarCompare$ LE1 +SVar:DBDraw:DB$Draw | NumCards$ 3 | ConditionCheckSVar$ X | ConditionSVarCompare$ LE1 | References$ X SVar:X:Remembered$Amount SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/d/distorting_wake.txt b/res/cardsfolder/d/distorting_wake.txt index 2956c29d01b..9cae2c830bb 100644 --- a/res/cardsfolder/d/distorting_wake.txt +++ b/res/cardsfolder/d/distorting_wake.txt @@ -2,7 +2,7 @@ Name:Distorting Wake ManaCost:X U U U Types:Sorcery Text:no text -A:SP$ ChangeZone | Cost$ X U U U | Origin$ Battlefield | Destination$ Hand | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | SpellDescription$ Return X target nonland permanents to their owners' hands. +A:SP$ ChangeZone | Cost$ X U U U | Origin$ Battlefield | Destination$ Hand | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | References$ X,MaxTgts | SpellDescription$ Return X target nonland permanents to their owners' hands. SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Permanent.nonLand SVar:RemAIDeck:True diff --git a/res/cardsfolder/d/divine_congregation.txt b/res/cardsfolder/d/divine_congregation.txt index 41763446d39..9fdba6a840d 100644 --- a/res/cardsfolder/d/divine_congregation.txt +++ b/res/cardsfolder/d/divine_congregation.txt @@ -3,7 +3,7 @@ ManaCost:3 W Types:Sorcery Text:no text K:Suspend:5:1 W -A:SP$ GainLife | Cost$ 3 W | LifeAmount$ X | ValidTgts$ Player | TgtPrompt$ Select target player | Defined$ You | SpellDescription$ You gain 2 life for each creature target player controls. +A:SP$ GainLife | Cost$ 3 W | LifeAmount$ X | ValidTgts$ Player | TgtPrompt$ Select target player | Defined$ You | References$ X | SpellDescription$ You gain 2 life for each creature target player controls. SVar:X:TargetedPlayer$CreaturesInPlay/Times.2 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/divine_congregation.jpg diff --git a/res/cardsfolder/d/divine_offering.txt b/res/cardsfolder/d/divine_offering.txt index 7d47f1742f5..2e9db8394e8 100644 --- a/res/cardsfolder/d/divine_offering.txt +++ b/res/cardsfolder/d/divine_offering.txt @@ -3,7 +3,7 @@ ManaCost:1 W Types:Instant Text:no text A:SP$ Destroy | Cost$ 1 W | ValidTgts$ Artifact | TgtPrompt$ Select target artifact | SubAbility$ DBGainLife | SpellDescription$ Destroy target artifact. You gain life equal to its converted mana cost. -SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X +SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Targeted$CardManaCost SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/divine_offering.jpg diff --git a/res/cardsfolder/d/divine_retribution.txt b/res/cardsfolder/d/divine_retribution.txt index b6c658cbf81..474d00c4f1e 100644 --- a/res/cardsfolder/d/divine_retribution.txt +++ b/res/cardsfolder/d/divine_retribution.txt @@ -2,7 +2,7 @@ Name:Divine Retribution ManaCost:1 W Types:Instant Text:no text -A:SP$ DealDamage | Cost$ 1 W | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | NumDmg$ X | SpellDescription$ CARDNAME deals damage to target attacking creature equal to the number of attacking creatures. +A:SP$ DealDamage | Cost$ 1 W | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage to target attacking creature equal to the number of attacking creatures. SVar:X:Count$Valid Creature.attacking SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/divine_retribution.jpg diff --git a/res/cardsfolder/d/djinn_of_wishes.txt b/res/cardsfolder/d/djinn_of_wishes.txt index adb578b0041..db071a17917 100644 --- a/res/cardsfolder/d/djinn_of_wishes.txt +++ b/res/cardsfolder/d/djinn_of_wishes.txt @@ -7,7 +7,7 @@ K:Flying K:etbCounter:WISH:3 A:AB$ Dig | Cost$ 2 U U SubCounter<1/WISH> | DigNum$ 1 | Reveal$ True | NoMove$ True | RememberRevealed$ True | SubAbility$ DBPlayIT | SpellDescription$ Reveal the top card of your library. You may play that card without paying its mana cost. If you don't, exile it. SVar:DBPlayIT:DB$ Play | Defined$ Remembered | Controller$ You | WithoutManaCost$ True | Optional$ True | RememberPlayed$ True | SubAbility$ DBExileIfNotPlayed -SVar:DBExileIfNotPlayed:DB$ ChangeZone | Origin$ Library | Destination$ Exile | Defined$ Remembered | DefinedPlayer$ You | ConditionCheckSVar$ DjinnX | ConditionSVarCompare$ EQ1 | SubAbility$ DBDjinnCleanup +SVar:DBExileIfNotPlayed:DB$ ChangeZone | Origin$ Library | Destination$ Exile | Defined$ Remembered | DefinedPlayer$ You | ConditionCheckSVar$ DjinnX | ConditionSVarCompare$ EQ1 | SubAbility$ DBDjinnCleanup | References$ DjinnX SVar:DBDjinnCleanup:DB$ Cleanup | ClearRemembered$ True SVar:DjinnX:Remembered$Valid Card.IsRemembered SVar:RemAIDeck:True diff --git a/res/cardsfolder/d/dogpile.txt b/res/cardsfolder/d/dogpile.txt index ec9c02828fa..10230e82a6d 100644 --- a/res/cardsfolder/d/dogpile.txt +++ b/res/cardsfolder/d/dogpile.txt @@ -2,7 +2,7 @@ Name:Dogpile ManaCost:3 R Types:Instant Text:no text -A:SP$ DealDamage | Cost$ 3 R | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals damage to target creature or player equal to the number of attacking creatures you control. +A:SP$ DealDamage | Cost$ 3 R | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage to target creature or player equal to the number of attacking creatures you control. SVar:X:Count$Valid Creature.attacking+YouCtrl SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/d/dominate.txt b/res/cardsfolder/d/dominate.txt index 3a5ec853cfd..6489def9601 100644 --- a/res/cardsfolder/d/dominate.txt +++ b/res/cardsfolder/d/dominate.txt @@ -2,7 +2,7 @@ Name:Dominate ManaCost:X 1 U U Types:Instant Text:no text -A:SP$ GainControl | Cost$ X 1 U U | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Gain control of target creature with converted mana cost X or less. (This effect lasts indefinitely.) +A:SP$ GainControl | Cost$ X 1 U U | ValidTgts$ Creature | TgtPrompt$ Select target creature | References$ X | SpellDescription$ Gain control of target creature with converted mana cost X or less. (This effect lasts indefinitely.) SVar:X:Targeted$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/d/doomgape.txt b/res/cardsfolder/d/doomgape.txt index 8e00be548a8..cf8d9001a3c 100644 --- a/res/cardsfolder/d/doomgape.txt +++ b/res/cardsfolder/d/doomgape.txt @@ -6,7 +6,7 @@ PT:10/10 K:Trample T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of your upkeep, sacrifice a creature. You gain life equal to that creature's toughness. SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ You | SacValid$ Creature | SacMessage$ Creature | RememberSacrificed$ True | SubAbility$ DBGainLife -SVar:DBGainLife:DB$GainLife | LifeAmount$ X | SubAbility$ DBCleanup +SVar:DBGainLife:DB$GainLife | LifeAmount$ X | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$CardToughness SVar:RemAIDeck:True diff --git a/res/cardsfolder/d/doomsday.txt b/res/cardsfolder/d/doomsday.txt index 755718e2b43..e106a97b70c 100644 --- a/res/cardsfolder/d/doomsday.txt +++ b/res/cardsfolder/d/doomsday.txt @@ -3,8 +3,8 @@ ManaCost:B B B Types:Sorcery Text:no text A:SP$ ChangeZoneAll | Cost$ B B B | Origin$ Graveyard | Destination$ Library | SubAbility$ DBDig | SpellDescription$ Search your library and graveyard for five cards and exile the rest. Put the chosen cards on top of your library in any order. You lose half your life, rounded up. -SVar:DBDig:DB$Dig | DigNum$ X | DestinationZone$ Library | ChangeNum$ 5 | DestinationZone2$ Exile | SubAbility$ DBLoseLife -SVar:DBLoseLife:DB$LoseLife | LifeAmount$ Y +SVar:DBDig:DB$Dig | DigNum$ X | DestinationZone$ Library | ChangeNum$ 5 | DestinationZone2$ Exile | SubAbility$ DBLoseLife | References$ X +SVar:DBLoseLife:DB$LoseLife | LifeAmount$ Y | References$ Y SVar:X:Count$InYourLibrary SVar:Y:Count$YourLifeTotal/HalfUp SVar:RemAIDeck:True diff --git a/res/cardsfolder/d/doubling_cube.txt b/res/cardsfolder/d/doubling_cube.txt index 8301b8167d0..a30d5b49e92 100644 --- a/res/cardsfolder/d/doubling_cube.txt +++ b/res/cardsfolder/d/doubling_cube.txt @@ -2,11 +2,11 @@ Name:Doubling Cube ManaCost:2 Types:Artifact Text:no text -A:AB$ Mana | Cost$ 3 T | Produced$ W | Amount$ A | SubAbility$ ManaBlue | SpellDescription$ Double the amount of each type of mana in your mana pool. -SVar:ManaBlue:DB$Mana | Produced$ U | Amount$ B | SubAbility$ ManaBlack -SVar:ManaBlack:DB$Mana | Produced$ B | Amount$ C | SubAbility$ ManaRed -SVar:ManaRed:DB$Mana | Produced$ R | Amount$ D | SubAbility$ ManaGreen -SVar:ManaGreen:DB$Mana | Produced$ G | Amount$ E +A:AB$ Mana | Cost$ 3 T | Produced$ W | Amount$ A | SubAbility$ ManaBlue | References$ A | SpellDescription$ Double the amount of each type of mana in your mana pool. +SVar:ManaBlue:DB$Mana | Produced$ U | Amount$ B | SubAbility$ ManaBlack | References$ B +SVar:ManaBlack:DB$Mana | Produced$ B | Amount$ C | SubAbility$ ManaRed | References$ C +SVar:ManaRed:DB$Mana | Produced$ R | Amount$ D | SubAbility$ ManaGreen | References$ D +SVar:ManaGreen:DB$Mana | Produced$ G | Amount$ E | References$ E SVar:A:Count$ManaPool:white SVar:B:Count$ManaPool:blue SVar:C:Count$ManaPool:black diff --git a/res/cardsfolder/d/doubtless_one.txt b/res/cardsfolder/d/doubtless_one.txt index f15c5c25209..2813084e2bf 100644 --- a/res/cardsfolder/d/doubtless_one.txt +++ b/res/cardsfolder/d/doubtless_one.txt @@ -6,7 +6,7 @@ PT:*/* S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of Clerics on the battlefield. SVar:X:Count$Valid Cleric T:Mode$ DamageDone | ValidSource$ Card.Self | Execute$ TrigGain | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals damage, you gain that much life. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ Y +SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ Y | References$ Y SVar:Y:TriggerCount$DamageAmount SVar:BuffedBy:Cleric SVar:Rarity:Uncommon diff --git a/res/cardsfolder/d/dovescape.txt b/res/cardsfolder/d/dovescape.txt index 4047bf016ce..fb802f911ec 100644 --- a/res/cardsfolder/d/dovescape.txt +++ b/res/cardsfolder/d/dovescape.txt @@ -4,7 +4,7 @@ Types:Enchantment Text:no text T:Mode$ SpellCast | ValidCard$ Card.nonCreature | TriggerZones$ Battlefield | Execute$ TrigCounter | TriggerDescription$ Whenever a player casts a noncreature spell, counter that spell. That player puts X 1/1 white and blue Bird creature tokens with flying onto the battlefield, where X is the spell's converted mana cost. SVar:TrigCounter:AB$Counter | Cost$ 0 | Defined$ TriggeredSpellAbility | SubAbility$ DBToken -SVar:DBToken:DB$Token | TokenAmount$ X | TokenName$ Bird | TokenTypes$ Creature,Bird | TokenOwner$ TriggeredActivator | TokenColors$ White,Blue | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying +SVar:DBToken:DB$Token | TokenAmount$ X | TokenName$ Bird | TokenTypes$ Creature,Bird | TokenOwner$ TriggeredActivator | TokenColors$ White,Blue | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying | References$ X SVar:X:TriggeredCard$CardManaCost SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/dovescape.jpg diff --git a/res/cardsfolder/d/downhill_charge.txt b/res/cardsfolder/d/downhill_charge.txt index c45d452dd27..97af45584f8 100644 --- a/res/cardsfolder/d/downhill_charge.txt +++ b/res/cardsfolder/d/downhill_charge.txt @@ -2,7 +2,7 @@ Name:Downhill Charge ManaCost:2 R Types:Instant Text:no text -A:SP$ Pump | Cost$ 2 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | SpellDescription$ Target creature gets +X/+0 until end of turn, where X is the number of Mountains you control. +A:SP$ Pump | Cost$ 2 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | References$ X | SpellDescription$ Target creature gets +X/+0 until end of turn, where X is the number of Mountains you control. SVar:AltCost:Cost$ Sac<1/Mountain> | Description$ You may sacrifice a Mountain rather than pay CARDNAME's mana cost. SVar:X:Count$TypeYouCtrl.Mountain SVar:Rarity:Common diff --git a/res/cardsfolder/d/drafnas_restoration.txt b/res/cardsfolder/d/drafnas_restoration.txt index 80529363ad5..78d0245fb2b 100644 --- a/res/cardsfolder/d/drafnas_restoration.txt +++ b/res/cardsfolder/d/drafnas_restoration.txt @@ -3,7 +3,7 @@ ManaCost:U Types:Sorcery Text:no text A:SP$ Pump | Cost$ U | ValidTgts$ Player | TgtPrompt$ Select target Player | SubAbility$ DBChangeZone | IsCurse$ True | SpellDescription$ Return any number of target artifact cards from target player's graveyard to the top of his or her library in any order. -SVar:DBChangeZone:DB$ ChangeZone | TargetMin$ 0 | TargetMax$ X | TargetsWithDefinedController$ Targeted | Origin$ Graveyard | Destination$ Library | TgtPrompt$ Choose target artifact card | ValidTgts$ Artifact +SVar:DBChangeZone:DB$ ChangeZone | TargetMin$ 0 | TargetMax$ X | TargetsWithDefinedController$ Targeted | Origin$ Graveyard | Destination$ Library | TgtPrompt$ Choose target artifact card | ValidTgts$ Artifact | References$ X SVar:X:Count$InAllYards SVar:RemAIDeck:True SVar:RemRandomDeck:True diff --git a/res/cardsfolder/d/drag_down.txt b/res/cardsfolder/d/drag_down.txt index 9ab2f32617b..b824caa1589 100644 --- a/res/cardsfolder/d/drag_down.txt +++ b/res/cardsfolder/d/drag_down.txt @@ -2,7 +2,7 @@ Name:Drag Down ManaCost:2 B Types:Instant Text:no text -A:SP$ Pump | Cost$ 2 B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | SpellDescription$ Domain - Target creature gets -1/-1 until end of turn for each basic land type among lands you control. +A:SP$ Pump | Cost$ 2 B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | References$ X | SpellDescription$ Domain - Target creature gets -1/-1 until end of turn for each basic land type among lands you control. SVar:X:Count$Domain SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/drag_down.jpg diff --git a/res/cardsfolder/d/drake_familiar.txt b/res/cardsfolder/d/drake_familiar.txt index b61a0fea6b5..6f7c5117760 100644 --- a/res/cardsfolder/d/drake_familiar.txt +++ b/res/cardsfolder/d/drake_familiar.txt @@ -6,7 +6,7 @@ PT:2/1 K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you return an enchantment to its owner's hand. SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | Origin$ Battlefield | Destination$ Hand | Hidden$ True | ChangeType$ Enchantment | RememberChanged$ True | SubAbility$ DBSac -SVar:DBSac:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 +SVar:DBSac:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:NeedsToPlay:Enchantment diff --git a/res/cardsfolder/d/dralnu_lich_lord.txt b/res/cardsfolder/d/dralnu_lich_lord.txt index 97728da2602..8f8a3c0ed8d 100644 --- a/res/cardsfolder/d/dralnu_lich_lord.txt +++ b/res/cardsfolder/d/dralnu_lich_lord.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Zombie Wizard Text:no text PT:3/3 R:Event$ DamageDone | ValidTarget$ Card.Self | ReplaceWith$ Sac | Description$ If damage would be dealt to CARDNAME, sacrifice that many permanents instead. -SVar:Sac:AB$Sacrifice | Cost$ 0 | Defined$ You | SacValid$ Permanent | SacMessage$ Permanent | Amount$ X +SVar:Sac:AB$Sacrifice | Cost$ 0 | Defined$ You | SacValid$ Permanent | SacMessage$ Permanent | Amount$ X | References$ X SVar:X:ReplaceCount$DamageAmount A:AB$Pump | Cost$ T | ValidTgts$ Instant.YouCtrl,Sorcery.YouCtrl | KW$ Flashback | TgtZone$ Graveyard | PumpZone$ Graveyard | SpellDescription$ Target instant or sorcery card in your graveyard gains flashback until end of turn. The flashback cost is equal to its mana cost. (You may cast that card from your graveyard for its flashback cost. Then exile it.) SVar:RemAIDeck:True diff --git a/res/cardsfolder/d/drana_kalastria_bloodchief.txt b/res/cardsfolder/d/drana_kalastria_bloodchief.txt index 9bce3e630a3..bd85aa4e7b5 100644 --- a/res/cardsfolder/d/drana_kalastria_bloodchief.txt +++ b/res/cardsfolder/d/drana_kalastria_bloodchief.txt @@ -4,8 +4,8 @@ Types:Legendary Creature Vampire Shaman Text:no text PT:4/4 K:Flying -A:AB$ Pump | Cost$ X B B | NumDef$ -X | ValidTgts$ Creature | IsCurse$ True | TgtPrompt$ Select target creature. | SubAbility$ DBPump | SpellDescription$ Target creature gets -0/-X until end of turn and CARDNAME gets +X/+0 until end of turn. -SVar:DBPump:DB$Pump | NumAtt$ +X | Defined$ Self +A:AB$ Pump | Cost$ X B B | NumDef$ -X | ValidTgts$ Creature | IsCurse$ True | TgtPrompt$ Select target creature. | SubAbility$ DBPump | References$ X | SpellDescription$ Target creature gets -0/-X until end of turn and CARDNAME gets +X/+0 until end of turn. +SVar:DBPump:DB$Pump | NumAtt$ +X | Defined$ Self | References$ X SVar:X:Count$xPaid SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/drana_kalastria_bloodchief.jpg diff --git a/res/cardsfolder/d/dreadwaters.txt b/res/cardsfolder/d/dreadwaters.txt index 6df66dad638..573280b634b 100644 --- a/res/cardsfolder/d/dreadwaters.txt +++ b/res/cardsfolder/d/dreadwaters.txt @@ -2,7 +2,7 @@ Name:Dreadwaters ManaCost:3 U Types:Sorcery Text:no text -A:SP$ Mill | Cost$ 3 U | NumCards$ X | ValidTgts$ Player | TgtPrompt$ Choose a player | SpellDescription$ Target player puts the top X cards of his or her library into his or her graveyard, where X is the number of lands you control. +A:SP$ Mill | Cost$ 3 U | NumCards$ X | ValidTgts$ Player | TgtPrompt$ Choose a player | References$ X | SpellDescription$ Target player puts the top X cards of his or her library into his or her graveyard, where X is the number of lands you control. SVar:X:Count$Valid Land.YouCtrl SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/dreadwaters.jpg diff --git a/res/cardsfolder/d/dream_thief.txt b/res/cardsfolder/d/dream_thief.txt index 28f929d0c28..45ce02c4a9e 100644 --- a/res/cardsfolder/d/dream_thief.txt +++ b/res/cardsfolder/d/dream_thief.txt @@ -5,7 +5,7 @@ Text:no text PT:2/1 K:Flying T:Mode$ ChangesZone | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDraw | TriggerDescription$ When CARDNAME enters the battlefield, draw a card if you've cast another blue spell this turn. -SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | ConditionCheckSVar$ X +SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | ConditionCheckSVar$ X | References$ X SVar:X:Count$ThisTurnCast_Card.Other+Blue+YouCtrl SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/dream_thief.jpg diff --git a/res/cardsfolder/d/dreamborn_muse.txt b/res/cardsfolder/d/dreamborn_muse.txt index 41f08224dc7..abe827e3603 100644 --- a/res/cardsfolder/d/dreamborn_muse.txt +++ b/res/cardsfolder/d/dreamborn_muse.txt @@ -5,8 +5,8 @@ Text:no text PT:2/2 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigMillYou | TriggerDescription$ At the beginning of each player's upkeep, that player puts the top X cards of his or her library into his or her graveyard, where X is the number of cards in his or her hand. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Opponent | TriggerZones$ Battlefield | Execute$ TrigMillOpp | Secondary$ True | TriggerDescription$ At the beginning of each player's upkeep, that player puts the top X cards of his or her library into his or her graveyard, where X is the number of cards in his or her hand. -SVar:TrigMillYou:AB$Mill | Cost$ 0 | Defined$ You | NumCards$ X -SVar:TrigMillOpp:AB$Mill | Cost$ 0 | Defined$ Opponent | NumCards$ Y +SVar:TrigMillYou:AB$Mill | Cost$ 0 | Defined$ You | NumCards$ X | References$ X +SVar:TrigMillOpp:AB$Mill | Cost$ 0 | Defined$ Opponent | NumCards$ Y | References$ Y SVar:X:Count$InYourHand SVar:Y:Count$InOppHand SVar:RemRandomDeck:True diff --git a/res/cardsfolder/d/dregs_of_sorrow.txt b/res/cardsfolder/d/dregs_of_sorrow.txt index 91624b132a7..271bfb906fb 100644 --- a/res/cardsfolder/d/dregs_of_sorrow.txt +++ b/res/cardsfolder/d/dregs_of_sorrow.txt @@ -2,7 +2,7 @@ Name:Dregs of Sorrow ManaCost:X 4 B Types:Sorcery Text:no text -A:SP$ Destroy | Cost$ X 4 B | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonBlack creature | SpellDescription$ Destroy X target nonblack creatures. Draw X cards. | SubAbility$ DB +A:SP$ Destroy | Cost$ X 4 B | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonBlack creature | References$ X,MaxTgts | SpellDescription$ Destroy X target nonblack creatures. Draw X cards. | SubAbility$ DB # It may seem wrong to not use X in the target, but since the Targets are what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Creature.nonBlack diff --git a/res/cardsfolder/d/drekavac.txt b/res/cardsfolder/d/drekavac.txt index 9cfa1e066f5..bc3059e2066 100644 --- a/res/cardsfolder/d/drekavac.txt +++ b/res/cardsfolder/d/drekavac.txt @@ -5,7 +5,7 @@ Text: PT:3/3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDiscard | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you discard a noncreature card. SVar:TrigDiscard:AB$ Discard | Cost$ 0 | NumCards$ 1 | DiscardValid$ Card.nonCreature | Mode$ TgtChoose | Optional$ True | RememberDiscarded$ True | SubAbility$ DBSacSelf -SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 +SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:RemAIDeck:True diff --git a/res/cardsfolder/d/dripping_tongue_zubera.txt b/res/cardsfolder/d/dripping_tongue_zubera.txt index 88535082f66..719472960d1 100644 --- a/res/cardsfolder/d/dripping_tongue_zubera.txt +++ b/res/cardsfolder/d/dripping_tongue_zubera.txt @@ -3,7 +3,7 @@ ManaCost:1 G Types:Creature Zubera Spirit Text:no text T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigToken | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME is put into a graveyard from the battlefield, put a 1/1 colorless Spirit creature token onto the battlefield for each Zubera put into a graveyard from the battlefield this turn. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenOwner$ You | TokenPower$ 1 | TokenToughness$ 1 | TokenColors$ Colorless | TokenName$ Spirit | TokenTypes$ Creature,Spirit | TokenAmount$ X +SVar:TrigToken:AB$Token | Cost$ 0 | TokenOwner$ You | TokenPower$ 1 | TokenToughness$ 1 | TokenColors$ Colorless | TokenName$ Spirit | TokenTypes$ Creature,Spirit | TokenAmount$ X | References$ X SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Card.Zubera PT:1/2 SVar:Rarity:Common diff --git a/res/cardsfolder/d/druids_call.txt b/res/cardsfolder/d/druids_call.txt index 94de906b80d..c04218f6639 100644 --- a/res/cardsfolder/d/druids_call.txt +++ b/res/cardsfolder/d/druids_call.txt @@ -5,7 +5,7 @@ Text:no text K:Enchant creature A:SP$ Attach | Cost$ 1 G | ValidTgts$ Creature | AILogic$ Pump T:Mode$ DamageDone | ValidTarget$ Card.AttachedBy | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ Whenever enchanted creature is dealt damage, its controller puts that many 1/1 green Squirrel creature tokens onto the battlefield. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Squirrel | TokenTypes$ Creature,Squirrel | TokenOwner$ TriggeredTargetController | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 +SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Squirrel | TokenTypes$ Creature,Squirrel | TokenOwner$ TriggeredTargetController | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/druids_call.jpg diff --git a/res/cardsfolder/d/dryads_caress.txt b/res/cardsfolder/d/dryads_caress.txt index 75dce5c6199..d1f26c5e28f 100644 --- a/res/cardsfolder/d/dryads_caress.txt +++ b/res/cardsfolder/d/dryads_caress.txt @@ -2,7 +2,7 @@ Name:Dryad's Caress ManaCost:4 G G Types:Instant Text:no text -A:SP$ GainLife | Cost$ 4 G G | Defined$ You | LifeAmount$ X | SubAbility$ DBUntapAll | SpellDescription$ You gain 1 life for each creature on the battlefield. If W was spent to cast CARDNAME, untap all creatures you control. +A:SP$ GainLife | Cost$ 4 G G | Defined$ You | LifeAmount$ X | SubAbility$ DBUntapAll | References$ X | SpellDescription$ You gain 1 life for each creature on the battlefield. If W was spent to cast CARDNAME, untap all creatures you control. SVar:DBUntapAll:DB$ UntapAll | ConditionManaSpent$ W | ValidCards$ Creature.YouCtrl SVar:X:Count$Valid Creature SVar:RemAIDeck:True diff --git a/res/cardsfolder/d/dune_brood_nephilim.txt b/res/cardsfolder/d/dune_brood_nephilim.txt index 36cae0f773b..cabb44ee266 100644 --- a/res/cardsfolder/d/dune_brood_nephilim.txt +++ b/res/cardsfolder/d/dune_brood_nephilim.txt @@ -4,7 +4,7 @@ Types:Creature Nephilim Text:no text PT:3/3 T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigToken | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, put a 1/1 colorless Sand creature token onto the battlefield for each land you control. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenImage$ C 1 1 Sand | TokenName$ Sand | TokenColors$ Colorless | TokenTypes$ Creature,Sand | TokenPower$ 1 | TokenToughness$ 1 | TokenOwner$ You | TokenAmount$ X +SVar:TrigToken:AB$Token | Cost$ 0 | TokenImage$ C 1 1 Sand | TokenName$ Sand | TokenColors$ Colorless | TokenTypes$ Creature,Sand | TokenPower$ 1 | TokenToughness$ 1 | TokenOwner$ You | TokenAmount$ X | References$ X SVar:X:Count$Valid Land.YouCtrl SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/dune_brood_nephilim.jpg diff --git a/res/cardsfolder/d/durkwood_tracker.txt b/res/cardsfolder/d/durkwood_tracker.txt index 3c62db83ee0..54e9458886a 100644 --- a/res/cardsfolder/d/durkwood_tracker.txt +++ b/res/cardsfolder/d/durkwood_tracker.txt @@ -3,8 +3,8 @@ ManaCost:4 G Types:Creature Giant Text:no text PT:4/3 -A:AB$ DealDamage | Cost$ 1 G T | IsPresent$ Card.Self | PresentZone$ Battlefield | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | NumDmg$ X | SubAbility$ DBDamage | SpellDescription$ If CARDNAME is on the battlefield, it deals damage equal to its power to target attacking creature. That creature deals damage equal to its power to CARDNAME. -SVar:DBDamage:DB$DealDamage | Defined$ Self | NumDmg$ Y +A:AB$ DealDamage | Cost$ 1 G T | IsPresent$ Card.Self | PresentZone$ Battlefield | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | NumDmg$ X | SubAbility$ DBDamage | References$ X | SpellDescription$ If CARDNAME is on the battlefield, it deals damage equal to its power to target attacking creature. That creature deals damage equal to its power to CARDNAME. +SVar:DBDamage:DB$DealDamage | Defined$ Self | NumDmg$ Y | References$ Y SVar:X:Count$CardPower SVar:Y:Targeted$CardPower SVar:Rarity:Uncommon diff --git a/res/cardsfolder/d/dusk_urchins.txt b/res/cardsfolder/d/dusk_urchins.txt index b210f95b7e7..f8f64c0511d 100644 --- a/res/cardsfolder/d/dusk_urchins.txt +++ b/res/cardsfolder/d/dusk_urchins.txt @@ -7,7 +7,7 @@ T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPutCounter | TriggerZones$ T:Mode$ Blocks | ValidCard$ Card.Self | Execute$ TrigPutCounter | Secondary$ True | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME attacks or blocks, put a -1/-1 counter on it. SVar:TrigPutCounter:AB$ PutCounter | Cost$ 0 | CounterType$ M1M1 | CounterNum$ 1 T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigDraw | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, draw a card for each -1/-1 counter on it. -SVar:TrigDraw:AB$ Draw | Cost$ 0 | NumCards$ X +SVar:TrigDraw:AB$ Draw | Cost$ 0 | NumCards$ X | References$ X SVar:X:TriggeredCard$CardCounters.M1M1 SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/dusk_urchins.jpg diff --git a/res/cardsfolder/d/dwarven_hold.txt b/res/cardsfolder/d/dwarven_hold.txt index b640db00f27..b7a496d2ef9 100644 --- a/res/cardsfolder/d/dwarven_hold.txt +++ b/res/cardsfolder/d/dwarven_hold.txt @@ -6,7 +6,7 @@ K:CARDNAME enters the battlefield tapped. K:You may choose not to untap CARDNAME during your untap step. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | IsPresent$ Card.Self+tapped | Execute$ TrigStore | TriggerDescription$ At the beginning of your upkeep, if CARDNAME is tapped, put a storage counter on it. SVar:TrigStore:DB$PutCounter | Defined$ Self | CounterType$ STORAGE | CounterNum$ 1 -A:AB$ Mana | Cost$ T SubCounter | Produced$ R | Amount$ ChosenX | CostDesc$ Tap, Remove any number of storage counters from CARDNAME: | SpellDescription$ Add R to your mana pool for each storage counter removed this way. +A:AB$ Mana | Cost$ T SubCounter | Produced$ R | Amount$ ChosenX | CostDesc$ Tap, Remove any number of storage counters from CARDNAME: | References$ X | SpellDescription$ Add R to your mana pool for each storage counter removed this way. SVar:X:XChoice #ChosenX SVar created by Cost payment SVar:RemAIDeck:True diff --git a/res/cardsfolder/d/dwarven_recruiter.txt b/res/cardsfolder/d/dwarven_recruiter.txt index 2f93c84f7a5..e2b24ec2b9e 100644 --- a/res/cardsfolder/d/dwarven_recruiter.txt +++ b/res/cardsfolder/d/dwarven_recruiter.txt @@ -4,7 +4,7 @@ Types:Creature Dwarf Text:no text PT:2/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield, search your library for any number of Dwarf cards and reveal those cards. Shuffle your library, then put them on top of it in any order. -SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | ChangeNum$ X | ChangeType$ Dwarf | Origin$ Library | Destination$ Library | LibraryPosition$ 0 +SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | ChangeNum$ X | ChangeType$ Dwarf | Origin$ Library | Destination$ Library | LibraryPosition$ 0 | References$ X SVar:X:Count$InYourLibrary.Dwarf SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/d/dwarven_song.txt b/res/cardsfolder/d/dwarven_song.txt index 24ba2a6517c..36a3993681f 100644 --- a/res/cardsfolder/d/dwarven_song.txt +++ b/res/cardsfolder/d/dwarven_song.txt @@ -2,7 +2,7 @@ Name:Dwarven Song ManaCost:R Types:Instant Text:no text -A:SP$ Animate | Cost$ R | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ MaxTgts | TgtPrompt$ Select target creatures | Colors$ Red | OverwriteColors$ True | SpellDescription$ Any number of target creatures become red until end of turn. +A:SP$ Animate | Cost$ R | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ MaxTgts | TgtPrompt$ Select target creatures | Colors$ Red | OverwriteColors$ True | References$ MaxTgts | SpellDescription$ Any number of target creatures become red until end of turn. SVar:MaxTgts:Count$Valid Creature SVar:RemAIDeck:True SVar:RemRandomDeck:True diff --git a/res/cardsfolder/d/dwarven_vigilantes.txt b/res/cardsfolder/d/dwarven_vigilantes.txt index 815a3d2804b..d1c6f7f6e5e 100644 --- a/res/cardsfolder/d/dwarven_vigilantes.txt +++ b/res/cardsfolder/d/dwarven_vigilantes.txt @@ -4,7 +4,7 @@ Types:Creature Dwarf Text:no text PT:2/2 T:Mode$ AttackerUnblocked | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigDamage | OptionalDecider$ You | TriggerDescription$ Whenever CARDNAME attacks and isn't blocked, you may have it deal damage equal to its power to target creature. If you do, CARDNAME assigns no combat damage this turn. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DBNoCombatDamage +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DBNoCombatDamage | References$ X SVar:DBNoCombatDamage:DB$Pump | Defined$ Self | KW$ HIDDEN CARDNAME assigns no combat damage SVar:X:Count$CardPower SVar:Rarity:Common diff --git a/res/cardsfolder/e/earthquake.txt b/res/cardsfolder/e/earthquake.txt index 35a74199b6d..8d5c914d990 100644 --- a/res/cardsfolder/e/earthquake.txt +++ b/res/cardsfolder/e/earthquake.txt @@ -2,7 +2,7 @@ Name:Earthquake ManaCost:X R Types:Sorcery Text:no text -A:SP$ DamageAll | Cost$ X R | ValidCards$ Creature.withoutFlying | ValidPlayers$ Each | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to each creature without flying and each player. +A:SP$ DamageAll | Cost$ X R | ValidCards$ Creature.withoutFlying | ValidPlayers$ Each | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to each creature without flying and each player. SVar:X:Count$xPaid SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/earthquake.jpg diff --git a/res/cardsfolder/e/ebon_praetor.txt b/res/cardsfolder/e/ebon_praetor.txt index 9a66eed59ae..3eddcc34ea4 100644 --- a/res/cardsfolder/e/ebon_praetor.txt +++ b/res/cardsfolder/e/ebon_praetor.txt @@ -8,7 +8,7 @@ K:Trample T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, put a -2/-2 counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ M2M2 | CounterNum$ 1 | SpellDescription$ Put a -2/-2 counter on CARDNAME. A:AB$ RemoveCounter | Cost$ Sac<1/Creature> | CounterType$ M2M2 | CounterNum$ 1 | ActivationPhases$ Upkeep | PlayerTurn$ True | ActivationLimit$ 1 | SubAbility$ DBPutCounter | SpellDescription$ Remove a -2/-2 counter from CARDNAME. If the sacrificed creature was a Thrull, put a +1/+0 counter on CARDNAME. Activate this ability only during your upkeep and only once each turn. -SVar:DBPutCounter:DB$PutCounter | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | CounterNum$ 1 | CounterType$ P1P0 +SVar:DBPutCounter:DB$PutCounter | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | CounterNum$ 1 | CounterType$ P1P0 | References$ X SVar:X:Sacrificed$Valid Thrull SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/e/ebonblade_reaper.txt b/res/cardsfolder/e/ebonblade_reaper.txt index 0c0e9d08b4a..658634b80e5 100644 --- a/res/cardsfolder/e/ebonblade_reaper.txt +++ b/res/cardsfolder/e/ebonblade_reaper.txt @@ -5,9 +5,9 @@ Text:no text PT:1/1 K:Morph:3 B B T:Mode$ Attacks | ValidCard$ Card.Self+faceUp | Execute$ TrigLoseLife | TriggerDescription$ Whenever CARDNAME attacks, you lose half your life, rounded up. -SVar:TrigLoseLife:AB$ LoseLife | Cost$ 0 | Defined$ You | LifeAmount$ EbonXYou +SVar:TrigLoseLife:AB$ LoseLife | Cost$ 0 | Defined$ You | LifeAmount$ EbonXYou | References$ EbonXYou T:Mode$ DamageDone | ValidSource$ Card.Self+faceUp | ValidTarget$ Opponent | CombatDamage$ True | Execute$ TrigLoseLifeOpp | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, that player loses half his or her life, rounded up. -SVar:TrigLoseLifeOpp:AB$ LoseLife | Cost$ 0 | Defined$ Opponent | LifeAmount$ EbonXOpp +SVar:TrigLoseLifeOpp:AB$ LoseLife | Cost$ 0 | Defined$ Opponent | LifeAmount$ EbonXOpp | References$ EbonXOpp SVar:EbonXYou:Count$YourLifeTotal/HalfUp SVar:EbonXOpp:Count$OppLifeTotal/HalfUp SVar:RemAIDeck:True diff --git a/res/cardsfolder/e/ebony_horse.txt b/res/cardsfolder/e/ebony_horse.txt index f169ec0aee5..004d387948f 100644 --- a/res/cardsfolder/e/ebony_horse.txt +++ b/res/cardsfolder/e/ebony_horse.txt @@ -2,7 +2,7 @@ Name:Ebony Horse ManaCost:3 Types:Artifact Text:no text -A:AB$ Untap | Cost$ 2 T | ValidTgts$ Creature.attacking+YouCtrl | TgtPrompt$ Select target attacking creature you control | SubAbility$ DB | SpellDescription$ Untap target attacking creature. Prevent all combat damage that would be dealt to and dealt by that creature this turn. +A:AB$ Untap | Cost$ 2 T | ValidTgts$ Creature.attacking+YouCtrl | TgtPrompt$ Select target attacking creature you control | SubAbility$ DB | SpellDescription$ Untap target attacking creature you control. Prevent all combat damage that would be dealt to and dealt by that creature this turn. SVar:DB:DB$Pump | KW$ HIDDEN Prevent all combat damage that would be dealt to and dealt by CARDNAME. | Defined$ Targeted SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/e/eiganjo_free_riders.txt b/res/cardsfolder/e/eiganjo_free_riders.txt index 96f948147ca..ca69b247870 100644 --- a/res/cardsfolder/e/eiganjo_free_riders.txt +++ b/res/cardsfolder/e/eiganjo_free_riders.txt @@ -5,7 +5,7 @@ Text:no text PT:3/4 K:Flying T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | IsPresent$ Creature.White | PresentZone$ Battlefield | PresentPlayer$ You | Execute$ TrigBounce | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, return a white creature you control to its owner's hand. -SVar:TrigBounce:AB$ChangeZone | Cost$ 0 | Origin$ Battlefield | Destination$ Hand | TgtPrompt$ Choose target white creature | Mandatory$ True | Hidden$ True | ValidTgts$ Creature.White+YouCtrl +SVar:TrigBounce:AB$ChangeZone | Cost$ 0 | Origin$ Battlefield | Destination$ Hand | Mandatory$ True | Hidden$ True | ChangeType$ Creature.White+YouCtrl SVar:RemAIDeck:True SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/eiganjo_free_riders.jpg diff --git a/res/cardsfolder/e/el_hajjaj.txt b/res/cardsfolder/e/el_hajjaj.txt index 67c967ac913..9358ae34602 100644 --- a/res/cardsfolder/e/el_hajjaj.txt +++ b/res/cardsfolder/e/el_hajjaj.txt @@ -4,7 +4,7 @@ Types:Creature Human Wizard Text:no text PT:1/1 T:Mode$ DamageDone | ValidSource$ Card.Self | Execute$ TrigGain | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals damage, you gain that much life. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/el_hajjaj.jpg diff --git a/res/cardsfolder/e/elder_cathar.txt b/res/cardsfolder/e/elder_cathar.txt index c90abeba18b..427b6ae6f7d 100644 --- a/res/cardsfolder/e/elder_cathar.txt +++ b/res/cardsfolder/e/elder_cathar.txt @@ -4,7 +4,7 @@ Types:Creature Human Soldier Text:no text PT:2/2 T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigPutCounter | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, put a +1/+1 counter on target creature you control. If that creature is a Human, put two +1/+1 counters on it instead. -SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | CounterType$ P1P1 | CounterNum$ X +SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | CounterType$ P1P1 | CounterNum$ X | References$ X SVar:X:Targeted$Valid Creature.Human/Plus.1 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/elder_cathar.jpg diff --git a/res/cardsfolder/e/elder_of_laurels.txt b/res/cardsfolder/e/elder_of_laurels.txt index f02fae27190..67e802e5711 100644 --- a/res/cardsfolder/e/elder_of_laurels.txt +++ b/res/cardsfolder/e/elder_of_laurels.txt @@ -3,7 +3,7 @@ ManaCost:2 G Types:Creature Human Advisor Text:no text PT:2/3 -A:AB$ Pump | Cost$ 3 G | NumAtt$ +X | NumDef$ +X | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Target creature gets +X/+X until end of turn, where X is the number of creatures you control. +A:AB$ Pump | Cost$ 3 G | NumAtt$ +X | NumDef$ +X | ValidTgts$ Creature | TgtPrompt$ Select target creature | References$ X | SpellDescription$ Target creature gets +X/+X until end of turn, where X is the number of creatures you control. SVar:X:Count$Valid Creature.YouCtrl SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/elder_of_laurels.jpg diff --git a/res/cardsfolder/e/eldrazi_monument.txt b/res/cardsfolder/e/eldrazi_monument.txt index d7ee7ce31b7..68a1dc0f53a 100644 --- a/res/cardsfolder/e/eldrazi_monument.txt +++ b/res/cardsfolder/e/eldrazi_monument.txt @@ -4,7 +4,7 @@ Types:Artifact Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of your upkeep, sacrifice a creature. If you can't, sacrifice CARDNAME. SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ You | SacValid$ Creature | SubAbility$ DBSacSelf | RememberSacrificed$ True -SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DBCleanup +SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddPower$ 1 | AddToughness$ 1 | AddKeyword$ Flying | AddHiddenKeyword$ HIDDEN Indestructible | Description$ Creatures you control get +1/+1, have flying, and are indestructible. diff --git a/res/cardsfolder/e/electropotence.txt b/res/cardsfolder/e/electropotence.txt index a41a27386d2..20fe45d7481 100644 --- a/res/cardsfolder/e/electropotence.txt +++ b/res/cardsfolder/e/electropotence.txt @@ -3,7 +3,7 @@ ManaCost:2 R Types:Enchantment Text:no text T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Whenever a creature enters the battlefield under your control, you may pay 2 R. If you do, that creature deals damage equal to its power to target creature or player. -SVar:TrigDamage:AB$DealDamage | Cost$ 2 R | Tgt$ TgtCP | DamageSource$ TriggeredCard | NumDmg$ Damage +SVar:TrigDamage:AB$DealDamage | Cost$ 2 R | Tgt$ TgtCP | DamageSource$ TriggeredCard | NumDmg$ Damage | References$ Damage SVar:Damage:TriggeredCard$CardPower SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/electropotence.jpg diff --git a/res/cardsfolder/e/electrostatic_bolt.txt b/res/cardsfolder/e/electrostatic_bolt.txt index 9aff08ec676..cb93c8bc56f 100644 --- a/res/cardsfolder/e/electrostatic_bolt.txt +++ b/res/cardsfolder/e/electrostatic_bolt.txt @@ -3,7 +3,7 @@ ManaCost:R Types:Instant Text:no text A:SP$ DealDamage | Cost$ R | NumDmg$ 2 | ValidTgts$ Creature | TgtPrompt$ Select target creature to deal damage to | ConditionCheckSVar$ ElectrostaticCheck | ConditionSVarCompare$ EQ0 | SubAbility$ DBDamage | SpellDescription$ CARDNAME deals 2 damage to target creature. If it's an artifact creature, CARDNAME deals 4 damage to it instead. -SVar:DBDamage:DB$ DealDamage | Defined$ Targeted | NumDmg$ 4 | ConditionCheckSVar$ ElectrostaticCheck | ConditionSVarCompare$ EQ1 | StackDescription$ If it's an artifact creature, Electrostatic Bolt deals 4 damage to it instead. +SVar:DBDamage:DB$ DealDamage | Defined$ Targeted | NumDmg$ 4 | ConditionCheckSVar$ ElectrostaticCheck | ConditionSVarCompare$ EQ1 | StackDescription$ If it's an artifact creature, Electrostatic Bolt deals 4 damage to it instead. | References$ ElectrostaticCheck SVar:ElectrostaticCheck:Targeted$Valid Creature.Artifact SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/electrostatic_bolt.jpg diff --git a/res/cardsfolder/e/electryte.txt b/res/cardsfolder/e/electryte.txt index 0b97477a97b..c16e771af29 100644 --- a/res/cardsfolder/e/electryte.txt +++ b/res/cardsfolder/e/electryte.txt @@ -4,7 +4,7 @@ Types:Creature Beast Text:no text PT:3/3 T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigDmgBlockers | OptionalDecider$ You | TriggerDescription$ Whenever CARDNAME deals combat damage to defending player, it deals damage equal to its power to each blocking creature. -SVar:TrigDmgBlockers:AB$DamageAll | Cost$ 0 | ValidCards$ Creature.blocking | NumDmg$ X | ValidDescription$ each blocking creature +SVar:TrigDmgBlockers:AB$DamageAll | Cost$ 0 | ValidCards$ Creature.blocking | NumDmg$ X | ValidDescription$ each blocking creature | References$ X SVar:X:Count$CardPower SVar:MustBeBlocked:True SVar:Rarity:Rare diff --git a/res/cardsfolder/e/elemental_mastery.txt b/res/cardsfolder/e/elemental_mastery.txt index 96b03e343f9..25ac50ae1a3 100644 --- a/res/cardsfolder/e/elemental_mastery.txt +++ b/res/cardsfolder/e/elemental_mastery.txt @@ -5,7 +5,7 @@ Text:no text K:Enchant creature A:SP$ Attach | Cost$ 3 R | ValidTgts$ Creature | AILogic$ Pump S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddAbility$ Token | AddSVar$ ElementalMasteryCount | Description$ Enchanted creature has "Tap: Put X 1/1 red Elemental creature tokens with haste onto the battlefield, where X is this creature's power. Exile them at the beginning of the next end step." -SVar:Token:AB$Token | Cost$ T | TokenAmount$ ElementalMasteryCount | TokenImage$ r 1 1 elemental | TokenName$ Elemental | TokenColors$ Red | TokenTypes$ Creature,Elemental | TokenKeywords$ Haste<>HIDDEN At the beginning of the end step, exile CARDNAME. | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put X 1/1 red Elemental creature tokens with haste onto the battlefield, where X is this creature's power. Exile them at the beginning of the next end step. +SVar:Token:AB$Token | Cost$ T | TokenAmount$ ElementalMasteryCount | TokenImage$ r 1 1 elemental | TokenName$ Elemental | TokenColors$ Red | TokenTypes$ Creature,Elemental | TokenKeywords$ Haste<>HIDDEN At the beginning of the end step, exile CARDNAME. | TokenPower$ 1 | TokenToughness$ 1 | References$ ElementalMasteryCount | SpellDescription$ Put X 1/1 red Elemental creature tokens with haste onto the battlefield, where X is this creature's power. Exile them at the beginning of the next end step. SVar:ElementalMasteryCount:Count$CardPower SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/elemental_mastery.jpg diff --git a/res/cardsfolder/e/elephant_resurgence.txt b/res/cardsfolder/e/elephant_resurgence.txt index d09b4596417..cd6ec375dbe 100644 --- a/res/cardsfolder/e/elephant_resurgence.txt +++ b/res/cardsfolder/e/elephant_resurgence.txt @@ -2,9 +2,9 @@ Name:Elephant Resurgence ManaCost:1 G Types:Sorcery Text:no text -A:SP$ Token | Cost$ 1 G | TokenAmount$ 1 | TokenName$ Elephant | TokenTypes$ Creature,Elephant | TokenOwner$ You | TokenColors$ Green | TokenPower$ X | TokenToughness$ X | TokenStaticAbilities$ Static | TokenSVars$ X | SubAbility$ DBOppToken | SpellDescription$ Each player puts a green Elephant creature token onto the battlefield. Those creatures have "This creature's power and toughness are each equal to the number of creature cards in its controller's graveyard." -SVar:DBOppToken:DB$Token | TokenAmount$ 1 | TokenName$ Elephant | TokenTypes$ Creature,Elephant | TokenOwner$ Opponent | TokenColors$ Green | TokenPower$ Y | TokenToughness$ Y | TokenStaticAbilities$ Static | TokenSVars$ X -SVar:Static:Mode$ Continuous | SetPower$ X | SetToughness$ X | EffectZone$ Battlefield | CharacteristicDefining$ True | Description$ This creature's power and toughness are each equal to the number of creature cards in its controller's graveyard. +A:SP$ Token | Cost$ 1 G | TokenAmount$ 1 | TokenName$ Elephant | TokenTypes$ Creature,Elephant | TokenOwner$ You | TokenColors$ Green | TokenPower$ X | TokenToughness$ X | TokenStaticAbilities$ Static | TokenSVars$ X | SubAbility$ DBOppToken | References$ X | SpellDescription$ Each player puts a green Elephant creature token onto the battlefield. Those creatures have "This creature's power and toughness are each equal to the number of creature cards in its controller's graveyard." +SVar:DBOppToken:DB$Token | TokenAmount$ 1 | TokenName$ Elephant | TokenTypes$ Creature,Elephant | TokenOwner$ Opponent | TokenColors$ Green | TokenPower$ Y | TokenToughness$ Y | TokenStaticAbilities$ Static | TokenSVars$ X | References$ X,Y +SVar:Static:Mode$ Continuous | SetPower$ X | SetToughness$ X | EffectZone$ Battlefield | CharacteristicDefining$ True | Description$ This creature's power and toughness are each equal to the number of creature cards in its controller's graveyard. | References$ X SVar:X:Count$TypeInYourYard.Creature SVar:Y:Count$TypeInOppYard.Creature SVar:Rarity:Rare diff --git a/res/cardsfolder/e/elspeth_tirel.txt b/res/cardsfolder/e/elspeth_tirel.txt index bb81dc8a794..d9ef8812506 100644 --- a/res/cardsfolder/e/elspeth_tirel.txt +++ b/res/cardsfolder/e/elspeth_tirel.txt @@ -3,7 +3,7 @@ ManaCost:3 W W Types:Planeswalker Elspeth Text:no text Loyalty:4 -A:AB$ GainLife | Cost$ AddCounter<2/LOYALTY> | LifeAmount$ XLife | Planeswalker$ True | SpellDescription$ You gain 1 life for each creature you control. +A:AB$ GainLife | Cost$ AddCounter<2/LOYALTY> | LifeAmount$ XLife | Planeswalker$ True | References$ XLife | SpellDescription$ You gain 1 life for each creature you control. A:AB$ Token | Cost$ SubCounter<2/LOYALTY> | TokenAmount$ 3 | TokenName$ Soldier | TokenTypes$ Creature,Soldier | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | Planeswalker$ True | SpellDescription$ Put three 1/1 white Soldier creature tokens onto the battlefield. A:AB$ DestroyAll | Cost$ SubCounter<5/LOYALTY> | ValidCards$ Permanent.nonLand+nonToken+Other | Planeswalker$ True | Ultimate$ True | SpellDescription$ Destroy all other permanents except for lands and tokens. SVar:XLife:Count$TypeYouCtrl.Creature diff --git a/res/cardsfolder/e/elvish_archdruid.txt b/res/cardsfolder/e/elvish_archdruid.txt index 5435c619ef5..299e1fe61c7 100644 --- a/res/cardsfolder/e/elvish_archdruid.txt +++ b/res/cardsfolder/e/elvish_archdruid.txt @@ -4,7 +4,7 @@ Types:Creature Elf Druid Text:no text PT:2/2 S:Mode$ Continuous | Affected$ Creature.Elf+Other+YouCtrl | AddPower$ 1 | AddToughness$ 1 | Description$ Other Elf creatures you control get +1/+1. -A:AB$ Mana | Cost$ T | Produced$ G | Amount$ X | SpellDescription$ Add G to your mana pool for each Elf you control. +A:AB$ Mana | Cost$ T | Produced$ G | Amount$ X | References$ X | SpellDescription$ Add G to your mana pool for each Elf you control. SVar:X:Count$Valid Elf.YouCtrl SVar:RemAIDeck:True SVar:PlayMain1:TRUE diff --git a/res/cardsfolder/e/elvish_berserker.txt b/res/cardsfolder/e/elvish_berserker.txt index c4601a7a8f1..438fa19cac9 100644 --- a/res/cardsfolder/e/elvish_berserker.txt +++ b/res/cardsfolder/e/elvish_berserker.txt @@ -4,7 +4,7 @@ Types:Creature Elf Berserker Text:no text PT:1/1 T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME becomes blocked, it gets +1/+1 until end of turn for each creature blocking it. -SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ +X | NumDef$ +X +SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ +X | NumDef$ +X | References$ X SVar:X:TriggerCount$NumBlockers SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/elvish_berserker.jpg diff --git a/res/cardsfolder/e/elvish_branchbender.txt b/res/cardsfolder/e/elvish_branchbender.txt index b5ae60e40c5..13d6c23aeb4 100644 --- a/res/cardsfolder/e/elvish_branchbender.txt +++ b/res/cardsfolder/e/elvish_branchbender.txt @@ -3,7 +3,7 @@ ManaCost:2 G Types:Creature Elf Druid Text:no text PT:2/2 -A:AB$ Animate | Cost$ T | ValidTgts$ Forest | TgtPrompt$ Select target Forest | Power$ X | Toughness$ X | Types$ Creature,Treefolk | SpellDescription$ Until end of turn, target Forest becomes an X/X Treefolk creature in addition to its other types, where X is the number of Elves you control. +A:AB$ Animate | Cost$ T | ValidTgts$ Forest | TgtPrompt$ Select target Forest | Power$ X | Toughness$ X | Types$ Creature,Treefolk | References$ X | SpellDescription$ Until end of turn, target Forest becomes an X/X Treefolk creature in addition to its other types, where X is the number of Elves you control. SVar:X:Count$Valid Elf.YouCtrl SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/e/elvish_eulogist.txt b/res/cardsfolder/e/elvish_eulogist.txt index 2fe133fd450..c718f3ded01 100644 --- a/res/cardsfolder/e/elvish_eulogist.txt +++ b/res/cardsfolder/e/elvish_eulogist.txt @@ -3,7 +3,7 @@ ManaCost:G Types:Creature Elf Shaman Text:no text PT:1/1 -A:AB$ GainLife | Cost$ Sac<1/CARDNAME>| LifeAmount$ X | SpellDescription$ You gain 1 life for each Elf card in your graveyard. +A:AB$ GainLife | Cost$ Sac<1/CARDNAME>| LifeAmount$ X | References$ X | SpellDescription$ You gain 1 life for each Elf card in your graveyard. SVar:X:Count$TypeInYourYard.Elf SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/elvish_eulogist.jpg diff --git a/res/cardsfolder/e/elvish_guidance.txt b/res/cardsfolder/e/elvish_guidance.txt index f4ea663fe06..a2c47e5cb72 100644 --- a/res/cardsfolder/e/elvish_guidance.txt +++ b/res/cardsfolder/e/elvish_guidance.txt @@ -5,7 +5,7 @@ Text:no text K:Enchant land A:SP$ Attach | Cost$ 2 G | ValidTgts$ Land | AILogic$ Pump T:Mode$ TapsForMana | ValidCard$ Card.AttachedBy | Execute$ TrigMana | Static$ True | TriggerDescription$ Whenever enchanted land is tapped for mana, its controller adds G to his or her mana pool for each Elf on the battlefield (in addition to the mana the land produces). -SVar:TrigMana:AB$Mana | Cost$ 0 | Produced$ G | Amount$ X | Defined$ TriggeredCardController +SVar:TrigMana:AB$Mana | Cost$ 0 | Produced$ G | Amount$ X | Defined$ TriggeredCardController | References$ X SVar:X:Count$Valid Elf SVar:RemAIDeck:True SVar:RemRandomDeck:True diff --git a/res/cardsfolder/e/elvish_healer.txt b/res/cardsfolder/e/elvish_healer.txt index 84c1a571935..504c2d399fc 100644 --- a/res/cardsfolder/e/elvish_healer.txt +++ b/res/cardsfolder/e/elvish_healer.txt @@ -3,7 +3,7 @@ ManaCost:2 W Types:Creature Elf Cleric Text:no text PT:1/2 -A:AB$ PreventDamage | Cost$ T | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | Amount$ X | RememberTargets$ True | SubAbility$ DBCleanup | SpellDescription$ Prevent the next 1 damage that would be dealt to target creature or player this turn. If that creature is green, prevent the next 2 damage instead. +A:AB$ PreventDamage | Cost$ T | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | Amount$ X | RememberTargets$ True | SubAbility$ DBCleanup | References$ X | SpellDescription$ Prevent the next 1 damage that would be dealt to target creature or player this turn. If that creature is green, prevent the next 2 damage instead. SVar:X:Remembered$Valid Creature.Green/Plus.1 SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:RemRandomDeck:True diff --git a/res/cardsfolder/e/elvish_promenade.txt b/res/cardsfolder/e/elvish_promenade.txt index 20eb36c6896..ac50ca6f45b 100644 --- a/res/cardsfolder/e/elvish_promenade.txt +++ b/res/cardsfolder/e/elvish_promenade.txt @@ -2,7 +2,7 @@ Name:Elvish Promenade ManaCost:3 G Types:Tribal Sorcery Elf Text:no text -A:SP$ Token | Cost$ 3 G | TokenAmount$ X | TokenName$ Elf Warrior | TokenTypes$ Creature,Elf,Warrior | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put a 1/1 green Elf Warrior creature token onto the battlefield for each Elf you control. +A:SP$ Token | Cost$ 3 G | TokenAmount$ X | TokenName$ Elf Warrior | TokenTypes$ Creature,Elf,Warrior | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | References$ X | SpellDescription$ Put a 1/1 green Elf Warrior creature token onto the battlefield for each Elf you control. SVar:X:Count$Valid Elf.YouCtrl SVar:PlayMain1:TRUE SVar:Rarity:Uncommon diff --git a/res/cardsfolder/e/ember_fist_zubera.txt b/res/cardsfolder/e/ember_fist_zubera.txt index a87fba73c7e..9a32fd6b225 100644 --- a/res/cardsfolder/e/ember_fist_zubera.txt +++ b/res/cardsfolder/e/ember_fist_zubera.txt @@ -3,7 +3,7 @@ ManaCost:1 R Types:Creature Zubera Spirit Text:no text T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigDealDamage | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME is put into a graveyard from the battlefield, it deals damage to target creature or player equal to the number of Zubera put into all graveyards from the battlefield this turn. -SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Tgt$ TgtCP | NumDmg$ X +SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Tgt$ TgtCP | NumDmg$ X | References$ X SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Card.Zubera PT:1/2 SVar:Rarity:Common diff --git a/res/cardsfolder/e/emberwilde_caliph.txt b/res/cardsfolder/e/emberwilde_caliph.txt index 31e16ca1ca3..f5b70d2c8fc 100644 --- a/res/cardsfolder/e/emberwilde_caliph.txt +++ b/res/cardsfolder/e/emberwilde_caliph.txt @@ -7,7 +7,7 @@ K:Flying K:Trample K:CARDNAME attacks each turn if able. T:Mode$ DamageDone | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigLoseLife | TriggerDescription$ Whenever CARDNAME deals damage, you lose that much life. -SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/e/emissary_of_despair.txt b/res/cardsfolder/e/emissary_of_despair.txt index 4ca4f400430..3126ea965fc 100644 --- a/res/cardsfolder/e/emissary_of_despair.txt +++ b/res/cardsfolder/e/emissary_of_despair.txt @@ -5,7 +5,7 @@ Text:no text PT:2/1 K:Flying T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | CombatDamage$ True | Execute$ TrigLoseLife | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, that player loses 1 life for each artifact he or she controls. -SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ TriggeredTarget | LifeAmount$ X +SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ TriggeredTarget | LifeAmount$ X | References$ X SVar:X:Count$Valid Artifact.YouDontCtrl SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/emissary_of_despair.jpg diff --git a/res/cardsfolder/e/emissary_of_hope.txt b/res/cardsfolder/e/emissary_of_hope.txt index 46ce00c1963..92ab9122ec5 100644 --- a/res/cardsfolder/e/emissary_of_hope.txt +++ b/res/cardsfolder/e/emissary_of_hope.txt @@ -5,7 +5,7 @@ Text:no text PT:2/1 K:Flying T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | CombatDamage$ True | Execute$ TrigLoseLife | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you gain 1 life for each artifact that player controls. -SVar:TrigLoseLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigLoseLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ SVar:X:Count$Valid Artifact.YouDontCtrl SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/emissary_of_hope.jpg diff --git a/res/cardsfolder/e/empyrial_archangel.txt b/res/cardsfolder/e/empyrial_archangel.txt index c56815d41f0..a2aa9e65af1 100644 --- a/res/cardsfolder/e/empyrial_archangel.txt +++ b/res/cardsfolder/e/empyrial_archangel.txt @@ -7,8 +7,8 @@ K:Flying K:Shroud R:Event$ DamageDone | ValidTarget$ You | ReplaceWith$ DmgSelf | IsCombat$ False | Description$ All damage that would be dealt to you is dealt to CARDNAME instead. R:Event$ DamageDone | ValidTarget$ You | ReplaceWith$ DmgSelfCombat | IsCombat$ True | Secondary$ True | Description$ All damage that would be dealt to you is dealt to CARDNAME instead. -SVar:DmgSelf:AB$DealDamage | Cost$ 0 | Defined$ Self | DamageSource$ ReplacedSource | NumDmg$ X -SVar:DmgSelfCombat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ Self | DamageSource$ ReplacedSource | NumDmg$ X +SVar:DmgSelf:AB$DealDamage | Cost$ 0 | Defined$ Self | DamageSource$ ReplacedSource | NumDmg$ X | References$ X +SVar:DmgSelfCombat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ Self | DamageSource$ ReplacedSource | NumDmg$ X | References$ X SVar:X:ReplaceCount$DamageAmount SVar:Picture:http://www.wizards.com/global/images/magic/general/empyrial_archangel.jpg SetInfo:ALA|Mythic|http://magiccards.info/scans/en/ala/166.jpg diff --git a/res/cardsfolder/e/endless_horizons.txt b/res/cardsfolder/e/endless_horizons.txt index 23e1a0baa69..073f1a3fe71 100644 --- a/res/cardsfolder/e/endless_horizons.txt +++ b/res/cardsfolder/e/endless_horizons.txt @@ -3,7 +3,7 @@ ManaCost:3 W Types:Enchantment Text:no text T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield, search your library for any number of Plains cards and exile them. Then shuffle your library. -SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | Origin$ Library | Destination$ Exile | ChangeType$ Plains | ChangeNum$ X | RememberChanged$ True +SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | Origin$ Library | Destination$ Exile | ChangeType$ Plains | ChangeNum$ X | RememberChanged$ True | References$ X T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigRetrieve | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, you may put a card you own exiled with CARDNAME into your hand. SVar:TrigRetrieve:AB$ ChangeZone | Cost$ 0 | ChangeType$ Card.IsRemembered+YouOwn | ChangeNum$ 1 | Origin$ Exile | Destination$ Hand | Hidden$ True SVar:X:Count$TypeInYourLibrary.Plains diff --git a/res/cardsfolder/e/endless_ranks_of_the_dead.txt b/res/cardsfolder/e/endless_ranks_of_the_dead.txt index 5b82150b453..5c261faaa7f 100644 --- a/res/cardsfolder/e/endless_ranks_of_the_dead.txt +++ b/res/cardsfolder/e/endless_ranks_of_the_dead.txt @@ -3,7 +3,7 @@ ManaCost:2 B B Types:Enchantment Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ At the beginning of your upkeep, put X 2/2 black zombie creature tokens onto the battlefield, where X is half the number of the zombies you control, rounded down. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenImage$ B 2 2 Zombie | TokenAmount$ X | TokenName$ Zombie | TokenTypes$ Creature,Zombie | TokenOwner$ You | TokenPower$ 2 | TokenToughness$ 2 | TokenColors$ Black +SVar:TrigToken:AB$Token | Cost$ 0 | TokenImage$ B 2 2 Zombie | TokenAmount$ X | TokenName$ Zombie | TokenTypes$ Creature,Zombie | TokenOwner$ You | TokenPower$ 2 | TokenToughness$ 2 | TokenColors$ Black | References$ X SVar:X:Count$Valid Creature.zombie+YouCtrl/HalfDown SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/e/endless_swarm.txt b/res/cardsfolder/e/endless_swarm.txt index 76005f193b4..8f916819bff 100644 --- a/res/cardsfolder/e/endless_swarm.txt +++ b/res/cardsfolder/e/endless_swarm.txt @@ -3,7 +3,7 @@ ManaCost:5 G G G Types:Sorcery Text:no text K:Epic -A:SP$ Token | Cost$ 5 G G G | TokenAmount$ X | TokenName$ Snake | TokenTypes$ Creature,Snake | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put a 1/1 green Snake creature token onto the battlefield for each card in your hand. +A:SP$ Token | Cost$ 5 G G G | TokenAmount$ X | TokenName$ Snake | TokenTypes$ Creature,Snake | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | References$ X | SpellDescription$ Put a 1/1 green Snake creature token onto the battlefield for each card in your hand. SVar:X:Count$InYourHand SVar:Rarity:Rare SVar:RemAIDeck:True diff --git a/res/cardsfolder/e/endless_wurm.txt b/res/cardsfolder/e/endless_wurm.txt index 91500f33a4d..22261460682 100644 --- a/res/cardsfolder/e/endless_wurm.txt +++ b/res/cardsfolder/e/endless_wurm.txt @@ -6,7 +6,7 @@ PT:9/9 K:Trample T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigSac | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, sacrifice CARDNAME unless you sacrifice an enchantment. SVar:TrigSac:AB$ Sacrifice | Cost$ 0 | Amount$ 1 | SacValid$ Enchantment | RememberSacrificed$ True | Optional$ True | SubAbility$ DBSacSelf -SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 +SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:NeedsToPlay:Enchantment.YouCtrl diff --git a/res/cardsfolder/e/endrek_sahr_master_breeder.txt b/res/cardsfolder/e/endrek_sahr_master_breeder.txt index dba9f4a5755..132acb57865 100644 --- a/res/cardsfolder/e/endrek_sahr_master_breeder.txt +++ b/res/cardsfolder/e/endrek_sahr_master_breeder.txt @@ -5,7 +5,7 @@ Text:no text PT:2/2 T:Mode$ SpellCast | ValidCard$ Creature | ValidActivatingPlayer$ You | Execute$ TrigToken | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast a creature spell, put X 1/1 black Thrull creature tokens onto the battlefield, where X is that spell's converted mana cost. T:Mode$ Always | IsPresent$ Card.Thrull+YouCtrl | PresentCompare$ GE7 | Execute$ TrigSac | TriggerZones$ Battlefield | TriggerDescription$ When you control seven or more Thrulls, sacrifice CARDNAME. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenOwner$ You | TokenAmount$ X | TokenName$ Thrull | TokenTypes$ Creature,Thrull | TokenColors$ Black | TokenPower$ 1 | TokenToughness$ 1 +SVar:TrigToken:AB$Token | Cost$ 0 | TokenOwner$ You | TokenAmount$ X | TokenName$ Thrull | TokenTypes$ Creature,Thrull | TokenColors$ Black | TokenPower$ 1 | TokenToughness$ 1 | References$ X SVar:X:TriggeredCard$CardManaCost SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ Self SVar:Rarity:Rare diff --git a/res/cardsfolder/e/energy_arc.txt b/res/cardsfolder/e/energy_arc.txt index 38732ba678c..21699ffa8fb 100644 --- a/res/cardsfolder/e/energy_arc.txt +++ b/res/cardsfolder/e/energy_arc.txt @@ -2,7 +2,7 @@ Name:Energy Arc ManaCost:W U Types:Instant Text:no text -A:SP$ Untap | Cost$ W U | TargetMin$ 0 | TargetMax$ MaxTgts | TgtPrompt$ Choose any number of target creatures | ValidTgts$ Creature | SpellDescription$ Untap any number of target creatures. Prevent all combat damage that would be dealt to and dealt by those creatures this turn. | SubAbility$ DBPump +A:SP$ Untap | Cost$ W U | TargetMin$ 0 | TargetMax$ MaxTgts | TgtPrompt$ Choose any number of target creatures | ValidTgts$ Creature | References$ MaxTgts | SpellDescription$ Untap any number of target creatures. Prevent all combat damage that would be dealt to and dealt by those creatures this turn. | SubAbility$ DBPump SVar:DBPump:DB$Pump | Defined$ Targeted | KW$ HIDDEN Prevent all combat damage that would be dealt by CARDNAME. & HIDDEN Prevent all combat damage that would be dealt to CARDNAME. SVar:MaxTgts:Count$Valid Creature SVar:RemAIDeck:True diff --git a/res/cardsfolder/e/energy_bolt.txt b/res/cardsfolder/e/energy_bolt.txt index 467466b3ea4..cbfd1b2aecf 100644 --- a/res/cardsfolder/e/energy_bolt.txt +++ b/res/cardsfolder/e/energy_bolt.txt @@ -2,8 +2,8 @@ Name:Energy Bolt ManaCost:X R W Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ X R W | ValidTgts$ Player | TgtPrompt$ Select target player | NumDmg$ X | SpellDescription$ Choose one - CARDNAME deals X damage to target player; -A:SP$ GainLife | Cost$ X R W | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ X | SpellDescription$ or target player gains X life. +A:SP$ DealDamage | Cost$ X R W | ValidTgts$ Player | TgtPrompt$ Select target player | NumDmg$ X | References$ X | SpellDescription$ Choose one - CARDNAME deals X damage to target player; +A:SP$ GainLife | Cost$ X R W | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ X | References$ X | SpellDescription$ or target player gains X life. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/e/energy_tap.txt b/res/cardsfolder/e/energy_tap.txt index df41f94d494..7fcd827a272 100644 --- a/res/cardsfolder/e/energy_tap.txt +++ b/res/cardsfolder/e/energy_tap.txt @@ -3,7 +3,7 @@ ManaCost:U Types:Sorcery Text:no text A:SP$ Tap | Cost$ U | TgtPrompt$ Select target untapped creature you control | ValidTgts$ Creature.untapped+YouCtrl | SubAbility$ DBMana | SpellDescription$ Tap target untapped creature you control. If you do, add X to your mana pool, where X is that creature's converted mana cost. -SVar:DBMana:DB$Mana | Produced$ 1 | Amount$ X +SVar:DBMana:DB$Mana | Produced$ 1 | Amount$ X | References$ X SVar:X:Targeted$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/e/engineered_explosives.txt b/res/cardsfolder/e/engineered_explosives.txt index 728fe4e31c5..b38ca8e6439 100644 --- a/res/cardsfolder/e/engineered_explosives.txt +++ b/res/cardsfolder/e/engineered_explosives.txt @@ -3,7 +3,7 @@ ManaCost:X Types:Artifact Text:no text K:Sunburst -A:AB$ DestroyAll | Cost$ 2 T Sac<1/CARDNAME> | ValidCards$ Permanent.nonLand+cmcEQX | SpellDescription$ Destroy each nonland permanent with converted mana cost equal to the number of charge counters on CARDNAME. +A:AB$ DestroyAll | Cost$ 2 T Sac<1/CARDNAME> | ValidCards$ Permanent.nonLand+cmcEQX | References$ X | SpellDescription$ Destroy each nonland permanent with converted mana cost equal to the number of charge counters on CARDNAME. SVar:X:Count$CardCounters.CHARGE SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/e/engulfing_slagwurm.txt b/res/cardsfolder/e/engulfing_slagwurm.txt index 052166ce268..f78bfddbc8d 100644 --- a/res/cardsfolder/e/engulfing_slagwurm.txt +++ b/res/cardsfolder/e/engulfing_slagwurm.txt @@ -7,10 +7,10 @@ T:Mode$ Blocks | ValidCard$ Card.Self | ValidBlocked$ Creature | Execute$ TrigDe T:Mode$ Blocks | ValidCard$ Creature | ValidBlocked$ Card.Self | Execute$ TrigDestroyBlocker | Secondary$ True | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature, destroy that creature. You gain life equal to that creature's toughness. SVar:TrigDestroyBlocked:AB$Destroy | Cost$ 0 | Defined$ TriggeredAttacker | SubAbility$ DBGainLifeBlocked SVar:TrigDestroyBlocker:AB$Destroy | Cost$ 0 | Defined$ TriggeredBlocker | SubAbility$ DBGainLifeBlocker -SVar:DBGainLifeBlocked:DB$GainLife | Defined$ You | LifeAmount$ X -SVar:DBGainLifeBlocker:DB$GainLife | Defined$ You | LifeAmount$ X +SVar:DBGainLifeBlocked:DB$GainLife | Defined$ You | LifeAmount$ X | References$ X +SVar:DBGainLifeBlocker:DB$GainLife | Defined$ You | LifeAmount$ Y | References$ Y SVar:X:TriggeredAttacker$CardToughness -SVar:X:TriggeredBlocker$CardToughness +SVar:Y:TriggeredBlocker$CardToughness SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/engulfing_slagwurm.jpg SetInfo:SOM|Rare|http://magiccards.info/scans/en/som/118.jpg diff --git a/res/cardsfolder/e/enrage.txt b/res/cardsfolder/e/enrage.txt index 977e41c7514..9bb7192761b 100644 --- a/res/cardsfolder/e/enrage.txt +++ b/res/cardsfolder/e/enrage.txt @@ -2,7 +2,7 @@ Name:Enrage ManaCost:X R Types:Instant Text:no text -A:SP$ Pump | Cost$ X R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | SpellDescription$ Target creature gets +X/+0 until end of turn. +A:SP$ Pump | Cost$ X R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | References$ X | SpellDescription$ Target creature gets +X/+0 until end of turn. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/e/enshrined_memories.txt b/res/cardsfolder/e/enshrined_memories.txt index e43d4516837..e9ed1be7f57 100644 --- a/res/cardsfolder/e/enshrined_memories.txt +++ b/res/cardsfolder/e/enshrined_memories.txt @@ -2,7 +2,7 @@ Name:Enshrined Memories ManaCost:X G Types:Sorcery Text:no text -A:SP$ Dig | Cost$ X G | DigNum$ X | Reveal$ True | ChangeNum$ All | ChangeValid$ Creature | SpellDescription$ Reveal the top X cards of your library. Put all creature cards revealed this way into your hand and the rest on the bottom of your library in any order. +A:SP$ Dig | Cost$ X G | DigNum$ X | Reveal$ True | ChangeNum$ All | ChangeValid$ Creature | References$ X | SpellDescription$ Reveal the top X cards of your library. Put all creature cards revealed this way into your hand and the rest on the bottom of your library in any order. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/e/entrails_feaster.txt b/res/cardsfolder/e/entrails_feaster.txt index 9a3730fb568..69103212aff 100644 --- a/res/cardsfolder/e/entrails_feaster.txt +++ b/res/cardsfolder/e/entrails_feaster.txt @@ -5,8 +5,8 @@ Text:no text PT:1/1 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigExile | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, you may exile a creature card from a graveyard. If you do, put a +1/+1 counter on CARDNAME. If you don't, tap CARDNAME. SVar:TrigExile:AB$ ChangeZone | Cost$ 0 | ChangeType$ Creature | ChangeNum$ 1 | Origin$ Graveyard | Destination$ Exile | Optional$ True | IsCurse$ True | RememberChanged$ True | Hidden$ True | Chooser$ You | SubAbility$ DBPutCounter -SVar:DBPutCounter:DB$ PutCounter | Defined$ Self | CounterNum$ 1 | CounterType$ P1P1 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBTap -SVar:DBTap:DB$ Tap | ConditionCheckSVar$ X | ConditionSVarCompare$ LE0 | SubAbility$ DBCleanup +SVar:DBPutCounter:DB$ PutCounter | Defined$ Self | CounterNum$ 1 | CounterType$ P1P1 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBTap | References$ X +SVar:DBTap:DB$ Tap | ConditionCheckSVar$ X | ConditionSVarCompare$ LE0 | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:Rarity:Rare diff --git a/res/cardsfolder/e/entreat_the_angels.txt b/res/cardsfolder/e/entreat_the_angels.txt index 90b11ebda25..65906627409 100644 --- a/res/cardsfolder/e/entreat_the_angels.txt +++ b/res/cardsfolder/e/entreat_the_angels.txt @@ -2,7 +2,7 @@ Name:Entreat the Angels ManaCost:X X W W W Types:Sorcery Text:no text -A:SP$ Token | Cost$ X X W W W | TokenAmount$ X | TokenName$ Angel | TokenTypes$ Creature,Angel | TokenOwner$ You | TokenColors$ White | TokenPower$ 4 | TokenToughness$ 4 | TokenKeywords$ Flying | TokenImage$ w 4 4 angel avr | SpellDescription$ Put X 4/4 white Angel creature tokens with flying onto the battlefield. +A:SP$ Token | Cost$ X X W W W | TokenAmount$ X | TokenName$ Angel | TokenTypes$ Creature,Angel | TokenOwner$ You | TokenColors$ White | TokenPower$ 4 | TokenToughness$ 4 | TokenKeywords$ Flying | TokenImage$ w 4 4 angel avr | References$ X | SpellDescription$ Put X 4/4 white Angel creature tokens with flying onto the battlefield. K:Miracle:X W W SVar:X:Count$xPaid SVar:Rarity:Rare diff --git a/res/cardsfolder/e/erratic_explosion.txt b/res/cardsfolder/e/erratic_explosion.txt index 1e1dfccbec4..29753a00ba1 100644 --- a/res/cardsfolder/e/erratic_explosion.txt +++ b/res/cardsfolder/e/erratic_explosion.txt @@ -3,7 +3,7 @@ ManaCost:2 R Types:Sorcery Text:no text A:SP$ DigUntil | Cost$ 2 R | Valid$ Card.nonLand | ValidDescription$ nonland | FoundDestination$ Library | RevealedDestination$ Library | FoundLibraryPosition$ -1 | RevealedLibraryPosition$ -1 | RememberFound$ True | SubAbility$ Damage | SpellDescription$ Choose target creature or player. Reveal cards from the top of your library until you reveal a nonland card. Erratic Explosion deals damage equal to that card's converted mana cost to that creature or player. Put the revealed cards on the bottom of your library in any order. -SVar:Damage:DB$ DealDamage | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | NumDmg$ X | SubAbility$ DBCleanup +SVar:Damage:DB$ DealDamage | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | NumDmg$ X | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$CardManaCost SVar:Rarity:Common diff --git a/res/cardsfolder/e/ertais_trickery.txt b/res/cardsfolder/e/ertais_trickery.txt index 726618b145a..9fced3c0ba3 100644 --- a/res/cardsfolder/e/ertais_trickery.txt +++ b/res/cardsfolder/e/ertais_trickery.txt @@ -2,7 +2,7 @@ Name:Ertai's Trickery ManaCost:U Types:Instant Text:no text -A:SP$ Counter | Cost$ U | TargetType$ Spell | TgtPrompt$ Select target spell if it was kicked | ValidTgts$ Card | ConditionCheckSVar$ ConditionKicked | ConditionSVarCompare$ EQ1 | SpellDescription$ Counter target spell if it was kicked. +A:SP$ Counter | Cost$ U | TargetType$ Spell | TgtPrompt$ Select target spell if it was kicked | ValidTgts$ Card | ConditionCheckSVar$ ConditionKicked | ConditionSVarCompare$ EQ1 | References$ ConditionKicked | SpellDescription$ Counter target spell if it was kicked. SVar:ConditionKicked:Targeted$Valid Card.kicked SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/e/essence_bottle.txt b/res/cardsfolder/e/essence_bottle.txt index ab38e20b438..ec33d69c3d7 100644 --- a/res/cardsfolder/e/essence_bottle.txt +++ b/res/cardsfolder/e/essence_bottle.txt @@ -3,7 +3,7 @@ ManaCost:2 Types:Artifact Text:no text A:AB$ PutCounter | Cost$ 3 T | Defined$ Self | CounterType$ ELIXIR | CounterNum$ 1 | SpellDescription$ Put an elixir counter on CARDNAME. -A:AB$ GainLife | Cost$ T SubCounter | Defined$ You | LifeAmount$ X | SpellDescription$ You gain 2 life for each elixir counter removed this way. +A:AB$ GainLife | Cost$ T SubCounter | Defined$ You | LifeAmount$ X | References$ X | SpellDescription$ You gain 2 life for each elixir counter removed this way. SVar:X:SVar$CostCountersRemoved/Twice SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/e/essence_harvest.txt b/res/cardsfolder/e/essence_harvest.txt index 2ce0261591c..7ca12759fa1 100644 --- a/res/cardsfolder/e/essence_harvest.txt +++ b/res/cardsfolder/e/essence_harvest.txt @@ -2,8 +2,8 @@ Name:Essence Harvest ManaCost:2 B Types:Sorcery Text:no text -A:SP$ LoseLife | Cost$ 2 B | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ X | SubAbility$ DBGainLife | SpellDescription$ Target player loses X life and you gain X life, where X is the highest power amongst creatures you control. -SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ X +A:SP$ LoseLife | Cost$ 2 B | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ X | SubAbility$ DBGainLife | References$ X | SpellDescription$ Target player loses X life and you gain X life, where X is the highest power amongst creatures you control. +SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Count$GreatestPowerYouControl SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/essence_harvest.jpg diff --git a/res/cardsfolder/e/essence_sliver.txt b/res/cardsfolder/e/essence_sliver.txt index 7d582c1b44a..908af3caa28 100644 --- a/res/cardsfolder/e/essence_sliver.txt +++ b/res/cardsfolder/e/essence_sliver.txt @@ -4,7 +4,7 @@ Types:Creature Sliver Text:no text PT:3/3 T:Mode$ DamageDone | ValidSource$ Sliver | Execute$ TrigGain | TriggerZones$ Battlefield | TriggerDescription$ Whenever a Sliver deals damage, its controller gains that much life. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ TriggeredSourceController | LifeAmount$ X +SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ TriggeredSourceController | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:PlayMain1:TRUE SVar:Rarity:Rare diff --git a/res/cardsfolder/e/eternal_flame.txt b/res/cardsfolder/e/eternal_flame.txt index 724cc75f274..cd57fccdbfc 100644 --- a/res/cardsfolder/e/eternal_flame.txt +++ b/res/cardsfolder/e/eternal_flame.txt @@ -2,8 +2,8 @@ Name:Eternal Flame ManaCost:2 R R Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ 2 R R | ValidTgts$ Opponent| NumDmg$ X | SubAbility$ DBDealDamage | SpellDescription$ CARDNAME deals X damage to target opponent where X is the number of mountains you control. It deals half X damage, rounded up, to you. -SVar:DBDealDamage:DB$DealDamage | NumDmg$ Y | Defined$ You +A:SP$ DealDamage | Cost$ 2 R R | ValidTgts$ Opponent| NumDmg$ X | SubAbility$ DBDealDamage | References$ X | SpellDescription$ CARDNAME deals X damage to target opponent where X is the number of mountains you control. It deals half X damage, rounded up, to you. +SVar:DBDealDamage:DB$DealDamage | NumDmg$ Y | Defined$ You | References$ Y SVar:X:Count$NumTypeYouCtrl.Mountain SVar:Y:Count$NumTypeYouCtrl.Mountain/HalfUp SVar:Rarity:Rare diff --git a/res/cardsfolder/e/eternity_vessel.txt b/res/cardsfolder/e/eternity_vessel.txt index e95e761d2bb..d97c74b6431 100644 --- a/res/cardsfolder/e/eternity_vessel.txt +++ b/res/cardsfolder/e/eternity_vessel.txt @@ -5,7 +5,7 @@ Text:no text K:etbCounter:CHARGE:X SVar:X:Count$YourLifeTotal T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Land.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigLife | OptionalDecider$ You | TriggerDescription$ Landfall - Whenever a land enters the battlefield under your control, you may have your life total become the number of charge counters on CARDNAME. -SVar:TrigLife:AB$SetLife | Cost$ 0 | Defined$ You | LifeAmount$ Y +SVar:TrigLife:AB$SetLife | Cost$ 0 | Defined$ You | LifeAmount$ Y | References$ Y SVar:Y:Count$CardCounters.CHARGE SVar:Rarity:Mythic SVar:Picture:http://www.wizards.com/global/images/magic/general/eternity_vessel.jpg diff --git a/res/cardsfolder/e/evasive_action.txt b/res/cardsfolder/e/evasive_action.txt index 3c9ddac30ca..2a17ae63e77 100644 --- a/res/cardsfolder/e/evasive_action.txt +++ b/res/cardsfolder/e/evasive_action.txt @@ -2,7 +2,7 @@ Name:Evasive Action ManaCost:1 U Types:Instant Text:no text -A:SP$ Counter | Cost$ 1 U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | SpellDescription$ Domain - Counter target spell unless its controller pays 1 for each basic land type among lands you control. +A:SP$ Counter | Cost$ 1 U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | References$ X | SpellDescription$ Domain - Counter target spell unless its controller pays 1 for each basic land type among lands you control. SVar:X:Count$Domain SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/evasive_action.jpg diff --git a/res/cardsfolder/e/even_the_odds.txt b/res/cardsfolder/e/even_the_odds.txt index dc09fad28bf..818fd53dba3 100644 --- a/res/cardsfolder/e/even_the_odds.txt +++ b/res/cardsfolder/e/even_the_odds.txt @@ -2,7 +2,7 @@ Name:Even the Odds ManaCost:2 W Types:Instant Text:no text -A:SP$ Token | Cost$ 2 W | IsPresent$ Creature.YouCtrl | PresentCompare$ LTX | TokenAmount$ 3 | TokenName$ Soldier | TokenTypes$ Creature,Soldier | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Cast CARDNAME only if you control fewer creatures than each opponent. Put three 1/1 white Soldier creature tokens onto the battlefield. +A:SP$ Token | Cost$ 2 W | IsPresent$ Creature.YouCtrl | PresentCompare$ LTX | TokenAmount$ 3 | TokenName$ Soldier | TokenTypes$ Creature,Soldier | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | References$ X | SpellDescription$ Cast CARDNAME only if you control fewer creatures than each opponent. Put three 1/1 white Soldier creature tokens onto the battlefield. SVar:X:Count$Valid Creature.YouDontCtrl SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/even_the_odds.jpg diff --git a/res/cardsfolder/e/everflowing_chalice.txt b/res/cardsfolder/e/everflowing_chalice.txt index 940017bbf39..38212520ca1 100644 --- a/res/cardsfolder/e/everflowing_chalice.txt +++ b/res/cardsfolder/e/everflowing_chalice.txt @@ -3,7 +3,7 @@ ManaCost:0 Types:Artifact Text:Everflowing Chalice enters the battlefield with a charge counter on it for each time it was kicked. K:Multikicker 2 -A:AB$ Mana | Cost$ T | Produced$ 1 | Amount$ X | SpellDescription$ Add 1 to your mana pool for each charge counter on CARDNAME. +A:AB$ Mana | Cost$ T | Produced$ 1 | Amount$ X | References$ X | SpellDescription$ Add 1 to your mana pool for each charge counter on CARDNAME. SVar:X:Count$CardCounters.CHARGE SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/e/exalted_angel.txt b/res/cardsfolder/e/exalted_angel.txt index 3b12d8a7924..a83555b846e 100644 --- a/res/cardsfolder/e/exalted_angel.txt +++ b/res/cardsfolder/e/exalted_angel.txt @@ -5,7 +5,7 @@ Text:no text PT:4/5 K:Flying T:Mode$ DamageDone | ValidSource$ Card.Self | Execute$ TrigGain | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals damage, you gain that much life. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount K:Morph:2 W W SVar:Rarity:Rare diff --git a/res/cardsfolder/e/excise.txt b/res/cardsfolder/e/excise.txt index e42a79fb414..9849ee0389c 100644 --- a/res/cardsfolder/e/excise.txt +++ b/res/cardsfolder/e/excise.txt @@ -2,7 +2,7 @@ Name:Excise ManaCost:X W Types:Instant Text:no text -A:SP$ ChangeZone | Cost$ X W | ValidTgts$ Creature | TgtPrompt$ Select target creature | Origin$ Battlefield | Destination$ Exile | UnlessCost$ X | UnlessPayer$ TargetedController | SpellDescription$ Exile target attacking creature unless its controller pays X. +A:SP$ ChangeZone | Cost$ X W | ValidTgts$ Creature | TgtPrompt$ Select target creature | Origin$ Battlefield | Destination$ Exile | UnlessCost$ X | UnlessPayer$ TargetedController | References$ X | SpellDescription$ Exile target attacking creature unless its controller pays X. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/e/exile.txt b/res/cardsfolder/e/exile.txt index 75c3e011a84..f4b944362b8 100644 --- a/res/cardsfolder/e/exile.txt +++ b/res/cardsfolder/e/exile.txt @@ -3,7 +3,7 @@ ManaCost:2 W Types:Instant Text:no text A:SP$ ChangeZone | Cost$ 2 W | ValidTgts$ Creature.attacking+nonWhite | TgtPrompt$ Select target nonwhite attacking creature | Origin$ Battlefield | Destination$ Exile | SubAbility$ DBGainLife | SpellDescription$ Exile target nonwhite attacking creature. You gain life equal to its toughness. -SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X +SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Targeted$CardToughness SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/exile.jpg diff --git a/res/cardsfolder/e/exotic_disease.txt b/res/cardsfolder/e/exotic_disease.txt index 519eae65df2..92fa55e6b1b 100644 --- a/res/cardsfolder/e/exotic_disease.txt +++ b/res/cardsfolder/e/exotic_disease.txt @@ -3,7 +3,7 @@ ManaCost:4 B Types:Sorcery Text:no text A:SP$ LoseLife | Cost$ 4 B | ValidTgts$ Player | TgtPrompt$ Select a player | LifeAmount$ X | SubAbility$ DBGainLife | PrecostDesc$ Domain - | SpellDescription$ Target player loses X life and you gain X life, where X is the number of basic land types among lands you control. -SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X +SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Count$Domain SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/e/exploding_borders.txt b/res/cardsfolder/e/exploding_borders.txt index b742861d141..0a1f06442ce 100644 --- a/res/cardsfolder/e/exploding_borders.txt +++ b/res/cardsfolder/e/exploding_borders.txt @@ -3,7 +3,7 @@ ManaCost:2 R G Types:Sorcery Text:no text A:SP$ ChangeZone | Cost$ 2 R G | Origin$ Library | Destination$ Battlefield | ChangeType$ Land.Basic | Tapped$ True | ChangeNum$ 1 | SubAbility$ DBDealDamage | SpellDescription$ Domain - Search your library for a basic land card and put that card onto the battlefield tapped. Then shuffle your library. -SVar:DBDealDamage:DB$DealDamage | Cost$ 0 | Tgt$ TgtP | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target player, where X is the number of basic land types among lands you control. +SVar:DBDealDamage:DB$DealDamage | Cost$ 0 | Tgt$ TgtP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to target player, where X is the number of basic land types among lands you control. SVar:X:Count$Domain SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/exploding_borders.jpg diff --git a/res/cardsfolder/e/explosive_revelation.txt b/res/cardsfolder/e/explosive_revelation.txt index 56c6b1843e7..60181b91028 100644 --- a/res/cardsfolder/e/explosive_revelation.txt +++ b/res/cardsfolder/e/explosive_revelation.txt @@ -3,7 +3,7 @@ ManaCost:3 R R Types:Sorcery Text:no text A:SP$ DigUntil | Cost$ 3 R R | Valid$ Card.nonLand | ValidDescription$ nonland | FoundDestination$ Hand | RevealedDestination$ Library | RevealedLibraryPosition$ -1 | RememberFound$ True | SubAbility$ Damage | SpellDescription$ Choose target creature or player. Reveal cards from the top of your library until you reveal a nonland card. CARDNAME deals damage equal to that card's converted mana cost to that creature or player. Put the nonland card into your hand and the rest on the bottom of your library in any order. -SVar:Damage:DB$ DealDamage | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | NumDmg$ X | SubAbility$ DBCleanup +SVar:Damage:DB$ DealDamage | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | NumDmg$ X | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$CardManaCost SVar:Rarity:Uncommon diff --git a/res/cardsfolder/e/exquisite_blood.txt b/res/cardsfolder/e/exquisite_blood.txt index d7766ed6c34..5ac4aa1b49e 100644 --- a/res/cardsfolder/e/exquisite_blood.txt +++ b/res/cardsfolder/e/exquisite_blood.txt @@ -3,7 +3,7 @@ ManaCost:4 B Types:Enchantment Text:no text T:Mode$ LifeLost | ValidPlayer$ Opponent | TriggerZones$ Battlefield | Execute$ TrigLifeGain | TriggerDescription$ Whenever an opponent loses life, you gain that much life. -SVar:TrigLifeGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigLifeGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$LifeAmount SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/exquisite_blood.jpg diff --git a/res/cardsfolder/e/exsanguinate.txt b/res/cardsfolder/e/exsanguinate.txt index 8bb37521e95..43bbde61c79 100644 --- a/res/cardsfolder/e/exsanguinate.txt +++ b/res/cardsfolder/e/exsanguinate.txt @@ -3,7 +3,7 @@ ManaCost:X B B Types:Sorcery Text:no text A:SP$ LoseLife | Cost$ X B B | Defined$ Opponent | LifeAmount$ X | SubAbility$ DBGainLife | SpellDescription$ Each opponent loses X life. You gain life equal to the life lost this way. -SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X +SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Count$xPaid SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/exsanguinate.jpg diff --git a/res/cardsfolder/e/extravagant_spirit.txt b/res/cardsfolder/e/extravagant_spirit.txt index 3250d8676fd..f5e976ac1bb 100644 --- a/res/cardsfolder/e/extravagant_spirit.txt +++ b/res/cardsfolder/e/extravagant_spirit.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 K:Flying T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of your upkeep, sacrifice CARDNAME unless you pay 1 for each card in your hand. -SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ Self | UnlessCost$ X | UnlessPayer$ You +SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ Self | UnlessCost$ X | UnlessPayer$ You | References$ X SVar:X:Count$InYourHand SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/f/faith_healer.txt b/res/cardsfolder/f/faith_healer.txt index 2479b22dc42..422a752af62 100644 --- a/res/cardsfolder/f/faith_healer.txt +++ b/res/cardsfolder/f/faith_healer.txt @@ -2,7 +2,7 @@ Name:Faith Healer ManaCost:1 W Types:Creature Human Cleric PT:1/1 -A:AB$ GainLife | Cost$ Sac<1/Enchantment> | LifeAmount$ X | SpellDescription$ You gain life equal to the sacrificed enchantment's converted mana cost. +A:AB$ GainLife | Cost$ Sac<1/Enchantment> | LifeAmount$ X | References$ X | SpellDescription$ You gain life equal to the sacrificed enchantment's converted mana cost. SVar:X:Sacrificed$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/f/faiths_shield.txt b/res/cardsfolder/f/faiths_shield.txt index eb2bf8e865b..b19cf586fc5 100644 --- a/res/cardsfolder/f/faiths_shield.txt +++ b/res/cardsfolder/f/faiths_shield.txt @@ -2,8 +2,8 @@ Name:Faith's Shield ManaCost:W Types:Instant Text:no text -A:SP$ Protection | Cost$ W | CheckSVar$ FatefulHour | SVarCompare$ GT5 | ValidTgts$ Permanent.YouCtrl | TgtPrompt$ Select target permanent you control | Gains$ Choice | Choices$ AnyColor | SpellDescription$ Target permanent you control gains protection from the color of your choice until end of turn. -A:SP$ ChooseColor | Cost$ W | CheckSVar$ FatefulHour | SVarCompare$ LE5 | Defined$ You | AILogic$ MostProminentAttackers | SubAbility$ DBProtection | SpellDescription$ Fateful Hour - If you have 5 or less life, instead you and each permanent you control gain protection from the color of your choice until end of turn. +A:SP$ Protection | Cost$ W | CheckSVar$ FatefulHour | SVarCompare$ GT5 | ValidTgts$ Permanent.YouCtrl | TgtPrompt$ Select target permanent you control | Gains$ Choice | Choices$ AnyColor | References$ FatefulHour | SpellDescription$ Target permanent you control gains protection from the color of your choice until end of turn. +A:SP$ ChooseColor | Cost$ W | CheckSVar$ FatefulHour | SVarCompare$ LE5 | Defined$ You | AILogic$ MostProminentAttackers | SubAbility$ DBProtection | References$ FatefulHour | SpellDescription$ Fateful Hour - If you have 5 or less life, instead you and each permanent you control gain protection from the color of your choice until end of turn. SVar:DBProtection:DB$ ProtectionAll | ValidCards$ Permanent.YouCtrl | ValidPlayers$ You | Gains$ ChosenColor SVar:FatefulHour:Count$YourLifeTotal SVar:RemAIDeck:True diff --git a/res/cardsfolder/f/falkenrath_aristocrat.txt b/res/cardsfolder/f/falkenrath_aristocrat.txt index b0145c232cd..447a91017cb 100644 --- a/res/cardsfolder/f/falkenrath_aristocrat.txt +++ b/res/cardsfolder/f/falkenrath_aristocrat.txt @@ -6,7 +6,7 @@ PT:4/1 K:Flying K:Haste A:AB$ Pump | Cost$ Sac<1/Creature> | KW$ HIDDEN Indestructible | SubAbility$ DBPutCounter | SpellDescription$ CARDNAME is indestructible this turn. If the sacrificed creature was a Human, put a +1/+1 counter on CARDNAME. -SVar:DBPutCounter:DB$PutCounter | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | CounterNum$ 1 | CounterType$ P1P1 +SVar:DBPutCounter:DB$PutCounter | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | CounterNum$ 1 | CounterType$ P1P1 | References$ X SVar:X:Sacrificed$Valid Human SVar:Rarity:Mythic SVar:Picture:http://www.wizards.com/global/images/magic/general/falkenrath_aristocrat.jpg diff --git a/res/cardsfolder/f/falkenrath_exterminator.txt b/res/cardsfolder/f/falkenrath_exterminator.txt index 6cb74d5590a..865d9d4f490 100644 --- a/res/cardsfolder/f/falkenrath_exterminator.txt +++ b/res/cardsfolder/f/falkenrath_exterminator.txt @@ -4,7 +4,7 @@ Types:Creature Vampire Archer Text:no text PT:1/1 T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | CombatDamage$ True | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, put a +1/+1 counter on it. -A:AB$ DealDamage | Cost$ 2 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SpellDescription$ CARDNAME deals damage to target creature equal to the number of +1/+1 counters on it. +A:AB$ DealDamage | Cost$ 2 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage to target creature equal to the number of +1/+1 counters on it. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 SVar:X:Count$CardCounters.P1P1 SVar:Rarity:Uncommon diff --git a/res/cardsfolder/f/falkenrath_torturer.txt b/res/cardsfolder/f/falkenrath_torturer.txt index 1a662b1766e..8aca7585c28 100644 --- a/res/cardsfolder/f/falkenrath_torturer.txt +++ b/res/cardsfolder/f/falkenrath_torturer.txt @@ -4,7 +4,7 @@ Types:Creature Vampire Text:no text PT:2/1 A:AB$ Pump | Cost$ Sac<1/Creature> | KW$ Flying | SubAbility$ DBPutCounter | SpellDescription$ CARDNAME gains flying until end of turn. If the sacrificed creature was a Human, put a +1/+1 counter on Falkenrath Torturer. -SVar:DBPutCounter:DB$PutCounter | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | CounterNum$ 1 | CounterType$ P1P1 +SVar:DBPutCounter:DB$PutCounter | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | CounterNum$ 1 | CounterType$ P1P1 | References$ X SVar:X:Sacrificed$Valid Human SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/f/fallow_wurm.txt b/res/cardsfolder/f/fallow_wurm.txt index 0c8d64205e2..607f47634e3 100644 --- a/res/cardsfolder/f/fallow_wurm.txt +++ b/res/cardsfolder/f/fallow_wurm.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDiscard | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you discard a land card. SVar:TrigDiscard:AB$ Discard | Cost$ 0 | NumCards$ 1 | DiscardValid$ Land | Mode$ TgtChoose | Optional$ True | RememberDiscarded$ True | SubAbility$ DBSacSelf -SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 +SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:NeedsToPlayVar:Y GE1 diff --git a/res/cardsfolder/f/false_cure.txt b/res/cardsfolder/f/false_cure.txt index 32d4f26fa7f..fcd470765af 100644 --- a/res/cardsfolder/f/false_cure.txt +++ b/res/cardsfolder/f/false_cure.txt @@ -4,7 +4,7 @@ Types:Instant Text:no text A:SP$ Effect | Cost$ B B | Name$ False Cure Effect | Triggers$ GainLife | SVars$ TrigLoseLife,X | SpellDescription$ Until end of turn, whenever a player gains life, that player loses 2 life for each 1 life he or she gained. SVar:GainLife:Mode$ LifeGained | ValidPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigLoseLife | TriggerDescription$ Whenever a player gains life, that player loses 2 life for each 1 life he or she gained. -SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ TriggeredPlayer | LifeAmount$ X +SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ TriggeredPlayer | LifeAmount$ X | References$ X SVar:X:TriggerCount$LifeAmount/Times.2 SVar:RemRandomDeck:True SVar:PlayMain1:TRUE diff --git a/res/cardsfolder/f/fanning_the_flames.txt b/res/cardsfolder/f/fanning_the_flames.txt index d75804a72cb..f17fadec378 100644 --- a/res/cardsfolder/f/fanning_the_flames.txt +++ b/res/cardsfolder/f/fanning_the_flames.txt @@ -2,7 +2,7 @@ Name:Fanning the Flames ManaCost:X R R Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ X R R | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target creature or player. +A:SP$ DealDamage | Cost$ X R R | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to target creature or player. SVar:Buyback:3 SVar:X:Count$xPaid SVar:Rarity:Uncommon diff --git a/res/cardsfolder/f/far_wanderings.txt b/res/cardsfolder/f/far_wanderings.txt index 0c50cd4376a..1f4e24d3f4c 100644 --- a/res/cardsfolder/f/far_wanderings.txt +++ b/res/cardsfolder/f/far_wanderings.txt @@ -2,7 +2,7 @@ Name:Far Wanderings ManaCost:2 G Types:Sorcery Text:no text -A:SP$ ChangeZone | Cost$ 2 G | Origin$ Library | Destination$ Battlefield | ChangeType$ Land.Basic | Tapped$ True | ChangeNum$ X | SpellDescription$ Search your library for a basic land card and put that card into play tapped. Then shuffle your library. Threshold - Instead search your library for three basic land cards and put them into play tapped. Then shuffle your library. +A:SP$ ChangeZone | Cost$ 2 G | Origin$ Library | Destination$ Battlefield | ChangeType$ Land.Basic | Tapped$ True | ChangeNum$ X | References$ X | SpellDescription$ Search your library for a basic land card and put that card into play tapped. Then shuffle your library. Threshold - Instead search your library for three basic land cards and put them into play tapped. Then shuffle your library. SVar:X:Count$Threshold.3.1 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/far_wanderings.jpg diff --git a/res/cardsfolder/f/fatal_frenzy.txt b/res/cardsfolder/f/fatal_frenzy.txt index 8de39d6f7ab..a7bd43afc76 100644 --- a/res/cardsfolder/f/fatal_frenzy.txt +++ b/res/cardsfolder/f/fatal_frenzy.txt @@ -2,7 +2,7 @@ Name:Fatal Frenzy ManaCost:2 R Types:Instant Text:no text -A:SP$ Pump | Cost$ 2 R | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumAtt$ X | KW$ Trample & HIDDEN At the beginning of the end step, sacrifice CARDNAME. | SpellDescription$ Until end of turn, target creature you control gains trample and gets +X/+0, where X is its power. Sacrifice it at the beginning of the next end step. +A:SP$ Pump | Cost$ 2 R | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumAtt$ X | KW$ Trample & HIDDEN At the beginning of the end step, sacrifice CARDNAME. | References$ X | SpellDescription$ Until end of turn, target creature you control gains trample and gets +X/+0, where X is its power. Sacrifice it at the beginning of the next end step. SVar:X:Targeted$CardPower SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/f/fault_line.txt b/res/cardsfolder/f/fault_line.txt index ffd7b208335..ed00959d513 100644 --- a/res/cardsfolder/f/fault_line.txt +++ b/res/cardsfolder/f/fault_line.txt @@ -2,7 +2,7 @@ Name:Fault Line ManaCost:X R R Types:Instant Text:no text -A:SP$ DamageAll | Cost$ X R R | ValidCards$ Creature.withoutFlying | ValidPlayers$ Each | NumDmg$ X | ValidDescription$ each creature without flying and each player. | SpellDescription$ CARDNAME deals X damage to each creature without flying and each player. +A:SP$ DamageAll | Cost$ X R R | ValidCards$ Creature.withoutFlying | ValidPlayers$ Each | NumDmg$ X | ValidDescription$ each creature without flying and each player. | References$ X | SpellDescription$ CARDNAME deals X damage to each creature without flying and each player. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/f/feast_of_flesh.txt b/res/cardsfolder/f/feast_of_flesh.txt index 6f0d4bf90c7..70ad02dd049 100644 --- a/res/cardsfolder/f/feast_of_flesh.txt +++ b/res/cardsfolder/f/feast_of_flesh.txt @@ -2,8 +2,8 @@ Name:Feast of Flesh ManaCost:B Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DBGainLife | SpellDescription$ CARDNAME deals X damage to target creature and you gain X life, where X is 1 plus the number of cards named CARDNAME in all graveyards. -SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X +A:SP$ DealDamage | Cost$ B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DBGainLife | References$ X | SpellDescription$ CARDNAME deals X damage to target creature and you gain X life, where X is 1 plus the number of cards named CARDNAME in all graveyards. +SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Count$NamedInAllYards.Feast of Flesh/Plus.1 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/feast_of_flesh.jpg diff --git a/res/cardsfolder/f/feed_the_pack.txt b/res/cardsfolder/f/feed_the_pack.txt index 0311ea2c30f..4c78d78188d 100644 --- a/res/cardsfolder/f/feed_the_pack.txt +++ b/res/cardsfolder/f/feed_the_pack.txt @@ -3,7 +3,7 @@ ManaCost:5 G Types:Enchantment Text:no text T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | OptionalDecider$ You | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ At the beginning of your end step, you may sacrifice a nontoken creature. If you do, put X 2/2 green Wolf creature tokens onto the battlefield where X is the sacrificed creature's toughness. -SVar:TrigToken:AB$ Token | Cost$ Sac<1/Creature.nonToken/nontoken creature> | TokenAmount$ X | TokenName$ Wolf | TokenColors$ Green | TokenTypes$ Creature,Wolf | TokenOwner$ You | TokenPower$ 2 | TokenToughness$ 2 | ConditionCheckSVar$ X +SVar:TrigToken:AB$ Token | Cost$ Sac<1/Creature.nonToken/nontoken creature> | TokenAmount$ X | TokenName$ Wolf | TokenColors$ Green | TokenTypes$ Creature,Wolf | TokenOwner$ You | TokenPower$ 2 | TokenToughness$ 2 | ConditionCheckSVar$ X | References$ X SVar:X:Sacrificed$CardToughness SVar:RemAIDeck:True SVar:Picture:http://www.wizards.com/global/images/magic/general/feed_the_pack.jpg diff --git a/res/cardsfolder/f/feedback_bolt.txt b/res/cardsfolder/f/feedback_bolt.txt index 84a2c846f2c..173ed6e8808 100644 --- a/res/cardsfolder/f/feedback_bolt.txt +++ b/res/cardsfolder/f/feedback_bolt.txt @@ -2,7 +2,7 @@ Name:Feedback Bolt ManaCost:4 R Types:Instant Text:no text -A:SP$ DealDamage | Cost$ 4 R | Tgt$ TgtP | NumDmg$ X | SpellDescription$ CARDNAME deals damage to target player equal to the number of artifacts you control. +A:SP$ DealDamage | Cost$ 4 R | Tgt$ TgtP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage to target player equal to the number of artifacts you control. SVar:X:Count$TypeYouCtrl.Artifact SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/f/feeding_frenzy.txt b/res/cardsfolder/f/feeding_frenzy.txt index 562d98dad90..ddfeecc2a67 100644 --- a/res/cardsfolder/f/feeding_frenzy.txt +++ b/res/cardsfolder/f/feeding_frenzy.txt @@ -2,7 +2,7 @@ Name:Feeding Frenzy ManaCost:2 B Types:Instant Text:no text -A:SP$ Pump | Cost$ 2 B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | SpellDescription$ Target creature gets -X/-X until end of turn, where X is the number of Zombies on the battlefield. +A:SP$ Pump | Cost$ 2 B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | References$ X | SpellDescription$ Target creature gets -X/-X until end of turn, where X is the number of Zombies on the battlefield. SVar:X:Count$Valid Zombie SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/f/feral_animist.txt b/res/cardsfolder/f/feral_animist.txt index 8645cdb70b4..550901c7321 100644 --- a/res/cardsfolder/f/feral_animist.txt +++ b/res/cardsfolder/f/feral_animist.txt @@ -3,7 +3,7 @@ ManaCost:1 R G Types:Creature Goblin Shaman Text:no text PT:2/1 -A:AB$ Pump | Cost$ 3 | NumAtt$ +X | SpellDescription$ CARDNAME gets +X/+0 until end of turn, where X is its power. +A:AB$ Pump | Cost$ 3 | NumAtt$ +X | References$ X | SpellDescription$ CARDNAME gets +X/+0 until end of turn, where X is its power. SVar:X:Count$CardPower SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/feral_animist.jpg diff --git a/res/cardsfolder/f/fertile_imagination.txt b/res/cardsfolder/f/fertile_imagination.txt index 6523b5ee664..fdc0c4987d4 100644 --- a/res/cardsfolder/f/fertile_imagination.txt +++ b/res/cardsfolder/f/fertile_imagination.txt @@ -4,7 +4,7 @@ Types:Sorcery Text:no text A:SP$ ChooseType | Cost$ 2 G G | Defined$ You | Type$ Card | SubAbility$ DBReveal | SpellDescription$ Choose a card type. Target opponent reveals his or her hand. Put two 1/1 green Saproling creature tokens onto the battlefield for each card of the chosen type revealed this way. SVar:DBReveal:DB$ RevealHand | RememberRevealed$ True | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | SubAbility$ DBToken -SVar:DBToken:DB$Token | TokenAmount$ X | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 +SVar:DBToken:DB$Token | TokenAmount$ X | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | References$ X,Y SVar:X:SVar$Y/Twice SVar:Y:Remembered$Valid Card.ChosenType SVar:RemAIDeck:True diff --git a/res/cardsfolder/f/festering_wound.txt b/res/cardsfolder/f/festering_wound.txt index b1dd2d0e81c..5a1bb313803 100644 --- a/res/cardsfolder/f/festering_wound.txt +++ b/res/cardsfolder/f/festering_wound.txt @@ -7,7 +7,7 @@ A:SP$ Attach | Cost$ 1 B | ValidTgts$ Creature | AILogic$ Curse T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | OptionalDecider$ You | TriggerDescription$ At the beginning of your upkeep, you may put an infection counter on CARDNAME. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ EnchantedController | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ At the beginning of the upkeep of enchanted creature's controller, CARDNAME deals X damage to that player, where X is the number of infection counters on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ INFECTION | CounterNum$ 1 -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ EnchantedController | NumDmg$ X +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ EnchantedController | NumDmg$ X | References$ X SVar:X:Count$CardCounters.INFECTION SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/festering_wound.jpg diff --git a/res/cardsfolder/f/festival_of_the_guildpact.txt b/res/cardsfolder/f/festival_of_the_guildpact.txt index d401cc63b91..0f5aaf8c93a 100644 --- a/res/cardsfolder/f/festival_of_the_guildpact.txt +++ b/res/cardsfolder/f/festival_of_the_guildpact.txt @@ -2,7 +2,7 @@ Name:Festival of the Guildpact ManaCost:X W Types:Instant Text:no text -A:SP$ PreventDamage | Cost$ X W | Defined$ You | Amount$ X | SubAbility$ DBDraw | SpellDescription$ Prevent the next X damage that would be dealt to you this turn. +A:SP$ PreventDamage | Cost$ X W | Defined$ You | Amount$ X | SubAbility$ DBDraw | References$ X | SpellDescription$ Prevent the next X damage that would be dealt to you this turn. SVar:X:Count$xPaid SVar:DBDraw:DB$Draw | Defined$ You | NumCards$ 1 SVar:RemAIDeck:True diff --git a/res/cardsfolder/f/festival_of_trokin.txt b/res/cardsfolder/f/festival_of_trokin.txt index c1c991e3aee..6a2c8e7866f 100644 --- a/res/cardsfolder/f/festival_of_trokin.txt +++ b/res/cardsfolder/f/festival_of_trokin.txt @@ -2,7 +2,7 @@ Name:Festival of Trokin ManaCost:W Types:Sorcery Text:no text -A:SP$ GainLife | Cost$ W | LifeAmount$ X | SpellDescription$ You gain 2 life for each creature you control. +A:SP$ GainLife | Cost$ W | LifeAmount$ X | References$ X | SpellDescription$ You gain 2 life for each creature you control. SVar:X:Count$TypeYouCtrl.Creature/Times.2 SVar:Rarity:Common SVar:Picture:http://resources.wizards.com/magic/cards/p2/en-us/card6504.jpg diff --git a/res/cardsfolder/f/fettergeist.txt b/res/cardsfolder/f/fettergeist.txt index bee8250b678..43eeaff81f0 100644 --- a/res/cardsfolder/f/fettergeist.txt +++ b/res/cardsfolder/f/fettergeist.txt @@ -5,7 +5,7 @@ Text:no text PT:3/4 K:Flying T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of your upkeep, sacrifice CARDNAME unless you pay 1 for each other creature you control. -SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ Self | UnlessCost$ X | UnlessPayer$ You +SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ Self | UnlessCost$ X | UnlessPayer$ You | References$ X SVar:X:Count$Valid Creature.Other+YouCtrl SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/f/feudkillers_verdict.txt b/res/cardsfolder/f/feudkillers_verdict.txt index 89e1d324ab1..7e483c9e6e6 100644 --- a/res/cardsfolder/f/feudkillers_verdict.txt +++ b/res/cardsfolder/f/feudkillers_verdict.txt @@ -3,7 +3,7 @@ ManaCost:4 W W Types:Tribal Sorcery Giant Text:no text A:SP$ GainLife | Cost$ 4 W W | Defined$ You | LifeAmount$ 10 | SubAbility$ Token | SpellDescription$ You gain 10 life. Then if you have more life than an opponent, put a 5/5 white Giant Warrior creature token onto the battlefield. -SVar:Token:DB$ Token | ConditionLifeTotal$ You | ConditionLifeAmount$ GEX | TokenAmount$ 1 | TokenName$ Giant Warrior | TokenTypes$ Creature,Giant,Warrior | TokenOwner$ You | TokenColors$ White | TokenPower$ 5 | TokenToughness$ 5 +SVar:Token:DB$ Token | ConditionLifeTotal$ You | ConditionLifeAmount$ GEX | TokenAmount$ 1 | TokenName$ Giant Warrior | TokenTypes$ Creature,Giant,Warrior | TokenOwner$ You | TokenColors$ White | TokenPower$ 5 | TokenToughness$ 5 | References$ X SVar:X:Count$OppLifeTotal SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/feudkillers_verdict.jpg diff --git a/res/cardsfolder/f/filigree_angel.txt b/res/cardsfolder/f/filigree_angel.txt index ed41f8805e1..ea58174f917 100644 --- a/res/cardsfolder/f/filigree_angel.txt +++ b/res/cardsfolder/f/filigree_angel.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigGainLife | TriggerDescription$ When CARDNAME enters the battlefield, you gain 3 life for each artifact you control. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | LifeAmount$ X +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | LifeAmount$ X | References$ X SVar:X:Count$Valid Artifact.YouCtrl/Times.3 SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/filigree_angel.jpg diff --git a/res/cardsfolder/f/filthy_cur.txt b/res/cardsfolder/f/filthy_cur.txt index 50c6841f8d3..255e01b8bd8 100644 --- a/res/cardsfolder/f/filthy_cur.txt +++ b/res/cardsfolder/f/filthy_cur.txt @@ -4,7 +4,7 @@ Types:Creature Hound Text:no text PT:2/2 T:Mode$ DamageDone | ValidTarget$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigLoseLife | TriggerDescription$ Whenever CARDNAME is dealt damage, you lose that much life. -SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/filthy_cur.jpg diff --git a/res/cardsfolder/f/final_strike.txt b/res/cardsfolder/f/final_strike.txt index b99a770c234..f67ea43dca6 100644 --- a/res/cardsfolder/f/final_strike.txt +++ b/res/cardsfolder/f/final_strike.txt @@ -2,7 +2,7 @@ Name:Final Strike ManaCost:2 B B Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ 2 B B Sac<1/Creature> | ValidTgts$ Opponent | NumDmg$ X | SpellDescription$ CARDNAME deals damage to target opponent equal to the sacrificed creature's power. +A:SP$ DealDamage | Cost$ 2 B B Sac<1/Creature> | ValidTgts$ Opponent | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage to target opponent equal to the sacrificed creature's power. SVar:X:Sacrificed$CardPower SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/f/fire_dragon.txt b/res/cardsfolder/f/fire_dragon.txt index e75f87bb108..7087e507913 100644 --- a/res/cardsfolder/f/fire_dragon.txt +++ b/res/cardsfolder/f/fire_dragon.txt @@ -5,7 +5,7 @@ Text:no text PT:6/6 K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDealDamage | TriggerDescription$ When CARDNAME enters the battlefield, it deals damage equal to the number of Mountains you control to target creature. -SVar:TrigDealDamage:DB$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X +SVar:TrigDealDamage:DB$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | References$ X SVar:X:Count$TypeYouCtrl.Mountain SVar:PlayMain1:TRUE SVar:Rarity:Rare diff --git a/res/cardsfolder/f/fire_servant.txt b/res/cardsfolder/f/fire_servant.txt index 3f493412ef7..7bf88bfd252 100644 --- a/res/cardsfolder/f/fire_servant.txt +++ b/res/cardsfolder/f/fire_servant.txt @@ -4,7 +4,7 @@ Types:Creature Elemental Text:no text PT:4/3 R:Event$ DamageDone | ValidSource$ Instant.YouCtrl,Sorcery.YouCtrl | ReplaceWith$ DmgTwice | Description$ If a red instant or sorcery spell you control would deal damage, it deals double that damage instead. -SVar:DmgTwice:AB$DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X +SVar:DmgTwice:AB$DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X | References$ X SVar:X:ReplaceCount$DamageAmount/Twice SVar:Picture:http://www.wizards.com/global/images/magic/general/fire_servant.jpg SetInfo:M11|Uncommon|http://magiccards.info/scans/en/m11/137.jpg diff --git a/res/cardsfolder/f/firecat_blitz.txt b/res/cardsfolder/f/firecat_blitz.txt index f714ba16fce..9881f6cd6c1 100644 --- a/res/cardsfolder/f/firecat_blitz.txt +++ b/res/cardsfolder/f/firecat_blitz.txt @@ -2,8 +2,8 @@ Name:Firecat Blitz ManaCost:X R R Types:Sorcery Text:no text -A:SP$ Token | Cost$ X R R | TokenAmount$ X | TokenName$ Elemental Cat | TokenTypes$ Creature,Elemental,Cat | TokenOwner$ You | TokenColors$ Red | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Haste<>At the beginning of the end step, exile CARDNAME. | SpellDescription$ Put X 1/1 red Elemental Cat creature tokens with haste onto the battlefield. Exile them at the beginning of the next end step. -A:SP$ Token | Cost$ R R Sac | TokenAmount$ ChosenX | TokenName$ Elemental Cat | TokenTypes$ Creature,Elemental,Cat | TokenOwner$ You | TokenColors$ Red | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Haste<>At the beginning of the end step, exile CARDNAME. | Flashback$ True | CostDesc$ Flashback - R R, Sacrifice X Mountains. | SpellDescription$ (You may cast this card from your graveyard for its flashback cost. Then exile it.) +A:SP$ Token | Cost$ X R R | TokenAmount$ X | TokenName$ Elemental Cat | TokenTypes$ Creature,Elemental,Cat | TokenOwner$ You | TokenColors$ Red | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Haste<>At the beginning of the end step, exile CARDNAME. | References$ X | SpellDescription$ Put X 1/1 red Elemental Cat creature tokens with haste onto the battlefield. Exile them at the beginning of the next end step. +A:SP$ Token | Cost$ R R Sac | TokenAmount$ ChosenX | TokenName$ Elemental Cat | TokenTypes$ Creature,Elemental,Cat | TokenOwner$ You | TokenColors$ Red | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Haste<>At the beginning of the end step, exile CARDNAME. | Flashback$ True | CostDesc$ Flashback - R R, Sacrifice X Mountains. | References$ Y | SpellDescription$ (You may cast this card from your graveyard for its flashback cost. Then exile it.) SVar:X:Count$xPaid SVar:Y:XChoice #Flashback uses Y because SVars can't overlap diff --git a/res/cardsfolder/f/firestorm.txt b/res/cardsfolder/f/firestorm.txt index 9a4173c3409..82d56368652 100644 --- a/res/cardsfolder/f/firestorm.txt +++ b/res/cardsfolder/f/firestorm.txt @@ -2,7 +2,7 @@ Name:Firestorm ManaCost:R Types:Instant Text:no text -A:SP$ DealDamage | Cost$ R Discard | Tgt$ TgtCP | TargetMin$ 0 | TargetMax$ MaxTgts | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to each of X target creatures and/or players. +A:SP$ DealDamage | Cost$ R Discard | Tgt$ TgtCP | TargetMin$ 0 | TargetMax$ MaxTgts | NumDmg$ X | References$ X,MaxTgts | SpellDescription$ CARDNAME deals X damage to each of X target creatures and/or players. SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Creature/Plus.2 SVar:RemAIDeck:True diff --git a/res/cardsfolder/f/flame_burst.txt b/res/cardsfolder/f/flame_burst.txt index 4396755c286..d7f7a27ff99 100644 --- a/res/cardsfolder/f/flame_burst.txt +++ b/res/cardsfolder/f/flame_burst.txt @@ -2,7 +2,7 @@ Name:Flame Burst ManaCost:1 R Types:Instant Text:no text -A:SP$ DealDamage | Cost$ 1 R | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target creature or player, where X is 2 plus the number of cards named CARDNAME in all graveyards. +A:SP$ DealDamage | Cost$ 1 R | Tgt$ TgtCP | NumDmg$ X | References$ X,Y | SpellDescription$ CARDNAME deals X damage to target creature or player, where X is 2 plus the number of cards named CARDNAME in all graveyards. SVar:X:Count$NamedInAllYards.Flame Burst/Plus.Y SVar:Y:Count$NamedInAllYards.Pardic Firecat/Plus.2 SVar:Rarity:Common diff --git a/res/cardsfolder/f/flame_elemental.txt b/res/cardsfolder/f/flame_elemental.txt index 74a0478daf4..64f2657d9cd 100644 --- a/res/cardsfolder/f/flame_elemental.txt +++ b/res/cardsfolder/f/flame_elemental.txt @@ -3,7 +3,7 @@ ManaCost:2 R R Types:Creature Elemental Text:no text PT:3/2 -A:AB$ DealDamage | Cost$ R T Sac<1/CARDNAME> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to its power to target creature. +A:AB$ DealDamage | Cost$ R T Sac<1/CARDNAME> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to its power to target creature. SVar:X:Count$CardPower SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/flame_elemental.jpg diff --git a/res/cardsfolder/f/flameblast_dragon.txt b/res/cardsfolder/f/flameblast_dragon.txt index 1a31dc9c03b..fbb5f934115 100644 --- a/res/cardsfolder/f/flameblast_dragon.txt +++ b/res/cardsfolder/f/flameblast_dragon.txt @@ -5,7 +5,7 @@ Text:no text PT:5/5 K:Flying T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigDamage | TriggerDescription$ Whenever CARDNAME attacks, you may pay X R. If you do, Flameblast Dragon deals X damage to target creature or player. -SVar:TrigDamage:AB$ DealDamage | Cost$ X R | Tgt$ TgtCP | NumDmg$ X +SVar:TrigDamage:AB$ DealDamage | Cost$ X R | Tgt$ TgtCP | NumDmg$ X | References$ X SVar:X:Count$xPaid SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/flameblast_dragon.jpg diff --git a/res/cardsfolder/f/flash_conscription.txt b/res/cardsfolder/f/flash_conscription.txt index ba79cbc6f94..47f82d41128 100644 --- a/res/cardsfolder/f/flash_conscription.txt +++ b/res/cardsfolder/f/flash_conscription.txt @@ -5,7 +5,7 @@ Text:no text A:SP$ GainControl | Cost$ 5 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | AddKWs$ Haste | LoseControl$ EOT | Untap$ True | SubAbility$ DBAnimate | SpellDescription$ Untap target creature and gain control of it until end of turn. That creature gains haste until end of turn. If W was spent to cast CARDNAME, the creature gains "Whenever this creature deals combat damage, you gain that much life" until end of turn. SVar:DBAnimate:DB$ Animate | Defined$ Targeted | Triggers$ TrigDamage | sVars$ GainLife,X | ConditionManaSpent$ W SVar:TrigDamage:Mode$ DamageDone | ValidSource$ Card.Self | CombatDamage$ True | Execute$ GainLife | TriggerZones$ Battlefield | TriggerDescription$ Whenever this creature deals combat damage, you gain that much life. -SVar:GainLife:AB$ GainLife | Cost$ 0 | LifeAmount$ X +SVar:GainLife:AB$ GainLife | Cost$ 0 | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/f/flash_of_insight.txt b/res/cardsfolder/f/flash_of_insight.txt index 4ff37be3f69..3ca4bbdd27f 100644 --- a/res/cardsfolder/f/flash_of_insight.txt +++ b/res/cardsfolder/f/flash_of_insight.txt @@ -2,8 +2,8 @@ Name:Flash of Insight ManaCost:X 1 U Types:Instant Text:no text -A:SP$ Dig | Cost$ X 1 U | DigNum$ X | ChangeNum$ 1 | DestinationZone$ Hand | DestinationZone2$ Library | LibraryPosition$ -1 | SpellDescription$ Look at the top X cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order. -A:SP$ Dig | Cost$ 1 U ExileFromGrave | Flashback$ True | CostDesc$ Flashback - 1 U, Exile X blue cards from your graveyard. Flash of Insight cannot be one of them. | DigNum$ ChosenX | ChangeNum$ 1 | DestinationZone$ Hand | DestinationZone2$ Library | LibraryPosition$ -1 | SpellDescription$ (You may cast this card from your graveyard for its flashback cost. Then exile it.) +A:SP$ Dig | Cost$ X 1 U | DigNum$ X | ChangeNum$ 1 | DestinationZone$ Hand | DestinationZone2$ Library | LibraryPosition$ -1 | References$ X | SpellDescription$ Look at the top X cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order. +A:SP$ Dig | Cost$ 1 U ExileFromGrave | Flashback$ True | CostDesc$ Flashback - 1 U, Exile X blue cards from your graveyard. Flash of Insight cannot be one of them. | DigNum$ ChosenX | ChangeNum$ 1 | DestinationZone$ Hand | DestinationZone2$ Library | LibraryPosition$ -1 | References$ Y | SpellDescription$ (You may cast this card from your graveyard for its flashback cost. Then exile it.) SVar:Y:XChoice SVar:X:Count$xPaid SVar:RemAIDeck:True diff --git a/res/cardsfolder/f/flayed_nim.txt b/res/cardsfolder/f/flayed_nim.txt index 84899c142d4..1ff1431cbcc 100644 --- a/res/cardsfolder/f/flayed_nim.txt +++ b/res/cardsfolder/f/flayed_nim.txt @@ -5,7 +5,7 @@ Text:no text PT:2/2 A:AB$ Regenerate | Cost$ 2 B | SpellDescription$ Regenerate CARDNAME. T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Creature | CombatDamage$ True | Execute$ TrigLoseLife | TriggerDescription$ Whenever CARDNAME deals combat damage to a creature, that creature's controller loses that much life. -SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ TriggeredTargetController | LifeAmount$ X +SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ TriggeredTargetController | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/flayed_nim.jpg diff --git a/res/cardsfolder/f/flayer_of_the_hatebound.txt b/res/cardsfolder/f/flayer_of_the_hatebound.txt index 9b67adba9ce..3f5328f973d 100644 --- a/res/cardsfolder/f/flayer_of_the_hatebound.txt +++ b/res/cardsfolder/f/flayer_of_the_hatebound.txt @@ -5,7 +5,7 @@ Text:no text PT:4/2 K:Undying T:Mode$ ChangesZone | Origin$ Graveyard | Destination$ Battlefield | TriggerZones$ Battlefield | ValidCard$ Creature.YouOwn | Execute$ ReanimateDmg | TriggerDescription$ Whenever CARDNAME or another creature enters the battlefield from your graveyard, that creature deals damage equal to its power to target creature or player. -SVar:ReanimateDmg:AB$DealDamage | Cost$ 0 | Tgt$ TgtCP | DamageSource$ TriggeredCard | NumDmg$ Damage +SVar:ReanimateDmg:AB$DealDamage | Cost$ 0 | Tgt$ TgtCP | DamageSource$ TriggeredCard | NumDmg$ Damage | References$ Damage SVar:Damage:TriggeredCard$CardPower SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/flayer_of_the_hatebound.jpg diff --git a/res/cardsfolder/f/flesh_allergy.txt b/res/cardsfolder/f/flesh_allergy.txt index 6a68824efb2..28ebd0544fe 100644 --- a/res/cardsfolder/f/flesh_allergy.txt +++ b/res/cardsfolder/f/flesh_allergy.txt @@ -3,7 +3,7 @@ ManaCost:2 B B Types:Sorcery Text:no text A:SP$ Destroy | Cost$ 2 B B Sac<1/Creature> | ValidTgts$ Creature | SubAbility$ DBLoseLife | SpellDescription$ Destroy target creature. Its controller loses life equal to the number of creatures put into all graveyards from the battlefield this turn. -SVar:DBLoseLife:DB$LoseLife | Defined$ TargetedController | LifeAmount$ X +SVar:DBLoseLife:DB$LoseLife | Defined$ TargetedController | LifeAmount$ X | References$ X SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/flesh_allergy.jpg diff --git a/res/cardsfolder/f/flesh_reaver.txt b/res/cardsfolder/f/flesh_reaver.txt index 516e67834dd..246d8cc2b61 100644 --- a/res/cardsfolder/f/flesh_reaver.txt +++ b/res/cardsfolder/f/flesh_reaver.txt @@ -4,7 +4,7 @@ Types:Creature Horror Text:no text PT:4/4 T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Creature,Opponent | Execute$ TrigFleshReaverDamage | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals damage to a creature or opponent, CARDNAME deals that much damage to you. -SVar:TrigFleshReaverDamage:AB$ DealDamage | Cost$ 0 | NumDmg$ FleshReaverX | Defined$ You +SVar:TrigFleshReaverDamage:AB$ DealDamage | Cost$ 0 | NumDmg$ FleshReaverX | Defined$ You | References$ FleshReaverX SVar:FleshReaverX:TriggerCount$DamageAmount SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/f/fling.txt b/res/cardsfolder/f/fling.txt index cc9bdca3a57..bc193f47244 100644 --- a/res/cardsfolder/f/fling.txt +++ b/res/cardsfolder/f/fling.txt @@ -2,7 +2,7 @@ Name:Fling ManaCost:1 R Types:Instant Text:no text -A:SP$ DealDamage | Cost$ 1 R Sac<1/Creature> | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to the sacrificed creature's power to target creature or player. +A:SP$ DealDamage | Cost$ 1 R Sac<1/Creature> | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to the sacrificed creature's power to target creature or player. SVar:X:Sacrificed$CardPower SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/f/floating_dream_zubera.txt b/res/cardsfolder/f/floating_dream_zubera.txt index 250e9ff8c57..e4f4a52a953 100644 --- a/res/cardsfolder/f/floating_dream_zubera.txt +++ b/res/cardsfolder/f/floating_dream_zubera.txt @@ -3,7 +3,7 @@ ManaCost:1 U Types:Creature Zubera Spirit Text:no text T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigDraw | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME is put into a graveyard from the battlefield, draw a card for each Zubera put into a graveyard from the battlefield this turn. -SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ X +SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ X | References$ X SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Card.Zubera PT:1/2 SVar:Rarity:Common diff --git a/res/cardsfolder/f/floodgate.txt b/res/cardsfolder/f/floodgate.txt index 2a91328794e..12444c630ee 100644 --- a/res/cardsfolder/f/floodgate.txt +++ b/res/cardsfolder/f/floodgate.txt @@ -7,7 +7,7 @@ K:Defender T:Mode$ Always | IsPresent$ Card.Self+withFlying | Execute$ Sacrifice | TriggerZones$ Battlefield | TriggerDescription$ When CARDNAME has flying, sacrifice it. SVar:Sacrifice:AB$ Sacrifice | Cost$ 0 T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Any | Execute$ TrigDamage | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME leaves the battlefield, it deals damage equal to half the number of Islands you control, rounded down, to each nonblue creature without flying. -SVar:TrigDamage:AB$ DamageAll | Cost$ 0 | ValidCards$ Creature.nonBlue+withoutFlying | NumDmg$ X +SVar:TrigDamage:AB$ DamageAll | Cost$ 0 | ValidCards$ Creature.nonBlue+withoutFlying | NumDmg$ X | References$ X SVar:X:Count$Valid Island.YouCtrl/HalfDown SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/floodgate.jpg diff --git a/res/cardsfolder/f/floodwater_dam.txt b/res/cardsfolder/f/floodwater_dam.txt index 413df2b20ab..2e3b927c68d 100644 --- a/res/cardsfolder/f/floodwater_dam.txt +++ b/res/cardsfolder/f/floodwater_dam.txt @@ -2,7 +2,7 @@ Name:Floodwater Dam ManaCost:3 Types:Artifact Text:no text -A:AB$ Tap | Cost$ X X 1 T | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Land | TgtPrompt$ Select target Land | SpellDescription$ Tap X target lands. +A:AB$ Tap | Cost$ X X 1 T | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Land | TgtPrompt$ Select target Land | References$ X,MaxTgts | SpellDescription$ Tap X target lands. # It may seem wrong to not use X in the target, but since the Targets are what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Land diff --git a/res/cardsfolder/f/flow_of_ideas.txt b/res/cardsfolder/f/flow_of_ideas.txt index d522f5451ba..76f36107eea 100644 --- a/res/cardsfolder/f/flow_of_ideas.txt +++ b/res/cardsfolder/f/flow_of_ideas.txt @@ -2,7 +2,7 @@ Name:Flow of Ideas ManaCost:5 U Types:Sorcery Text:no text -A:SP$ Draw | Cost$ 5 U | NumCards$ X | SpellDescription$ Draw a card for each Island you control. +A:SP$ Draw | Cost$ 5 U | NumCards$ X | References$ X | SpellDescription$ Draw a card for each Island you control. SVar:X:Count$TypeYouCtrl.Island SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/f/flowstone_slide.txt b/res/cardsfolder/f/flowstone_slide.txt index 76e78fa3ae6..3c8f66d7aed 100644 --- a/res/cardsfolder/f/flowstone_slide.txt +++ b/res/cardsfolder/f/flowstone_slide.txt @@ -2,7 +2,7 @@ Name:Flowstone Slide ManaCost:X 2 R R Types:Sorcery Text:no text -A:SP$ PumpAll | Cost$ X 2 R R | ValidCards$ Creature | IsCurse$ True | NumAtt$ +X | NumDef$ -X | SpellDescription$ All Creatures get +X/-X until end of turn. +A:SP$ PumpAll | Cost$ X 2 R R | ValidCards$ Creature | IsCurse$ True | NumAtt$ +X | NumDef$ -X | References$ X | SpellDescription$ All Creatures get +X/-X until end of turn. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/f/flurry_of_wings.txt b/res/cardsfolder/f/flurry_of_wings.txt index d58a7de5df3..ebfeb99f7dc 100644 --- a/res/cardsfolder/f/flurry_of_wings.txt +++ b/res/cardsfolder/f/flurry_of_wings.txt @@ -2,7 +2,7 @@ Name:Flurry of Wings ManaCost:G W U Types:Instant Text:no text -A:SP$ Token | Cost$ G W U | TokenAmount$ X | TokenName$ Bird Soldier | TokenTypes$ Creature,Bird,Soldier | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying | SpellDescription$ Put X 1/1 white Bird Soldier creature tokens with flying onto the battlefield, where X is the number of attacking creatures. +A:SP$ Token | Cost$ G W U | TokenAmount$ X | TokenName$ Bird Soldier | TokenTypes$ Creature,Bird,Soldier | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying | References$ X | SpellDescription$ Put X 1/1 white Bird Soldier creature tokens with flying onto the battlefield, where X is the number of attacking creatures. SVar:X:Count$Valid Creature.attacking SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/f/folk_medicine.txt b/res/cardsfolder/f/folk_medicine.txt index 7af82adb94d..b28c05943e4 100644 --- a/res/cardsfolder/f/folk_medicine.txt +++ b/res/cardsfolder/f/folk_medicine.txt @@ -3,7 +3,7 @@ ManaCost:2 G Types:Instant Text:no text K:Flashback 1 W -A:SP$ GainLife | Cost$ 2 G | LifeAmount$ X | SpellDescription$ You gain 1 life for each creature you control. +A:SP$ GainLife | Cost$ 2 G | LifeAmount$ X | References$ X | SpellDescription$ You gain 1 life for each creature you control. SVar:X:Count$TypeYouCtrl.Creature SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/folk_medicine.jpg diff --git a/res/cardsfolder/f/food_chain.txt b/res/cardsfolder/f/food_chain.txt index f7ae4469f5c..b2a7d27fc8c 100644 --- a/res/cardsfolder/f/food_chain.txt +++ b/res/cardsfolder/f/food_chain.txt @@ -2,7 +2,7 @@ Name:Food Chain ManaCost:2 G Types:Enchantment Text:no text -A:AB$ Mana | Cost$ Exile<1/Creature> | Produced$ Any | Amount$ X | RestrictValid$ Card.Creature | SpellDescription$ Add X mana of any one color to your mana pool, where X is the exiled creature's converted mana cost plus one. Spend this mana only to cast creature spells. +A:AB$ Mana | Cost$ Exile<1/Creature> | Produced$ Any | Amount$ X | RestrictValid$ Card.Creature | References$ X | SpellDescription$ Add X mana of any one color to your mana pool, where X is the exiled creature's converted mana cost plus one. Spend this mana only to cast creature spells. SVar:X:Exiled$CardManaCost/Plus.1 SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/f/footbottom_feast.txt b/res/cardsfolder/f/footbottom_feast.txt index 9469c3c443d..65c89e3f205 100644 --- a/res/cardsfolder/f/footbottom_feast.txt +++ b/res/cardsfolder/f/footbottom_feast.txt @@ -2,7 +2,7 @@ Name:Footbottom Feast ManaCost:2 B Types:Instant Text:no text -A:SP$ ChangeZone | Cost$ 2 B | Origin$ Graveyard | Destination$ Library | TargetMin$ 0 | TargetMax$ X | TgtPrompt$ Choose target creature card in your graveyard | ValidTgts$ Creature.YouCtrl | SpellDescription$ Put any number of target creature cards from your graveyard on top of your library. | SubAbility$ DBDraw +A:SP$ ChangeZone | Cost$ 2 B | Origin$ Graveyard | Destination$ Library | TargetMin$ 0 | TargetMax$ X | TgtPrompt$ Choose target creature card in your graveyard | ValidTgts$ Creature.YouCtrl | References$ X | SpellDescription$ Put any number of target creature cards from your graveyard on top of your library. | SubAbility$ DBDraw SVar:DBDraw:DB$Draw | NumCards$ 1 | SpellDescription$ Draw a card. SVar:X:Count$TypeInYourYard.Creature SVar:RemAIDeck:True diff --git a/res/cardsfolder/f/force_bubble.txt b/res/cardsfolder/f/force_bubble.txt index 91986f1b238..e0ecbb359ac 100644 --- a/res/cardsfolder/f/force_bubble.txt +++ b/res/cardsfolder/f/force_bubble.txt @@ -3,11 +3,11 @@ ManaCost:2 W W Types:Enchantment Text:no text R:Event$ DamageDone | ValidTarget$ You | ReplaceWith$ Counters | Description$ If damage would be dealt to you, put that many depletion counters on CARDNAME instead. -SVar:Counters:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ DEPLETION | CounterNum$ X +SVar:Counters:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ DEPLETION | CounterNum$ X | References$ X T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Card.Self+counters_GE4_DEPLETION | Execute$ TrigSac | TriggerDescription$ When there are four or more depletion counters on CARDNAME, sacrifice it. SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ Self T:Mode$ Phase | Phase$ End of Turn | TriggerZones$ Battlefield | Execute$ TrigRemoveCounter | TriggerDescription$ At the beginning of each end step, remove all depletion counters from CARDNAME. -SVar:TrigRemoveCounter: AB$ RemoveCounter | Cost$ 0 | CounterType$ DEPLETION | CounterNum$ All +SVar:TrigRemoveCounter: AB$ RemoveCounter | Cost$ 0 | CounterType$ DEPLETION | CounterNum$ All | References$ All SVar:X:ReplaceCount$DamageAmount SVar:All:Count$CardCounters.DEPLETION SVar:Rarity:Rare diff --git a/res/cardsfolder/f/forced_march.txt b/res/cardsfolder/f/forced_march.txt index 32843ed56e1..efa7045fe45 100644 --- a/res/cardsfolder/f/forced_march.txt +++ b/res/cardsfolder/f/forced_march.txt @@ -2,7 +2,7 @@ Name:Forced March ManaCost:X B B B Types:Sorcery Text:no text -A:SP$ DestroyAll | Cost$ X B B B | ValidCards$ Creature.cmcLEX | SpellDescription$ Destroy all creatures with converted mana cost X or less. +A:SP$ DestroyAll | Cost$ X B B B | ValidCards$ Creature.cmcLEX | References$ X | SpellDescription$ Destroy all creatures with converted mana cost X or less. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/f/foreshadow.txt b/res/cardsfolder/f/foreshadow.txt index 5997e205a4e..0e04e7c3010 100644 --- a/res/cardsfolder/f/foreshadow.txt +++ b/res/cardsfolder/f/foreshadow.txt @@ -4,7 +4,7 @@ Types:Instant Text:no text A:SP$ NameCard | Cost$ 1 U | Defined$ You | SubAbility$ DBMill | SpellDescription$ Name a card, then put the top card of target opponent's library into his or her graveyard. If that card is the named card, you draw a card. Draw a card at the beginning of the next turn's upkeep. SVar:DBMill:DB$ Mill | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | NumCards$ 1 | RememberMilled$ True | SubAbility$ DBDraw -SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X | SubAbility$ DBSlowDraw +SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X | SubAbility$ DBSlowDraw | References$ X SVar:DBSlowDraw:DB$ Draw | Defined$ You | NextUpkeep$ True | NumCards$ 1 SVar:X:Remembered$Valid Card.NamedCard SVar:RemAIDeck:True diff --git a/res/cardsfolder/f/forge_armor.txt b/res/cardsfolder/f/forge_armor.txt index cfbfee27ecf..da402c64417 100644 --- a/res/cardsfolder/f/forge_armor.txt +++ b/res/cardsfolder/f/forge_armor.txt @@ -2,7 +2,7 @@ Name:Forge Armor ManaCost:4 R Types:Instant Text:no text -A:SP$ PutCounter | Cost$ 4 R Sac<1/Artifact> | CounterType$ P1P1 | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterNum$ X | SpellDescription$ Put X +1/+1 counters on target creature, where X is the sacrificed artifact's converted mana cost. +A:SP$ PutCounter | Cost$ 4 R Sac<1/Artifact> | CounterType$ P1P1 | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterNum$ X | References$ X | SpellDescription$ Put X +1/+1 counters on target creature, where X is the sacrificed artifact's converted mana cost. SVar:X:Sacrificed$CardManaCost SVar:RemAIDeck:True SVar:RemRandomDeck:True diff --git a/res/cardsfolder/f/forget.txt b/res/cardsfolder/f/forget.txt index 9b32d552059..ceeb757a8d0 100644 --- a/res/cardsfolder/f/forget.txt +++ b/res/cardsfolder/f/forget.txt @@ -3,7 +3,7 @@ ManaCost:U U Types:Sorcery Text:no text A:SP$ Discard | Cost$ U U | ValidTgts$ Player | TgtPrompt$ Select target player | Mode$ TgtChoose | NumCards$ 2 | RememberDiscarded$ True | SubAbility$ DBDraw | SpellDescription$ Target player discards two cards, then draws as many cards as he or she discarded this way. -SVar:DBDraw:DB$ Draw | Cost$ 0 | Defined$ Targeted | NumCards$ X +SVar:DBDraw:DB$ Draw | Cost$ 0 | Defined$ Targeted | NumCards$ X | References$ X SVar:X:Remembered$Amount SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/forget.jpg diff --git a/res/cardsfolder/f/fountain_of_cho.txt b/res/cardsfolder/f/fountain_of_cho.txt index dd57b324ac6..2b5e2ca305f 100644 --- a/res/cardsfolder/f/fountain_of_cho.txt +++ b/res/cardsfolder/f/fountain_of_cho.txt @@ -4,7 +4,7 @@ Types:Land Text:no text K:CARDNAME enters the battlefield tapped. A:AB$ PutCounter | Cost$ T | Defined$ Self | CounterType$ STORAGE | CounterNum$ 1 | SpellDescription$ Put a storage counter on CARDNAME. -A:AB$ Mana | Cost$ T SubCounter | Produced$ W | Amount$ ChosenX | CostDesc$ Tap, Remove any number of storage counters from CARDNAME: | SpellDescription$ Add W to your mana pool for each storage counter removed this way. +A:AB$ Mana | Cost$ T SubCounter | Produced$ W | Amount$ ChosenX | CostDesc$ Tap, Remove any number of storage counters from CARDNAME: | References$ X | SpellDescription$ Add W to your mana pool for each storage counter removed this way. SVar:X:XChoice #ChosenX SVar created by Cost payment SVar:RemAIDeck:True diff --git a/res/cardsfolder/f/fracturing_gust.txt b/res/cardsfolder/f/fracturing_gust.txt index 24c9a30c5aa..216e99bd7cf 100644 --- a/res/cardsfolder/f/fracturing_gust.txt +++ b/res/cardsfolder/f/fracturing_gust.txt @@ -3,7 +3,7 @@ ManaCost:2 GW GW GW Types:Instant Text:no text A:SP$ DestroyAll | Cost$ 2 GW GW GW | ValidCards$ Artifact,Enchantment | RememberDestroyed$ True | SubAbility$ DBGainLife | SpellDescription$ Destroy all artifacts and enchantments. You gain 2 life for each permanent destroyed this way. -SVar:DBGainLife:DB$GainLife | LifeAmount$ X +SVar:DBGainLife:DB$GainLife | LifeAmount$ X | References$ X SVar:X:Remembered$Amount.Twice SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/fracturing_gust.jpg diff --git a/res/cardsfolder/f/frantic_salvage.txt b/res/cardsfolder/f/frantic_salvage.txt index de2d3c42a8b..a348d55eb5f 100644 --- a/res/cardsfolder/f/frantic_salvage.txt +++ b/res/cardsfolder/f/frantic_salvage.txt @@ -2,7 +2,7 @@ Name:Frantic Salvage ManaCost:3 W Types:Instant Text:no text -A:SP$ ChangeZone | Cost$ 3 W | Origin$ Graveyard | Destination$ Library | TargetMin$ 0 | TargetMax$ X | TgtPrompt$ Choose target artifact card in your graveyard | ValidTgts$ Artifact.YouCtrl | SubAbility$ DBDraw | SpellDescription$ Put any number of target artifact cards from your graveyard on top of your library. +A:SP$ ChangeZone | Cost$ 3 W | Origin$ Graveyard | Destination$ Library | TargetMin$ 0 | TargetMax$ X | TgtPrompt$ Choose target artifact card in your graveyard | ValidTgts$ Artifact.YouCtrl | SubAbility$ DBDraw | References$ X | SpellDescription$ Put any number of target artifact cards from your graveyard on top of your library. SVar:DBDraw:DB$Draw | NumCards$ 1 | SpellDescription$ Draw a card. SVar:X:Count$TypeInYourYard.Artifact SVar:RemAIDeck:True diff --git a/res/cardsfolder/f/fresh_meat.txt b/res/cardsfolder/f/fresh_meat.txt index 5c6ca1375b1..a13b26086b9 100644 --- a/res/cardsfolder/f/fresh_meat.txt +++ b/res/cardsfolder/f/fresh_meat.txt @@ -2,7 +2,7 @@ Name:Fresh Meat ManaCost:3 G Types:Instant Text:no text -A:SP$ Token | Cost$ 3 G | TokenAmount$ X | TokenOwner$ You | TokenName$ Beast | TokenTypes$ Creature,Beast | TokenColors$ Green | TokenPower$ 3 | TokenToughness$ 3 | SpellDescription$ Put a 3/3 green Beast creature token onto the battlefield for each creature put into your graveyard from the battlefield this turn. +A:SP$ Token | Cost$ 3 G | TokenAmount$ X | TokenOwner$ You | TokenName$ Beast | TokenTypes$ Creature,Beast | TokenColors$ Green | TokenPower$ 3 | TokenToughness$ 3 | References$ X | SpellDescription$ Put a 3/3 green Beast creature token onto the battlefield for each creature put into your graveyard from the battlefield this turn. SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature.YouCtrl SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/f/freyalise_supplicant.txt b/res/cardsfolder/f/freyalise_supplicant.txt index 9bce11ce01a..0912c6d5f8e 100644 --- a/res/cardsfolder/f/freyalise_supplicant.txt +++ b/res/cardsfolder/f/freyalise_supplicant.txt @@ -3,7 +3,7 @@ ManaCost:1 G Types:Creature Human Cleric Text:no text PT:1/1 -A:AB$ DealDamage | Cost$ T Sac<1/Creature.Red;Creature.White/red or white creature> | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals damage to target creature or player equal to half the sacrificed creature's power, rounded down. +A:AB$ DealDamage | Cost$ T Sac<1/Creature.Red;Creature.White/red or white creature> | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage to target creature or player equal to half the sacrificed creature's power, rounded down. SVar:X:Sacrificed$CardPower/HalfDown SVar:RemAIDeck:True SVar:RemRandomDeck:True diff --git a/res/cardsfolder/f/fruition.txt b/res/cardsfolder/f/fruition.txt index 743bb54c0c3..997819b1159 100644 --- a/res/cardsfolder/f/fruition.txt +++ b/res/cardsfolder/f/fruition.txt @@ -2,7 +2,7 @@ Name:Fruition ManaCost:G Types:Sorcery Text:no text -A:SP$ GainLife | Cost$ G | LifeAmount$ X | SpellDescription$ You gain 1 life for each Forest on the battlefield. +A:SP$ GainLife | Cost$ G | LifeAmount$ X | References$ X | SpellDescription$ You gain 1 life for each Forest on the battlefield. SVar:X:Count$TypeOnBattlefield.Forest SVar:Rarity:Common SVar:Picture:http://serv4.tcgimages.eu/img/cards/Portal/fruition.jpg diff --git a/res/cardsfolder/f/fumiko_the_lowblood.txt b/res/cardsfolder/f/fumiko_the_lowblood.txt index f997c235c0d..c22bd76f3ec 100644 --- a/res/cardsfolder/f/fumiko_the_lowblood.txt +++ b/res/cardsfolder/f/fumiko_the_lowblood.txt @@ -6,7 +6,7 @@ PT:3/2 S:Mode$ Continuous | Affected$ Creature.YouDontCtrl | AddHiddenKeyword$ HIDDEN CARDNAME attacks each turn if able. | Description$ Creatures your opponents control attack each turn if able. T:Mode$ Blocks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ CARDNAME has bushido X, where X is the number of attacking creatures. (When this blocks or becomes blocked, it gets +X/+X until end of turn.) T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigPump | Secondary$ True | TriggerDescription$ CARDNAME has bushido X, where X is the number of attacking creatures. (When this blocks or becomes blocked, it gets +X/+X until end of turn.) -SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ X | NumDef$ X +SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ X | NumDef$ X | References$ X SVar:X:Count$Valid Creature.attacking SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/fumiko_the_lowblood.jpg diff --git a/res/cardsfolder/f/furnace_of_rath.txt b/res/cardsfolder/f/furnace_of_rath.txt index d59271d575b..245dfe1a9f0 100644 --- a/res/cardsfolder/f/furnace_of_rath.txt +++ b/res/cardsfolder/f/furnace_of_rath.txt @@ -4,8 +4,8 @@ Types:Enchantment Text:no text R:Event$ DamageDone | ValidSource$ Card | ValidTarget$ Creature,Player | ReplaceWith$ DmgTwice | IsCombat$ False | Description$ If a source would deal damage to a creature or player, it deals double that damage to that creature or player instead. R:Event$ DamageDone | ValidSource$ Card | ValidTarget$ Creature,Player | ReplaceWith$ DmgTwiceCombat | IsCombat$ True | Secondary$ True | Description$ If a source would deal damage to a creature or player, it deals double that damage to that creature or player instead. -SVar:DmgTwice:AB$DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X -SVar:DmgTwiceCombat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X +SVar:DmgTwice:AB$DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X | References$ X +SVar:DmgTwiceCombat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X | References$ X SVar:X:ReplaceCount$DamageAmount/Twice SVar:PlayMain1:TRUE SVar:RemRandomDeck:True diff --git a/res/cardsfolder/g/gaeas_cradle.txt b/res/cardsfolder/g/gaeas_cradle.txt index 8dc61a23941..82e8796461d 100644 --- a/res/cardsfolder/g/gaeas_cradle.txt +++ b/res/cardsfolder/g/gaeas_cradle.txt @@ -2,7 +2,7 @@ Name:Gaea's Cradle ManaCost:no cost Types:Legendary Land Text:no text -A:AB$ Mana | Cost$ T | Produced$ G | Amount$ X | SpellDescription$ Add G to your mana pool for each Creature you control. +A:AB$ Mana | Cost$ T | Produced$ G | Amount$ X | References$ X | SpellDescription$ Add G to your mana pool for each Creature you control. SVar:X:Count$Valid Creature.YouCtrl SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/g/gaeas_might.txt b/res/cardsfolder/g/gaeas_might.txt index 33a63a13825..1fcb77d3f61 100644 --- a/res/cardsfolder/g/gaeas_might.txt +++ b/res/cardsfolder/g/gaeas_might.txt @@ -2,7 +2,7 @@ Name:Gaea's Might ManaCost:G Types:Instant Text:no text -A:SP$ Pump | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | SpellDescription$ Domain - Target creature gets +1/+1 until end of turn for each basic land type among lands you control. +A:SP$ Pump | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | References$ X | SpellDescription$ Domain - Target creature gets +1/+1 until end of turn for each basic land type among lands you control. SVar:X:Count$Domain SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/g/galvanic_blast.txt b/res/cardsfolder/g/galvanic_blast.txt index c2e8c114993..fbc76089ee7 100644 --- a/res/cardsfolder/g/galvanic_blast.txt +++ b/res/cardsfolder/g/galvanic_blast.txt @@ -2,7 +2,7 @@ Name:Galvanic Blast ManaCost:R Types:Instant Text:no text -A:SP$ DealDamage | Cost$ R | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals 2 damage to target creature or player. Metalcraft - CARDNAME deals 4 damage to that creature or player instead if you control 3 or more artifacts. +A:SP$ DealDamage | Cost$ R | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals 2 damage to target creature or player. Metalcraft - CARDNAME deals 4 damage to that creature or player instead if you control 3 or more artifacts. SVar:X:Count$Metalcraft.4.2 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/galvanic_blast.jpg diff --git a/res/cardsfolder/g/gang_of_elk.txt b/res/cardsfolder/g/gang_of_elk.txt index 6b8b10048f5..41efebb79bb 100644 --- a/res/cardsfolder/g/gang_of_elk.txt +++ b/res/cardsfolder/g/gang_of_elk.txt @@ -4,7 +4,7 @@ Types:Creature Elk Beast Text:no text PT:5/4 T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME becomes blocked, it gets +2/+2 until end of turn for each creature blocking it. -SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ +X | NumDef$ +X +SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ +X | NumDef$ +X | References$ X SVar:X:TriggerCount$NumBlockers/Times.2 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/gang_of_elk.jpg diff --git a/res/cardsfolder/g/garruk_primal_hunter.txt b/res/cardsfolder/g/garruk_primal_hunter.txt index 6b5b2f21dab..f70c506bd3a 100644 --- a/res/cardsfolder/g/garruk_primal_hunter.txt +++ b/res/cardsfolder/g/garruk_primal_hunter.txt @@ -4,7 +4,7 @@ Types:Planeswalker Garruk Text:no text Loyalty:3 A:AB$ Token | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | TokenAmount$ 1 | TokenName$ Beast | TokenTypes$ Creature,Beast | TokenOwner$ You | TokenColors$ Green | TokenPower$ 3 | TokenToughness$ 3 | SpellDescription$ Put a 3/3 green Beast creature token onto the battlefield. -A:AB$ Draw | Cost$ SubCounter<3/LOYALTY> | Planeswalker$ True | Defined$ You | NumCards$ X | SpellDescription$ Draw cards equal to the greatest power among creatures you control. +A:AB$ Draw | Cost$ SubCounter<3/LOYALTY> | Planeswalker$ True | Defined$ You | NumCards$ X | References$ X | SpellDescription$ Draw cards equal to the greatest power among creatures you control. SVar:X:Count$GreatestPowerYouControl A:AB$ Token | Cost$ SubCounter<6/LOYALTY> | Planeswalker$ True | Ultimate$ True | TokenAmount$ Y | TokenName$ Wurm | TokenTypes$ Creature,Wurm | TokenOwner$ You | TokenColors$ Green | TokenPower$ 6 | TokenToughness$ 6 | SpellDescription$ Put a 6/6 green Wurm creature token onto the battlefield for each land you control. SVar:Y:Count$Valid Land.YouCtrl diff --git a/res/cardsfolder/g/garruk_relentless_garruk_the_veil_cursed.txt b/res/cardsfolder/g/garruk_relentless_garruk_the_veil_cursed.txt index 3250a59092e..377ea477da5 100644 --- a/res/cardsfolder/g/garruk_relentless_garruk_the_veil_cursed.txt +++ b/res/cardsfolder/g/garruk_relentless_garruk_the_veil_cursed.txt @@ -5,7 +5,7 @@ Text:no text Loyalty:3 T:Mode$ Always | IsPresent$ Card.Self+counters_LE2_LOYALTY | Execute$ TrigTransform | TriggerDescription$ When CARDNAME has two or fewer loyalty counters on him, transform him. A:AB$ DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 3 | SubAbility$ DamageThis | Planeswalker$ True | SpellDescription$ CARDNAME deals 3 damage to target creature. That creature deals damage equal to its power to him. -A:AB$ Token | Cost$ 0 | TokenAmount$ 1 | TokenName$ Wolf | TokenColors$ Green | TokenTypes$ Creature,Wolf | TokenOwner$ You | TokenPower$ 2 | TokenToughness$ 2 | Planeswalker$ True | SpellDescription$ Put a 2/2 green Wolf creature token onto the battlefield. +A:AB$ Token | Cost$ 0 | TokenAmount$ 1 | TokenName$ Wolf | TokenColors$ Green | TokenTypes$ Creature,Wolf | TokenOwner$ You | TokenPower$ 2 | TokenToughness$ 2 | Planeswalker$ True | References$ Y | SpellDescription$ Put a 2/2 green Wolf creature token onto the battlefield. SVar:DamageThis:DB$DealDamage | Defined$ Self | DamageSource$ Targeted | NumDmg$ Y SVar:Y:Targeted$CardPower SVar:TrigTransform:AB$SetState | Cost$ 0 | Defined$ Self | Mode$ Transform @@ -24,7 +24,7 @@ Text:no text Loyalty:3 A:AB$ Token | Cost$ AddCounter<1/LOYALTY> | TokenAmount$ 1 | TokenName$ Wolf | TokenImage$ B 1 1 Wolf |TokenColors$ Black | TokenTypes$ Creature,Wolf | TokenOwner$ You | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Deathtouch | Planeswalker$ True | SpellDescription$ Put a 1/1 black Wolf creature token with deathtouch onto the battlefield. A:AB$ Sacrifice | Cost$ SubCounter<1/LOYALTY> | Defined$ You | SacValid$ Creature | SacMessage$ Creature | SubAbility$ DBSearch | Planeswalker$ True | SpellDescription$ Sacrifice a creature.If you do, search your library for a creature card, reveal it, put it into your hand, then shuffle your library. -A:AB$ PumpAll | Cost$ SubCounter<3/LOYALTY> | ValidCards$ Creature.YouCtrl | KW$ Trample | NumAtt$ X | NumDef$ X | Planeswalker$ True | Ultimate$ True | SpellDescription$ Creatures you control gain trample and get +X/+X until end of turn, where X is the number of creature cards in your graveyard. +A:AB$ PumpAll | Cost$ SubCounter<3/LOYALTY> | ValidCards$ Creature.YouCtrl | KW$ Trample | NumAtt$ X | NumDef$ X | Planeswalker$ True | Ultimate$ True | References$ X | SpellDescription$ Creatures you control gain trample and get +X/+X until end of turn, where X is the number of creature cards in your graveyard. SVar:X:Count$TypeInYourYard.Creature SVar:DBSearch:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Creature | ChangeNum$ 1 SVar:Picture:http://www.wizards.com/global/images/magic/general/garruk_the_veil_cursed.jpg diff --git a/res/cardsfolder/g/garzas_assassin.txt b/res/cardsfolder/g/garzas_assassin.txt index 7a78f60fb9e..07204d36b01 100644 --- a/res/cardsfolder/g/garzas_assassin.txt +++ b/res/cardsfolder/g/garzas_assassin.txt @@ -4,7 +4,7 @@ Types:Creature Human Assassin Text:no text PT:2/2 K:Recover:PayLife -A:AB$ Destroy | Cost$ Sac<1/CARDNAME> | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonblack creature | SpellDescription$ Destroy target nonblack creature. +A:AB$ Destroy | Cost$ Sac<1/CARDNAME> | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonblack creature | References$ X | SpellDescription$ Destroy target nonblack creature. SVar:X:Count$YourLifeTotal/HalfUp SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/garzas_assassin.jpg diff --git a/res/cardsfolder/g/gather_the_townsfolk.txt b/res/cardsfolder/g/gather_the_townsfolk.txt index 035b1e26578..f47e279a73a 100644 --- a/res/cardsfolder/g/gather_the_townsfolk.txt +++ b/res/cardsfolder/g/gather_the_townsfolk.txt @@ -2,7 +2,7 @@ Name:Gather the Townsfolk ManaCost:1 W Types:Sorcery Text:no text -A:SP$ Token | Cost$ 1 W | TokenImage$ W 1 1 Human dka | TokenAmount$ X | TokenName$ Human | TokenTypes$ Creature,Human | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put two 1/1 white Human creature tokens onto the battlefield. Fateful Hour - If you have 5 or less life, put 5 of those tokens onto the battlefield instead. +A:SP$ Token | Cost$ 1 W | TokenImage$ W 1 1 Human dka | TokenAmount$ X | TokenName$ Human | TokenTypes$ Creature,Human | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | References$ X | SpellDescription$ Put two 1/1 white Human creature tokens onto the battlefield. Fateful Hour - If you have 5 or less life, put 5 of those tokens onto the battlefield instead. SVar:X:Count$FatefulHour.5.2 SVar:Picture:http://www.wizards.com/global/images/magic/general/gather_the_townsfolk.jpg SetInfo:DKA|Common|http://magiccards.info/scans/en/dka/8.jpg diff --git a/res/cardsfolder/g/gaze_of_adamaro.txt b/res/cardsfolder/g/gaze_of_adamaro.txt index c97b2453c84..0b148067914 100644 --- a/res/cardsfolder/g/gaze_of_adamaro.txt +++ b/res/cardsfolder/g/gaze_of_adamaro.txt @@ -2,7 +2,7 @@ Name:Gaze of Adamaro ManaCost:2 R R Types:Instant Arcane Text:no text -A:SP$ DealDamage | Cost$ 2 R R | ValidTgts$ Player | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to the number of cards in target player's hand to that player. +A:SP$ DealDamage | Cost$ 2 R R | ValidTgts$ Player | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to the number of cards in target player's hand to that player. SVar:X:TargetedPlayer$CardsInHand SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/g/gaze_of_pain.txt b/res/cardsfolder/g/gaze_of_pain.txt index 78f071de8df..e6cc6c08ba8 100644 --- a/res/cardsfolder/g/gaze_of_pain.txt +++ b/res/cardsfolder/g/gaze_of_pain.txt @@ -4,7 +4,7 @@ Types:Sorcery Text:no text A:SP$ Effect | Cost$ 1 B | Name$ Gaze of Pain Effect | Triggers$ TrigAttackerUnblocked | SVars$ Damage,DBPump,X | SpellDescription$ Until end of turn, whenever a creature you control attacks and isn't blocked, you may choose to have it deal damage equal to its power to a target creature. If you do, it assigns no combat damage this turn. SVar:TrigAttackerUnblocked:Mode$ AttackerUnblocked | ValidCard$ Creature.YouCtrl | Execute$ Damage | OptionalDecider$ You | TriggerDescription$ Until end of turn, whenever a creature you control attacks and isn't blocked, you may choose to have it deal damage equal to its power to a target creature. If you do, it assigns no combat damage this turn. -SVar:Damage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DBPump +SVar:Damage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DBPump | References$ X SVar:DBPump:DB$Pump | Defined$ TriggeredAttacker | KW$ HIDDEN CARDNAME assigns no combat damage SVar:X:TriggeredAttacker$CardPower SVar:RemAIDeck:True diff --git a/res/cardsfolder/g/geist_honored_monk.txt b/res/cardsfolder/g/geist_honored_monk.txt index 6e91b3497c8..9eda6d38a53 100644 --- a/res/cardsfolder/g/geist_honored_monk.txt +++ b/res/cardsfolder/g/geist_honored_monk.txt @@ -6,7 +6,7 @@ PT:*/* K:Vigilance S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of creatures you control. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters the battlefield, put two 1/1 white Spirit creature tokens with flying onto the battlefield. -SVar:TrigToken:AB$ Token | Cost$ 0 | TokenImage$ W 1 1 Spirit | TokenAmount$ 2 | TokenName$ Spirit | TokenTypes$ Creature,Spirit | TokenOwner$ You | TokenPower$ 1 | TokenToughness$ 1 | TokenColors$ White | TokenKeywords$ Flying +SVar:TrigToken:AB$ Token | Cost$ 0 | TokenImage$ W 1 1 Spirit | TokenAmount$ 2 | TokenName$ Spirit | TokenTypes$ Creature,Spirit | TokenOwner$ You | TokenPower$ 1 | TokenToughness$ 1 | TokenColors$ White | TokenKeywords$ Flying | References$ X SVar:X:Count$Valid Creature.YouCtrl SVar:BuffedBy:Creature SVar:Rarity:Rare diff --git a/res/cardsfolder/g/gelatinous_genesis.txt b/res/cardsfolder/g/gelatinous_genesis.txt index 20ce3e0e14d..3b45ef843da 100644 --- a/res/cardsfolder/g/gelatinous_genesis.txt +++ b/res/cardsfolder/g/gelatinous_genesis.txt @@ -2,7 +2,7 @@ Name:Gelatinous Genesis ManaCost:X X G Types:Sorcery Text:no text -A:SP$ Token | Cost$ X X G | TokenImage$ G X X Ooze | TokenAmount$ X | TokenName$ Ooze | TokenTypes$ Creature,Ooze | TokenOwner$ You | TokenColors$ Green | TokenPower$ X | TokenToughness$ X | SpellDescription$ Put X X/X green Ooze creature tokens onto the battlefield. +A:SP$ Token | Cost$ X X G | TokenImage$ G X X Ooze | TokenAmount$ X | TokenName$ Ooze | TokenTypes$ Creature,Ooze | TokenOwner$ You | TokenColors$ Green | TokenPower$ X | TokenToughness$ X | References$ X | SpellDescription$ Put X X/X green Ooze creature tokens onto the battlefield. SVar:X:Count$xPaid SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/gelatinous_genesis.jpg diff --git a/res/cardsfolder/g/gemini_engine.txt b/res/cardsfolder/g/gemini_engine.txt index c59b5221269..ef61429e88a 100644 --- a/res/cardsfolder/g/gemini_engine.txt +++ b/res/cardsfolder/g/gemini_engine.txt @@ -4,7 +4,7 @@ Types:Artifact Creature Construct Text:no text PT:3/4 T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ Whenever CARDNAME attacks, put a colorless Construct artifact creature token named Twin onto the battlefield attacking. Its power is equal to CARDNAME's power and its toughness is equal to CARDNAME's toughness. Sacrifice the token at end of combat. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ 1 | TokenName$ Twin | TokenTypes$ Artifact,Creature,Construct | TokenOwner$ You | TokenColors$ Colorless | TokenPower$ X | TokenToughness$ Y | TokenAttacking$ True | TokenTriggers$ TrigSac | TokenSVars$ TrigSacrifice +SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ 1 | TokenName$ Twin | TokenTypes$ Artifact,Creature,Construct | TokenOwner$ You | TokenColors$ Colorless | TokenPower$ X | TokenToughness$ Y | TokenAttacking$ True | TokenTriggers$ TrigSac | TokenSVars$ TrigSacrifice | References$ X,Y SVar:TrigSac:Mode$ Phase | Phase$ EndCombat | Execute$ TrigSacrifice | TriggerDescription$ At end of combat, Sacrifice the Twin token. SVar:TrigSacrifice:AB$ Sacrifice | Cost$ 0 | SacValid$ Self | Mandatory$ True SVar:X:Count$CardPower diff --git a/res/cardsfolder/g/gempalm_incinerator.txt b/res/cardsfolder/g/gempalm_incinerator.txt index 9084046d3c7..fe52cf5f31a 100644 --- a/res/cardsfolder/g/gempalm_incinerator.txt +++ b/res/cardsfolder/g/gempalm_incinerator.txt @@ -5,7 +5,7 @@ Text:no text PT:2/1 K:Cycling:1 R T:Mode$ Cycled | ValidCard$ Card.Self | Execute$ TrigDamage | OptionalDecider$ You | TriggerDescription$ When you cycle CARDNAME, you may have it deal X damage to target creature, where X is the number of Goblins on the battlefield. -SVar:TrigDamage:AB$ DealDamage | Cost$ 0 | Tgt$ TgtC | NumDmg$ X +SVar:TrigDamage:AB$ DealDamage | Cost$ 0 | Tgt$ TgtC | NumDmg$ X | References$ X SVar:X:Count$Valid Goblin SVar:Picture:http://www.wizards.com/global/images/magic/general/gempalm_incinerator.jpg SVar:Rarity:Uncommon diff --git a/res/cardsfolder/g/gempalm_polluter.txt b/res/cardsfolder/g/gempalm_polluter.txt index 9e4c615ea1d..789233c202c 100644 --- a/res/cardsfolder/g/gempalm_polluter.txt +++ b/res/cardsfolder/g/gempalm_polluter.txt @@ -5,7 +5,7 @@ Text:no text PT:4/3 K:Cycling:B B T:Mode$ Cycled | ValidCard$ Card.Self | Execute$ TrigLoseLife | OptionalDecider$ You | TriggerDescription$ When you cycle CARDNAME, you may have target player lose life equal to the number of Zombies on the battlefield. -SVar:TrigLoseLife:AB$ LoseLife | Cost$ 0 | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ X +SVar:TrigLoseLife:AB$ LoseLife | Cost$ 0 | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ X | References$ X SVar:X:Count$Valid Zombie SVar:Picture:http://www.wizards.com/global/images/magic/general/gempalm_polluter.jpg SVar:Rarity:Common diff --git a/res/cardsfolder/g/genesis_wave.txt b/res/cardsfolder/g/genesis_wave.txt index 75ac8996007..2c2b024032d 100644 --- a/res/cardsfolder/g/genesis_wave.txt +++ b/res/cardsfolder/g/genesis_wave.txt @@ -2,7 +2,7 @@ Name:Genesis Wave ManaCost:X G G G Types:Sorcery Text:no text -A:SP$ Dig | Cost$ X G G G | DigNum$ X | Reveal$ True | AnyNumber$ True | ChangeValid$ Permanent.cmcLEX | DestinationZone$ Battlefield | DestinationZone2$ Graveyard | SpellDescription$ Reveal the top X cards of your library. You may put any number of permanent cards with converted mana cost X or less from among them onto the battlefield. Then put all cards revealed this way that weren't put onto the battlefield into your graveyard. +A:SP$ Dig | Cost$ X G G G | DigNum$ X | Reveal$ True | AnyNumber$ True | ChangeValid$ Permanent.cmcLEX | DestinationZone$ Battlefield | DestinationZone2$ Graveyard | References$ X | SpellDescription$ Reveal the top X cards of your library. You may put any number of permanent cards with converted mana cost X or less from among them onto the battlefield. Then put all cards revealed this way that weren't put onto the battlefield into your graveyard. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/g/genju_of_the_fields.txt b/res/cardsfolder/g/genju_of_the_fields.txt index 34ce39334ad..1185ebf3bb9 100644 --- a/res/cardsfolder/g/genju_of_the_fields.txt +++ b/res/cardsfolder/g/genju_of_the_fields.txt @@ -8,7 +8,7 @@ A:AB$ Animate | Cost$ 2 | Defined$ Enchanted | Power$ 2 | Toughness$ 5 | Types$ T:Mode$ ChangesZone | ValidCard$ Card.AttachedBy | Origin$ Battlefield | Destination$ Graveyard | TriggerZones$ Battlefield | Execute$ TrigReturnOwner | OptionalDecider$ You | TriggerDescription$ When enchanted Plains is put into a graveyard, you may return CARDNAME from your graveyard to your hand. SVar:TrigReturnOwner:AB$ChangeZone | Cost$ 0 | Defined$ Self | Origin$ Graveyard | Destination$ Hand SVar:PseudoLifelink:Mode$ DamageDone | ValidSource$ Card.Self | Execute$ GenjuTrigGain | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals damage, you gain that much life. -SVar:GenjuTrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ GenjuX +SVar:GenjuTrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ GenjuX | References$ GenjuX SVar:GenjuX:TriggerCount$DamageAmount SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/genju_of_the_fields.jpg diff --git a/res/cardsfolder/g/gerrard_capashen.txt b/res/cardsfolder/g/gerrard_capashen.txt index 7ff8c8acc65..39c96ef2826 100644 --- a/res/cardsfolder/g/gerrard_capashen.txt +++ b/res/cardsfolder/g/gerrard_capashen.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Human Soldier Text:no text PT:3/4 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigGainLife | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, you gain 1 life for each card in target opponent's hand. -SVar:TrigGainLife:AB$ GainLife | Cost$ 0 | LifeAmount$ X | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | Defined$ You +SVar:TrigGainLife:AB$ GainLife | Cost$ 0 | LifeAmount$ X | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | Defined$ You | References$ X A:AB$ Tap | Cost$ 3 W | ValidTgts$ Creature | TgtPrompt$ Select target creature | IsPresent$ Card.Self+attacking | SpellDescription$ Tap target creature. Activate this ability only if CARDNAME is attacking. SVar:X:TargetedPlayer$CardsInHand SVar:Rarity:Rare diff --git a/res/cardsfolder/g/gerrards_verdict.txt b/res/cardsfolder/g/gerrards_verdict.txt index 03b7b39e4df..c94a52fe33f 100644 --- a/res/cardsfolder/g/gerrards_verdict.txt +++ b/res/cardsfolder/g/gerrards_verdict.txt @@ -3,7 +3,7 @@ ManaCost:W B Types:Sorcery Text:no text A:SP$ Discard | Cost$ W B | ValidTgts$ Player | TgtPrompt$ Select target player | Mode$ TgtChoose | NumCards$ 2 | RememberDiscarded$ True | SubAbility$ DBGainLife1 | SpellDescription$ Target player discards two cards. You gain 3 life for each land card discarded this way. -SVar:DBGainLife1:DB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | SubAbility$ DBCleanup +SVar:DBGainLife1:DB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | SubAbility$ DBCleanup | References$ X SVar:X:Remembered$Valid Land/Times.3 SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/g/gerrards_wisdom.txt b/res/cardsfolder/g/gerrards_wisdom.txt index 271f884eb5d..0ac851b0241 100644 --- a/res/cardsfolder/g/gerrards_wisdom.txt +++ b/res/cardsfolder/g/gerrards_wisdom.txt @@ -2,7 +2,7 @@ Name:Gerrard's Wisdom ManaCost:2 W W Types:Sorcery Text:no text -A:SP$ GainLife | Cost$ 2 W W | LifeAmount$ X | SpellDescription$ You gain 2 life for each card in your hand. +A:SP$ GainLife | Cost$ 2 W W | LifeAmount$ X | References$ X | SpellDescription$ You gain 2 life for each card in your hand. SVar:X:Count$CardsInYourHand/Times.2 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/gerrards_wisdom.jpg diff --git a/res/cardsfolder/g/geth_lord_of_the_vault.txt b/res/cardsfolder/g/geth_lord_of_the_vault.txt index 67cf318c785..41d476f7a9e 100644 --- a/res/cardsfolder/g/geth_lord_of_the_vault.txt +++ b/res/cardsfolder/g/geth_lord_of_the_vault.txt @@ -5,7 +5,7 @@ Text:no text PT:5/5 K:Intimidate A:AB$ ChangeZone | Cost$ X B | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | TgtPrompt$ Choose target creature card in an opponent's graveyard | ValidTgts$ Creature.YouDontCtrl,Artifact.YouDontCtrl | Tapped$ True | SubAbility$ DBMill | SpellDescription$ Put target artifact or creature card with converted mana cost X from an opponent's graveyard onto the battlefield under your control tapped. Then that player puts the top X cards of his or her library into his or her graveyard. -SVar:DBMill:DB$Mill | NumCards$ X | Defined$ Opponent +SVar:DBMill:DB$Mill | NumCards$ X | Defined$ Opponent | References$ X SVar:X:Targeted$CardManaCost SVar:Rarity:Mythic SVar:Picture:http://www.wizards.com/global/images/magic/general/geth_lord_of_the_vault.jpg diff --git a/res/cardsfolder/g/ghastly_demise.txt b/res/cardsfolder/g/ghastly_demise.txt index b2f91ee7fd1..d46b2c396ff 100644 --- a/res/cardsfolder/g/ghastly_demise.txt +++ b/res/cardsfolder/g/ghastly_demise.txt @@ -2,7 +2,7 @@ Name:Ghastly Demise ManaCost:B Types:Instant Text:no text -A:SP$ Destroy | Cost$ B | ValidTgts$ Creature.nonBlack+toughnessLEX | TgtPrompt$ Select target nonblack creature with toughness less than or equal to the number of cards in your graveyard. | SpellDescription$ Destroy target nonblack creature if its toughness is less than or equal to the number of cards in your graveyard. +A:SP$ Destroy | Cost$ B | ValidTgts$ Creature.nonBlack+toughnessLEX | TgtPrompt$ Select target nonblack creature with toughness less than or equal to the number of cards in your graveyard. | References$ X | SpellDescription$ Destroy target nonblack creature if its toughness is less than or equal to the number of cards in your graveyard. SVar:X:Count$InYourYard SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/ghastly_demise.jpg diff --git a/res/cardsfolder/g/ghitu_fire_eater.txt b/res/cardsfolder/g/ghitu_fire_eater.txt index 309f2be0415..a6ef5e087df 100644 --- a/res/cardsfolder/g/ghitu_fire_eater.txt +++ b/res/cardsfolder/g/ghitu_fire_eater.txt @@ -3,7 +3,7 @@ ManaCost:2 R Types:Creature Human Nomad Text:no text PT:2/2 -A:AB$ DealDamage | Cost$ Sac<1/CARDNAME> | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to its power to target creature or player. +A:AB$ DealDamage | Cost$ Sac<1/CARDNAME> | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to its power to target creature or player. SVar:X:Count$CardPower SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/ghitu_fire_eater.jpg diff --git a/res/cardsfolder/g/ghouls_feast.txt b/res/cardsfolder/g/ghouls_feast.txt index cde88b29d5b..1b981fdc157 100644 --- a/res/cardsfolder/g/ghouls_feast.txt +++ b/res/cardsfolder/g/ghouls_feast.txt @@ -2,7 +2,7 @@ Name:Ghoul's Feast ManaCost:1 B Types:Instant Text:no text -A:SP$ Pump | Cost$ 1 B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | SpellDescription$ Target creature gets +X/+0 until end of turn, where X is the number of creature cards in your graveyard. +A:SP$ Pump | Cost$ 1 B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | References$ X | SpellDescription$ Target creature gets +X/+0 until end of turn, where X is the number of creature cards in your graveyard. SVar:X:Count$TypeInYourYard.Creature SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/ghouls_feast.jpg diff --git a/res/cardsfolder/g/gift_of_estates.txt b/res/cardsfolder/g/gift_of_estates.txt index 6919f7aa13f..6f0f3c7c51c 100644 --- a/res/cardsfolder/g/gift_of_estates.txt +++ b/res/cardsfolder/g/gift_of_estates.txt @@ -2,7 +2,7 @@ Name:Gift of Estates ManaCost:1 W Types:Sorcery Text:no text -A:SP$ ChangeZone | Cost$ 1 W | ConditionPresent$ Land.YouCtrl | ConditionCompare$ LTX | Origin$ Library | Destination$ Hand | ChangeType$ Plains | ChangeNum$ 3 | SpellDescription$ If an opponent controls more lands than you, search your library for up to three Plains cards and put them into your hand. +A:SP$ ChangeZone | Cost$ 1 W | ConditionPresent$ Land.YouCtrl | ConditionCompare$ LTX | Origin$ Library | Destination$ Hand | ChangeType$ Plains | ChangeNum$ 3 | References$ X | SpellDescription$ If an opponent controls more lands than you, search your library for up to three Plains cards and put them into your hand. SVar:X:Count$Valid Land.YouDontCtrl SVar:Rarity:Uncommon SVar:Picture:http://resources.wizards.com/magic/cards/9ed/en-us/card84504.jpg diff --git a/res/cardsfolder/g/gisela_blade_of_goldnight.txt b/res/cardsfolder/g/gisela_blade_of_goldnight.txt index 79e3b2c0228..176f1e94f92 100644 --- a/res/cardsfolder/g/gisela_blade_of_goldnight.txt +++ b/res/cardsfolder/g/gisela_blade_of_goldnight.txt @@ -7,8 +7,8 @@ K:Flying K:First Strike R:Event$ DamageDone | ValidSource$ Card | ValidTarget$ Opponent,Permanent.YouDontCtrl | ReplaceWith$ DmgTwice | IsCombat$ False | Description$ If a source would deal damage to an opponent or a permanent an opponent controls, that source deals double that damage to that player or permanent instead. R:Event$ DamageDone | ValidSource$ Card | ValidTarget$ Opponent,Permanent.YouDontCtrl | ReplaceWith$ DmgTwiceCombat | IsCombat$ True | Secondary$ True | Description$ If a source would deal damage to an opponent or a permanent an opponent controls, that source deals double that damage to that player or permanent instead. -SVar:DmgTwice:AB$DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X -SVar:DmgTwiceCombat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X +SVar:DmgTwice:AB$DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X | References$ X +SVar:DmgTwiceCombat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X | References$ X SVar:X:ReplaceCount$DamageAmount/Twice S:Mode$ PreventDamage | Target$ You,Permanent.YouCtrl | Amount$ HalfUp | Description$ If a source would deal damage to you or a permanent you control, prevent half that damage, rounded up. SVar:PlayMain1:TRUE diff --git a/res/cardsfolder/g/glimmerpost.txt b/res/cardsfolder/g/glimmerpost.txt index 769606a72e1..089a0be150e 100644 --- a/res/cardsfolder/g/glimmerpost.txt +++ b/res/cardsfolder/g/glimmerpost.txt @@ -4,7 +4,7 @@ Types:Land Locus Text:no text A:AB$ Mana | Cost$ T | Produced$ 1 | SpellDescription$ Add 1 to your mana pool. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigGainLife | TriggerDescription$ When CARDNAME enters the battlefield, you gain 1 life for each Locus on the battlefield. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | LifeAmount$ X +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | LifeAmount$ X | References$ X SVar:X:Count$TypeOnBattlefield.Locus SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/glimmerpost.jpg diff --git a/res/cardsfolder/g/glint_eye_nephilim.txt b/res/cardsfolder/g/glint_eye_nephilim.txt index 8628df8dee7..0c4d0cfd2db 100644 --- a/res/cardsfolder/g/glint_eye_nephilim.txt +++ b/res/cardsfolder/g/glint_eye_nephilim.txt @@ -4,7 +4,7 @@ Types:Creature Nephilim Text:no text PT:2/2 T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | Execute$ TrigDraw | CombatDamage$ True | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, draw that many cards. -SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ X +SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ X | References$ X SVar:X:TriggerCount$DamageAmount A:AB$ Pump | Cost$ 1 Discard<1/Card> | NumAtt$ +1 | NumDef$ +1 | SpellDescription$ CARDNAME gets +1/+1 until end of turn. SVar:Rarity:Rare diff --git a/res/cardsfolder/g/glint_hawk.txt b/res/cardsfolder/g/glint_hawk.txt index ad0e9fd336a..eac2eb6e595 100644 --- a/res/cardsfolder/g/glint_hawk.txt +++ b/res/cardsfolder/g/glint_hawk.txt @@ -6,7 +6,7 @@ PT:2/2 K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you return an artifact you control to its owner's hand. SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | Origin$ Battlefield | Destination$ Hand | Hidden$ True | ChangeType$ Artifact.YouCtrl | RememberChanged$ True | SubAbility$ DBSac -SVar:DBSac:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 +SVar:DBSac:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:NeedsToPlay:Artifact.YouCtrl diff --git a/res/cardsfolder/g/glissa_sunseeker.txt b/res/cardsfolder/g/glissa_sunseeker.txt index 8bd9f5e7003..068adaf8501 100644 --- a/res/cardsfolder/g/glissa_sunseeker.txt +++ b/res/cardsfolder/g/glissa_sunseeker.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Elf Text:no text PT:3/2 K:First Strike -A:AB$ Destroy | Cost$ T | ValidTgts$ Artifact | TgtPrompt$ Select target artifact | ConditionCheckSVar$ Y | ConditionSVarCompare$ EQX | SpellDescription$ Destroy target artifact if its converted mana cost is equal to the amount of mana in your mana pool. +A:AB$ Destroy | Cost$ T | ValidTgts$ Artifact | TgtPrompt$ Select target artifact | ConditionCheckSVar$ Y | ConditionSVarCompare$ EQX | References$ X,Y | SpellDescription$ Destroy target artifact if its converted mana cost is equal to the amount of mana in your mana pool. SVar:X:Count$ManaPool:All SVar:Y:Targeted$CardManaCost #AI doesn't have a mana pool diff --git a/res/cardsfolder/g/gloom_surgeon.txt b/res/cardsfolder/g/gloom_surgeon.txt index 106f204f4ed..0802992ea3d 100644 --- a/res/cardsfolder/g/gloom_surgeon.txt +++ b/res/cardsfolder/g/gloom_surgeon.txt @@ -4,7 +4,7 @@ Types:Creature Spirit Text:no text PT:2/1 R:Event$ DamageDone | ValidTarget$ Card.Self | IsCombat$ True | ReplaceWith$ Exile | PreventionEffect$ True | Description$ If damage would be dealt to CARDNAME, prevent that damage and exile that many cards from the top of your library. -SVar:Exile:AB$ Dig | Cost$ 0 | DigNum$ X | ChangeNum$ All | ChangeValid$ Card | DestinationZone$ Exile +SVar:Exile:AB$ Dig | Cost$ 0 | DigNum$ X | ChangeNum$ All | ChangeValid$ Card | DestinationZone$ Exile | References$ X SVar:X:ReplaceCount$DamageAmount SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/gloom_surgeon.jpg diff --git a/res/cardsfolder/g/glyph_of_life.txt b/res/cardsfolder/g/glyph_of_life.txt index 8464363e7ff..43d9b1540d4 100644 --- a/res/cardsfolder/g/glyph_of_life.txt +++ b/res/cardsfolder/g/glyph_of_life.txt @@ -4,7 +4,7 @@ Types:Instant Text:no text A:SP$ Effect | Cost$ W | Name$ Glyph of Life Effect | ValidTgts$ Creature.Wall | TgtPrompt$ Select target Wall creature | Triggers$ TrigDamage | SVars$ TrigGainLife,X | RememberObjects$ Targeted | SpellDescription$ Until end of turn, whenever an attacking creature deals damage to target Wall creature, you gain that much life. SVar:TrigDamage:Mode$ DamageDone | ValidSource$ Creature.attacking | ValidTarget$ Creature.IsRemembered | Execute$ TrigGainLife | TriggerDescription$ Whenever an attacking creature deals damage to target Wall creature, you gain that much life. -SVar:TrigGainLife:AB$ GainLife | Cost$ 0 | LifeAmount$ X | Defined$ You +SVar:TrigGainLife:AB$ GainLife | Cost$ 0 | LifeAmount$ X | Defined$ You | References$ X SVar:X:TriggerCount$DamageAmount SVar:RemAIDeck:True SVar:RemRandomDeck:True diff --git a/res/cardsfolder/g/gnaw_to_the_bone.txt b/res/cardsfolder/g/gnaw_to_the_bone.txt index b5903b19985..6855eb07729 100644 --- a/res/cardsfolder/g/gnaw_to_the_bone.txt +++ b/res/cardsfolder/g/gnaw_to_the_bone.txt @@ -3,7 +3,7 @@ ManaCost:2 G Types:Instant Text:no text K:Flashback 2 G -A:SP$ GainLife | Cost$ 2 G | Defined$ You | LifeAmount$ X | SpellDescription$ You gain 2 life for each creature card in your graveyard. +A:SP$ GainLife | Cost$ 2 G | Defined$ You | LifeAmount$ X | References$ X | SpellDescription$ You gain 2 life for each creature card in your graveyard. SVar:X:Count$TypeInYourYard.Creature/Times.2 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/gnaw_to_the_bone.jpg diff --git a/res/cardsfolder/g/goblin_dynamo.txt b/res/cardsfolder/g/goblin_dynamo.txt index 88d88f7f0dd..1e64a1ed324 100644 --- a/res/cardsfolder/g/goblin_dynamo.txt +++ b/res/cardsfolder/g/goblin_dynamo.txt @@ -4,7 +4,7 @@ Types:Creature Goblin Mutant Text:no text PT:4/4 A:AB$ DealDamage | Cost$ T | Tgt$ TgtCP | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to target creature or player. -A:AB$ DealDamage | Cost$ X R T Sac<1/CARDNAME> | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target creature or player. +A:AB$ DealDamage | Cost$ X R T Sac<1/CARDNAME> | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to target creature or player. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/g/goblin_lyre.txt b/res/cardsfolder/g/goblin_lyre.txt index 37d9f3a1b67..f4b4c4d6878 100644 --- a/res/cardsfolder/g/goblin_lyre.txt +++ b/res/cardsfolder/g/goblin_lyre.txt @@ -3,8 +3,8 @@ ManaCost:3 Types:Artifact Text:no text A:AB$ FlipACoin | Cost$ Sac<1/CARDNAME> | WinSubAbility$ DBDamageOpp | LoseSubAbility$ DBDamageYou | ValidTgts$ Opponent | TgtPrompt$ Choose target opponent | SpellDescription$ Flip a coin. If you win the flip, Goblin Lyre deals damage to target opponent equal to the number of creatures you control. If you lose the flip, Goblin Lyre deals damage to you equal to the number of creatures that opponent controls. -SVar:DBDamageOpp:DB$ DealDamage | Cost$ 0 | Defined$ Targeted | NumDmg$ X -SVar:DBDamageYou:DB$ DealDamage | Cost$ 0 | Defined$ You | NumDmg$ Y +SVar:DBDamageOpp:DB$ DealDamage | Cost$ 0 | Defined$ Targeted | NumDmg$ X | References$ X +SVar:DBDamageYou:DB$ DealDamage | Cost$ 0 | Defined$ You | NumDmg$ Y | References$ Y SVar:X:Count$Valid Creature.YouCtrl SVar:Y:Count$Valid Creature.YouDontCtrl SVar:RemAIDeck:True diff --git a/res/cardsfolder/g/goblin_machinist.txt b/res/cardsfolder/g/goblin_machinist.txt index 620f12d8529..52d6a76ac2f 100644 --- a/res/cardsfolder/g/goblin_machinist.txt +++ b/res/cardsfolder/g/goblin_machinist.txt @@ -4,7 +4,7 @@ Types:Creature Goblin Text:no text PT:0/5 A:AB$ DigUntil | Cost$ 2 R | Valid$ Card.nonLand | ValidDescription$ nonland | RevealedDestination$ Library | RevealedLibraryPosition$ -1 | FoundDestination$ Library | FoundLibraryPosition$ -1 | RememberFound$ True | SubAbility$ DBPump | SpellDescription$ Reveal cards from the top of your library until you reveal a nonland card. CARDNAME gets +X/+0 until end of turn, where X is that card's converted mana cost. Put the revealed cards on the bottom of your library in any order. -SVar:DBPump:DB$ Pump | NumAtt$ RCX | SubAbility$ DBCleanup +SVar:DBPump:DB$ Pump | NumAtt$ RCX | SubAbility$ DBCleanup | References$ RCX SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:RCX:Remembered$CardManaCost SVar:RemAIDeck:True diff --git a/res/cardsfolder/g/goblin_offensive.txt b/res/cardsfolder/g/goblin_offensive.txt index 74dc5ac25c1..e2c958c1f65 100644 --- a/res/cardsfolder/g/goblin_offensive.txt +++ b/res/cardsfolder/g/goblin_offensive.txt @@ -2,7 +2,7 @@ Name:Goblin Offensive ManaCost:X 1 R R Types:Sorcery Text:no text -A:SP$ Token | Cost$ X 1 R R | TokenAmount$ X | TokenName$ Goblin | TokenTypes$ Creature,Goblin | TokenOwner$ You | TokenColors$ Red | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put X 1/1 red Goblin creature tokens onto the battlefield. +A:SP$ Token | Cost$ X 1 R R | TokenAmount$ X | TokenName$ Goblin | TokenTypes$ Creature,Goblin | TokenOwner$ You | TokenColors$ Red | TokenPower$ 1 | TokenToughness$ 1 | References$ X | SpellDescription$ Put X 1/1 red Goblin creature tokens onto the battlefield. SVar:X:Count$xPaid SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/goblin_offensive.jpg diff --git a/res/cardsfolder/g/goblin_piledriver.txt b/res/cardsfolder/g/goblin_piledriver.txt index 8fd83d4c860..20c3550ce14 100644 --- a/res/cardsfolder/g/goblin_piledriver.txt +++ b/res/cardsfolder/g/goblin_piledriver.txt @@ -5,7 +5,7 @@ Text:no text PT:1/2 K:Protection from blue T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, it gets +2/+0 until end of turn for each other attacking Goblin. -SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ X +SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ X | References$ X SVar:X:Count$Valid Goblin.attacking+Other/Times.2 SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/goblin_piledriver.jpg diff --git a/res/cardsfolder/g/goblin_razerunners.txt b/res/cardsfolder/g/goblin_razerunners.txt index 4f3d1fa056c..e2a5cccd1b2 100644 --- a/res/cardsfolder/g/goblin_razerunners.txt +++ b/res/cardsfolder/g/goblin_razerunners.txt @@ -5,7 +5,7 @@ Text:no text PT:3/4 A:AB$ PutCounter | Cost$ 1 R Sac<1/Land> | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Put a +1/+1 counter on CARDNAME. T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDealDamage | OptionalDecider$ You | TriggerDescription$ At the beginning of your end step, you may have CARDNAME deal damage equal to the number of +1/+1 counters on it to target player. -SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Tgt$ TgtP | NumDmg$ X +SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Tgt$ TgtP | NumDmg$ X | References$ X SVar:X:Count$CardCounters.P1P1 SVar:Picture:http://www.wizards.com/global/images/magic/general/goblin_razerunners.jpg SVar:Rarity:Rare diff --git a/res/cardsfolder/g/goblin_recruiter.txt b/res/cardsfolder/g/goblin_recruiter.txt index cd7a54e35be..5c7988d1f89 100644 --- a/res/cardsfolder/g/goblin_recruiter.txt +++ b/res/cardsfolder/g/goblin_recruiter.txt @@ -4,7 +4,7 @@ Types:Creature Goblin Text:no text PT:1/1 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield, search your library for any number of Goblin cards and reveal those cards. Shuffle your library, then put them on top of it in any order. -SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | ChangeNum$ X | ChangeType$ Goblin | Origin$ Library | Destination$ Library | LibraryPosition$ 0 +SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | ChangeNum$ X | ChangeType$ Goblin | Origin$ Library | Destination$ Library | LibraryPosition$ 0 | References$ X SVar:X:Count$InYourLibrary.Goblin SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/g/goblin_tinkerer.txt b/res/cardsfolder/g/goblin_tinkerer.txt index 0d54c4dcf0d..3fe6f316295 100644 --- a/res/cardsfolder/g/goblin_tinkerer.txt +++ b/res/cardsfolder/g/goblin_tinkerer.txt @@ -4,7 +4,7 @@ Types:Creature Goblin Artificer Text:no text PT:1/2 A:AB$ Destroy | Cost$ R T | ValidTgts$ Artifact | TgtPrompt$ Select target artifact | SubAbility$ DBDamage | SpellDescription$ Destroy target artifact. That artifact deals damage equal to its converted mana cost to CARDNAME. -SVar:DBDamage:DB$DealDamage | Defined$ Self | NumDmg$ X +SVar:DBDamage:DB$DealDamage | Defined$ Self | NumDmg$ X | References$ X SVar:X:Targeted$CardManaCost SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/goblin_tinkerer.jpg diff --git a/res/cardsfolder/g/goblin_war_strike.txt b/res/cardsfolder/g/goblin_war_strike.txt index a8163ca48dd..9c9fc72520d 100644 --- a/res/cardsfolder/g/goblin_war_strike.txt +++ b/res/cardsfolder/g/goblin_war_strike.txt @@ -2,7 +2,7 @@ Name:Goblin War Strike ManaCost:R Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ R | Tgt$ TgtP | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to the number of Goblins you control to target player. +A:SP$ DealDamage | Cost$ R | Tgt$ TgtP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to the number of Goblins you control to target player. SVar:X:Count$TypeYouCtrl.Goblin SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/g/golden_urn.txt b/res/cardsfolder/g/golden_urn.txt index ec587178379..ec0dea97033 100644 --- a/res/cardsfolder/g/golden_urn.txt +++ b/res/cardsfolder/g/golden_urn.txt @@ -3,7 +3,7 @@ ManaCost:1 Types:Artifact Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigPutCounter | OptionalDecider$ You | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, you may put a charge counter on CARDNAME. -A:AB$ GainLife | Cost$ T Sac<1/CARDNAME> | LifeAmount$ X | SpellDescription$ You gain life equal to the number of charge counters on CARDNAME. +A:AB$ GainLife | Cost$ T Sac<1/CARDNAME> | LifeAmount$ X | References$ X | SpellDescription$ You gain life equal to the number of charge counters on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ CHARGE | CounterNum$ 1 SVar:X:Count$CardCounters.CHARGE SVar:Rarity:Common diff --git a/res/cardsfolder/g/goldnight_redeemer.txt b/res/cardsfolder/g/goldnight_redeemer.txt index 6e88c90ab71..a6be5e76529 100644 --- a/res/cardsfolder/g/goldnight_redeemer.txt +++ b/res/cardsfolder/g/goldnight_redeemer.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 K:Flying T:Mode$ ChangesZone | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigGainLife | TriggerDescription$ When CARDNAME enters the battlefield, you gain 2 life for each other creature you control. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:Count$Valid Creature.Other+YouCtrl/Times.2 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/goldnight_redeemer.jpg diff --git a/res/cardsfolder/g/gomazoa.txt b/res/cardsfolder/g/gomazoa.txt index cb8d141896e..e3f654313b2 100644 --- a/res/cardsfolder/g/gomazoa.txt +++ b/res/cardsfolder/g/gomazoa.txt @@ -7,7 +7,7 @@ K:Defender K:Flying A:AB$ ChangeZoneAll | Cost$ T | ChangeType$ Creature.blockedBySource | Origin$ Battlefield | Destination$ Library | LibraryPosition$ 0 | RememberChanged$ True | ForgetOtherRemembered$ True | SubAbility$ JellyBounceSelf | SpellDescription$ Put CARDNAME and each creature it's blocking on top of their owners' libraries, then those players shuffle their libraries. SVar:JellyBounceSelf:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Library | LibraryPosition$ 0 | SubAbility$ WobbleOppJelly -SVar:WobbleOppJelly:DB$ Shuffle | Defined$ Opponent | SubAbility$ WobbleYourJelly | ConditionCheckSVar$ X +SVar:WobbleOppJelly:DB$ Shuffle | Defined$ Opponent | SubAbility$ WobbleYourJelly | ConditionCheckSVar$ X | References$ X SVar:WobbleYourJelly:DB$ Shuffle | Defined$ You | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount diff --git a/res/cardsfolder/g/gore_vassal.txt b/res/cardsfolder/g/gore_vassal.txt index 98847669103..0145898ced5 100644 --- a/res/cardsfolder/g/gore_vassal.txt +++ b/res/cardsfolder/g/gore_vassal.txt @@ -4,7 +4,7 @@ Types:Creature Hound Text:no text PT:2/1 A:AB$ PutCounter | Cost$ Sac<1/CARDNAME> | CounterType$ M1M1 | CounterNum$ 1 | ValidTgts$ Creature | TgtPrompt$ Select target creature | RememberTargets$ True | SubAbility$ DBRegenerate | SpellDescription$ Put a -1/-1 counter on target creature. Then if that creature's toughness is 1 or greater, regenerate it. -SVar:DBRegenerate:DB$ Regenerate | Defined$ Remembered | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup +SVar:DBRegenerate:DB$ Regenerate | Defined$ Remembered | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$CardToughness SVar:RemAIDeck:True diff --git a/res/cardsfolder/g/gorilla_shaman.txt b/res/cardsfolder/g/gorilla_shaman.txt index 2e23d51393c..0166da80583 100644 --- a/res/cardsfolder/g/gorilla_shaman.txt +++ b/res/cardsfolder/g/gorilla_shaman.txt @@ -3,7 +3,7 @@ ManaCost:R Types:Creature Ape Shaman Text:no text PT:1/1 -A:AB$ Destroy | Cost$ X X 1 | ValidTgts$ Artifact.nonCreature | TgtPrompt$ Select target noncreature artifact | SpellDescription$ Destroy target noncreature artifact with converted mana cost X. +A:AB$ Destroy | Cost$ X X 1 | ValidTgts$ Artifact.nonCreature | TgtPrompt$ Select target noncreature artifact | References$ X | SpellDescription$ Destroy target noncreature artifact with converted mana cost X. # It may seem wrong to not use X in the target, but since the Target is what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$CardManaCost SVar:RemAIDeck:True diff --git a/res/cardsfolder/g/grab_the_reins.txt b/res/cardsfolder/g/grab_the_reins.txt index 983f15723cd..d3ed605c9e1 100644 --- a/res/cardsfolder/g/grab_the_reins.txt +++ b/res/cardsfolder/g/grab_the_reins.txt @@ -6,7 +6,7 @@ A:SP$ GainControl | Cost$ 3 R | ValidTgts$ Creature | TgtPrompt$ Select target c A:SP$ Sacrifice | Cost$ 3 R | Amount$ 1 | SacValid$ Creature | RememberSacrificed$ True | SubAbility$ GrabDmg | SpellDescription$ or sacrifice a creature, then CARDNAME deals damage equal to that creature's power to target creature or player. A:SP$ GainControl | Cost$ 5 R R | ValidTgts$ Creature | TgtPrompt$ Select target creature to gain control of | LoseControl$ EOT | AddKWs$ Haste | SubAbility$ GrabASacrifice | PrecostDesc$ Entwine | CostDesc$ 2 R | SpellDescription$ (Choose both if you pay the entwine cost.) SVar:GrabASacrifice:DB$ Sacrifice | Amount$ 1 | SacValid$ Creature | RememberSacrificed$ True | SubAbility$ GrabDmg -SVar:GrabDmg:DB$DealDamage | Cost$ 0 | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select target creature or player to deal the damage to | NumDmg$ X | SubAbility$ DBCleanup +SVar:GrabDmg:DB$DealDamage | Cost$ 0 | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select target creature or player to deal the damage to | NumDmg$ X | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$CardPower SVar:RemAIDeck:True diff --git a/res/cardsfolder/g/gratuitous_violence.txt b/res/cardsfolder/g/gratuitous_violence.txt index 08250c13923..faed48b1a81 100644 --- a/res/cardsfolder/g/gratuitous_violence.txt +++ b/res/cardsfolder/g/gratuitous_violence.txt @@ -4,8 +4,8 @@ Types:Enchantment Text:no text R:Event$ DamageDone | ValidSource$ Creature.YouCtrl | ValidTarget$ Creature,Player | ReplaceWith$ DmgTwice | IsCombat$ False | Description$ If a creature you control would deal damage to a creature or player, it deals double that damage to that creature or player instead. R:Event$ DamageDone | ValidSource$ Creature.YouCtrl | ValidTarget$ Creature,Player | ReplaceWith$ DmgTwiceCombat | IsCombat$ True | Secondary$ True | Description$ If a creature you control would deal damage to a creature or player, it deals double that damage to that creature or player instead. -SVar:DmgTwice:AB$DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X -SVar:DmgTwiceCombat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X +SVar:DmgTwice:AB$DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X | References$ X +SVar:DmgTwiceCombat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X | References$ X SVar:X:ReplaceCount$DamageAmount/Twice SVar:PlayMain1:TRUE SVar:Picture:http://www.wizards.com/global/images/magic/general/gratuitous_violence.jpg diff --git a/res/cardsfolder/g/graveborn_muse.txt b/res/cardsfolder/g/graveborn_muse.txt index bf5c32a4cdb..3cc0026f9b3 100644 --- a/res/cardsfolder/g/graveborn_muse.txt +++ b/res/cardsfolder/g/graveborn_muse.txt @@ -4,8 +4,8 @@ Types: Creature Zombie Spirit Text:no text PT:3/3 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ At the beginning of your upkeep, you draw X cards and you lose X life, where X is the number of Zombies you control. -SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ X | SubAbility$ DBLoseLife -SVar:DBLoseLife:DB$LoseLife | Defined$ You | LifeAmount$ X +SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ X | SubAbility$ DBLoseLife | References$ X +SVar:DBLoseLife:DB$LoseLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Count$Valid Zombie.YouCtrl SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/graveborn_muse.jpg diff --git a/res/cardsfolder/g/gravepurge.txt b/res/cardsfolder/g/gravepurge.txt index e106b691b2a..5450613c456 100644 --- a/res/cardsfolder/g/gravepurge.txt +++ b/res/cardsfolder/g/gravepurge.txt @@ -2,7 +2,7 @@ Name:Gravepurge ManaCost:2 B Types:Instant Text:no text -A:SP$ ChangeZone | Cost$ 2 B | Origin$ Graveyard | Destination$ Library | TargetMin$ 0 | TargetMax$ X | TgtPrompt$ Choose target creature card in your graveyard | ValidTgts$ Creature.YouCtrl | SubAbility$ DBDraw | SpellDescription$ Put any number of target creature cards from your graveyard on top of your library. +A:SP$ ChangeZone | Cost$ 2 B | Origin$ Graveyard | Destination$ Library | TargetMin$ 0 | TargetMax$ X | TgtPrompt$ Choose target creature card in your graveyard | ValidTgts$ Creature.YouCtrl | SubAbility$ DBDraw | References$ X | SpellDescription$ Put any number of target creature cards from your graveyard on top of your library. SVar:DBDraw:DB$Draw | NumCards$ 1 | SpellDescription$ Draw a card. SVar:X:Count$TypeInYourYard.Creature SVar:RemAIDeck:True diff --git a/res/cardsfolder/g/gravestorm.txt b/res/cardsfolder/g/gravestorm.txt index 4add904cb74..48371034513 100644 --- a/res/cardsfolder/g/gravestorm.txt +++ b/res/cardsfolder/g/gravestorm.txt @@ -4,7 +4,7 @@ Types:Enchantment Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigChangeZone | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, target opponent may exile a card from his or her graveyard. If that player doesn't, you may draw a card. SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | Origin$ Graveyard | Destination$ Exile | ChangeType$ Card.YouDontCtrl | ChangeNum$ 1 | Hidden$ True | Chooser$ Targeted | RememberChanged$ True | OptionalDecider$ Targeted | IsCurse$ True | SubAbility$ DBDraw -SVar:DBDraw:DB$ Draw | NumCards$ 1 | Defined$ You | OptionalDecider$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBCleanup +SVar:DBDraw:DB$ Draw | NumCards$ 1 | Defined$ You | OptionalDecider$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:Rarity:Rare diff --git a/res/cardsfolder/g/graveyard_shovel.txt b/res/cardsfolder/g/graveyard_shovel.txt index 0454fd20dee..0285c42531e 100644 --- a/res/cardsfolder/g/graveyard_shovel.txt +++ b/res/cardsfolder/g/graveyard_shovel.txt @@ -3,7 +3,7 @@ ManaCost:2 Types:Artifact Text:no text A:AB$ ChangeZone | Cost$ 2 T | ValidTgts$ Player | TgtPrompt$ Select target player | Origin$ Graveyard | Destination$ Exile | ChangeType$ Card | ChangeNum$ 1 | Hidden$ True | Chooser$ Targeted | Mandatory$ True | SubAbility$ DBGainLife | ForgetOtherTargets$ True | RememberChanged$ True | IsCurse$ True | SpellDescription$ Target player exiles a card from his or her graveyard. If it's a creature card, you gain 2 life. -SVar:DBGainLife:DB$ GainLife | Cost$ 0 | Defined$ You | LifeAmount$ 2 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup +SVar:DBGainLife:DB$ GainLife | Cost$ 0 | Defined$ You | LifeAmount$ 2 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Valid Creature SVar:Rarity:Uncommon diff --git a/res/cardsfolder/g/great_defender.txt b/res/cardsfolder/g/great_defender.txt index db269a89b3f..9c5d87730a7 100644 --- a/res/cardsfolder/g/great_defender.txt +++ b/res/cardsfolder/g/great_defender.txt @@ -2,7 +2,7 @@ Name:Great Defender ManaCost:W Types:Instant Text:no text -A:SP$ Pump | Cost$ W | ValidTgts$ Creature | NumDef$ +X | TgtPrompt$ Select target creature | SpellDescription$ Target creature gets +0/+X until end of turn, where X is its converted mana cost. +A:SP$ Pump | Cost$ W | ValidTgts$ Creature | NumDef$ +X | TgtPrompt$ Select target creature | References$ X | SpellDescription$ Target creature gets +0/+X until end of turn, where X is its converted mana cost. SVar:X:Targeted$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/g/greatbow_doyen.txt b/res/cardsfolder/g/greatbow_doyen.txt index 6e482af2068..897c317a674 100644 --- a/res/cardsfolder/g/greatbow_doyen.txt +++ b/res/cardsfolder/g/greatbow_doyen.txt @@ -5,7 +5,7 @@ Text:no text PT:2/4 S:Mode$ Continuous | Affected$ Creature.Archer+Other+YouCtrl | AddPower$ 1 | AddToughness$ 1 | Description$ Other Archer creatures you control get +1/+1. T:Mode$ DamageDone | ValidSource$ Archer.YouCtrl | ValidTarget$ Creature | TriggerZones$ Battlefield | Execute$ TrigDealDamage | TriggerDescription$ Whenever an Archer you control deals damage to a creature, that Archer deals that much damage to that creature's controller. -SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Defined$ TriggeredTargetController | DamageSource$ TriggeredSource | NumDmg$ X +SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Defined$ TriggeredTargetController | DamageSource$ TriggeredSource | NumDmg$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/greatbow_doyen.jpg diff --git a/res/cardsfolder/g/greater_good.txt b/res/cardsfolder/g/greater_good.txt index 07b5ec4dc72..22e240f31a5 100644 --- a/res/cardsfolder/g/greater_good.txt +++ b/res/cardsfolder/g/greater_good.txt @@ -2,7 +2,7 @@ Name:Greater Good ManaCost:2 G G Types:Enchantment Text:no text -A:AB$ Draw | Cost$ Sac<1/Creature> | NumCards$ X | SubAbility$ DB | SpellDescription$ Draw cards equal to the sacrificed creature's power, then discard three cards. +A:AB$ Draw | Cost$ Sac<1/Creature> | NumCards$ X | SubAbility$ DB | References$ X | SpellDescription$ Draw cards equal to the sacrificed creature's power, then discard three cards. SVar:DB:DB$Discard | NumCards$ 3 | Mode$ TgtChoose SVar:X:Sacrificed$CardPower SVar:Rarity:Rare diff --git a/res/cardsfolder/g/greel_mind_raker.txt b/res/cardsfolder/g/greel_mind_raker.txt index 37107845920..9dcd9b6ba09 100644 --- a/res/cardsfolder/g/greel_mind_raker.txt +++ b/res/cardsfolder/g/greel_mind_raker.txt @@ -3,7 +3,7 @@ ManaCost:3 B B Types:Legendary Creature Horror Spellshaper Text:no text PT:3/3 -A:AB$ Discard | Cost$ X B T Discard<2/Card> | ValidTgts$ Player | NumCards$ X | Mode$ Random | SpellDescription$ Target player discards X cards at random. +A:AB$ Discard | Cost$ X B T Discard<2/Card> | ValidTgts$ Player | NumCards$ X | Mode$ Random | References$ X | SpellDescription$ Target player discards X cards at random. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/g/green_mana_battery.txt b/res/cardsfolder/g/green_mana_battery.txt index 206dacbe271..e9b510b68a0 100644 --- a/res/cardsfolder/g/green_mana_battery.txt +++ b/res/cardsfolder/g/green_mana_battery.txt @@ -3,7 +3,7 @@ ManaCost:4 Types:Artifact Text:no text A:AB$ PutCounter | Cost$ 2 T | CounterType$ CHARGE | CounterNum$ 1 | SpellDescription$ Put a charge counter on CARDNAME. -A:AB$ Mana | Cost$ T SubCounter | Produced$ G | Amount$ Y | CostDesc$ Tap, Remove any number of charge counters from CARDNAME: | SpellDescription$ Add G to your mana pool, then add an additional G to your mana pool for each charge counter removed this way. +A:AB$ Mana | Cost$ T SubCounter | Produced$ G | Amount$ Y | CostDesc$ Tap, Remove any number of charge counters from CARDNAME: | References$ X,Y | SpellDescription$ Add G to your mana pool, then add an additional G to your mana pool for each charge counter removed this way. SVar:Y:Number$1/Plus.ChosenX SVar:X:XChoice #ChosenX SVar created by Cost payment diff --git a/res/cardsfolder/g/green_suns_zenith.txt b/res/cardsfolder/g/green_suns_zenith.txt index 643287420f9..d8f594e6efa 100644 --- a/res/cardsfolder/g/green_suns_zenith.txt +++ b/res/cardsfolder/g/green_suns_zenith.txt @@ -2,7 +2,7 @@ Name:Green Sun's Zenith ManaCost:X G Types:Sorcery Text:no text -A:SP$ ChangeZone | Cost$ X G | Origin$ Library | Destination$ Battlefield | ChangeType$ Creature.Green+cmcLEX | ChangeNum$ 1 | SubAbility$ DBShuffle | StackDescription$ Search your library for a green creature card with converted mana cost X or less, put it onto the battlefield, then shuffle your library. | SpellDescription$ Search your library for a green creature card with converted mana cost X or less, put it onto the battlefield, then shuffle your library. Shuffle CARDNAME into its owner's library. +A:SP$ ChangeZone | Cost$ X G | Origin$ Library | Destination$ Battlefield | ChangeType$ Creature.Green+cmcLEX | ChangeNum$ 1 | SubAbility$ DBShuffle | StackDescription$ Search your library for a green creature card with converted mana cost X or less, put it onto the battlefield, then shuffle your library. | References$ X | SpellDescription$ Search your library for a green creature card with converted mana cost X or less, put it onto the battlefield, then shuffle your library. Shuffle CARDNAME into its owner's library. SVar:X:Count$xPaid SVar:DBShuffle:DB$ChangeZone | Origin$ Stack | Destination$ Library | Shuffle$ True SVar:Rarity:Rare diff --git a/res/cardsfolder/g/grief_tyrant.txt b/res/cardsfolder/g/grief_tyrant.txt index abaf748edc3..48aec38ef88 100644 --- a/res/cardsfolder/g/grief_tyrant.txt +++ b/res/cardsfolder/g/grief_tyrant.txt @@ -5,7 +5,7 @@ Text:no text PT:8/8 K:etbCounter:M1M1:4 T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigCurse | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, put a -1/-1 counter on target creature for each -1/-1 counter on CARDNAME. -SVar:TrigCurse:AB$ PutCounter | Cost$ 0 | ValidTgts$ Creature | CounterType$ M1M1 | CounterNum$ X +SVar:TrigCurse:AB$ PutCounter | Cost$ 0 | ValidTgts$ Creature | CounterType$ M1M1 | CounterNum$ X | References$ X SVar:X:TriggeredCard$CardCounters.M1M1 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/grief_tyrant.jpg diff --git a/res/cardsfolder/g/grim_feast.txt b/res/cardsfolder/g/grim_feast.txt index aa6d8980922..390874c3af5 100644 --- a/res/cardsfolder/g/grim_feast.txt +++ b/res/cardsfolder/g/grim_feast.txt @@ -5,7 +5,7 @@ Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ At the beginning of your upkeep, CARDNAME deals 1 damage to you. T:Mode$ ChangesZone | ValidCard$ Creature.YouDontCtrl | Origin$ Battlefield | Destination$ Graveyard | TriggerZones$ Battlefield | Execute$ TrigGainLife | TriggerDescription$ Whenever a creature is put into an opponent's graveyard from the battlefield, you gain life equal to its toughness. SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ You | NumDmg$ 1 -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggeredCard$CardToughness SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/g/grim_flowering.txt b/res/cardsfolder/g/grim_flowering.txt index 2df0a62a78b..82a5b1632ed 100644 --- a/res/cardsfolder/g/grim_flowering.txt +++ b/res/cardsfolder/g/grim_flowering.txt @@ -2,7 +2,7 @@ Name:Grim Flowering ManaCost:5 G Types:Sorcery Text:no text -A:SP$ Draw | Cost$ 5 G | NumCards$ X | SpellDescription$ Draw a card for each creature card in your graveyard. +A:SP$ Draw | Cost$ 5 G | NumCards$ X | References$ X | SpellDescription$ Draw a card for each creature card in your graveyard. SVar:X:Count$TypeInYourYard.Creature SVar:Picture:http://www.wizards.com/global/images/magic/general/grim_flowering.jpg SetInfo:DKA|Uncommon|http://magiccards.info/scans/en/dka/117.jpg diff --git a/res/cardsfolder/g/grindclock.txt b/res/cardsfolder/g/grindclock.txt index 6227c1b1208..742d99f7807 100644 --- a/res/cardsfolder/g/grindclock.txt +++ b/res/cardsfolder/g/grindclock.txt @@ -3,7 +3,7 @@ ManaCost:2 Types:Artifact Text:no text A:AB$ PutCounter | Cost$ T | CounterType$ CHARGE | CounterNum$ 1 | SpellDescription$ Put a charge counter on Grindclock. -A:AB$ Mill | Cost$ T | NumCards$ X | ValidTgts$ Player | TgtPrompt$ Choose a player | SpellDescription$ Target player puts the top X cards of his or her library into his or her graveyard, where X is the number of charge counters on Grindclock. +A:AB$ Mill | Cost$ T | NumCards$ X | ValidTgts$ Player | TgtPrompt$ Choose a player | References$ X | SpellDescription$ Target player puts the top X cards of his or her library into his or her graveyard, where X is the number of charge counters on Grindclock. SVar:X:Count$CardCounters.CHARGE SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/grindclock.jpg diff --git a/res/cardsfolder/g/gristleback.txt b/res/cardsfolder/g/gristleback.txt index 9235656de57..7644f9e73f6 100644 --- a/res/cardsfolder/g/gristleback.txt +++ b/res/cardsfolder/g/gristleback.txt @@ -4,7 +4,7 @@ Types:Creature Boar Beast Text:no text PT:2/2 K:Bloodthirst 1 -A:AB$ GainLife | Cost$ Sac<1/CARDNAME> | LifeAmount$ X | SpellDescription$ You gain life equal to CARDNAME's power. +A:AB$ GainLife | Cost$ Sac<1/CARDNAME> | LifeAmount$ X | References$ X | SpellDescription$ You gain life equal to CARDNAME's power. SVar:X:Sacrificed$CardPower SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/gristleback.jpg diff --git a/res/cardsfolder/g/grizzly_fate.txt b/res/cardsfolder/g/grizzly_fate.txt index fc1d399712f..183fbbd5b2f 100644 --- a/res/cardsfolder/g/grizzly_fate.txt +++ b/res/cardsfolder/g/grizzly_fate.txt @@ -3,7 +3,7 @@ ManaCost:3 G G Types:Sorcery Text:no text K:Flashback 5 G G -A:SP$ Token | Cost$ 3 G G | TokenAmount$ X | TokenName$ Bear | TokenTypes$ Creature,Bear | TokenOwner$ You | TokenColors$ Green | TokenPower$ 2 | TokenToughness$ 2 | SpellDescription$ Put two 2/2 green Bear creature tokens onto the battlefield. Threshold - Put four 2/2 green Bear creature tokens onto the battlefield instead if seven or more cards are in your graveyard. +A:SP$ Token | Cost$ 3 G G | TokenAmount$ X | TokenName$ Bear | TokenTypes$ Creature,Bear | TokenOwner$ You | TokenColors$ Green | TokenPower$ 2 | TokenToughness$ 2 | References$ X | SpellDescription$ Put two 2/2 green Bear creature tokens onto the battlefield. Threshold - Put four 2/2 green Bear creature tokens onto the battlefield instead if seven or more cards are in your graveyard. SVar:X:Count$Threshold.4.2 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/grizzly_fate.jpg diff --git a/res/cardsfolder/g/grollub.txt b/res/cardsfolder/g/grollub.txt index eab07bdaf79..ff8a85ae78e 100644 --- a/res/cardsfolder/g/grollub.txt +++ b/res/cardsfolder/g/grollub.txt @@ -4,7 +4,7 @@ Types:Creature Beast Text:no text PT:3/3 T:Mode$ DamageDone | ValidTarget$ Card.Self | Execute$ TrigGain | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME is dealt damage, each opponent gains that much life. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ Opponent| LifeAmount$ X +SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ Opponent| LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/g/groundswell.txt b/res/cardsfolder/g/groundswell.txt index 2b62bed5766..430114de796 100644 --- a/res/cardsfolder/g/groundswell.txt +++ b/res/cardsfolder/g/groundswell.txt @@ -2,7 +2,7 @@ Name:Groundswell ManaCost:G Types:Instant Text:no text -A:SP$ Pump | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | SpellDescription$ Target creature gets +2/+2 until end of turn. Landfall - If you had a land enter the battlefield under your control this turn, that creature gets +4/+4 until end of turn instead. +A:SP$ Pump | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | References$ X | SpellDescription$ Target creature gets +2/+2 until end of turn. Landfall - If you had a land enter the battlefield under your control this turn, that creature gets +4/+4 until end of turn instead. SVar:X:Count$Landfall.4.2 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/groundswell.jpg diff --git a/res/cardsfolder/g/grozoth.txt b/res/cardsfolder/g/grozoth.txt index 5935056e920..b2ca548e761 100644 --- a/res/cardsfolder/g/grozoth.txt +++ b/res/cardsfolder/g/grozoth.txt @@ -5,7 +5,7 @@ Text:no text PT:9/9 K:Defender T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | Execute$ TrigChange | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, you may search your library for any number of cards that have converted mana cost 9, reveal them, and put them into your hand. If you do, shuffle your library. -SVar:TrigChange:AB$ChangeZone | Cost$ 0 | Origin$ Library | Destination$ Hand | ChangeType$ Card.cmcEQ9 | ChangeNum$ X +SVar:TrigChange:AB$ChangeZone | Cost$ 0 | Origin$ Library | Destination$ Hand | ChangeType$ Card.cmcEQ9 | ChangeNum$ X | References$ X A:AB$ Debuff | Cost$ 4 | Keywords$ Defender | Defined$ Self | SpellDescription$ CARDNAME loses defender until end of turn. K:Transmute:1 U U SVar:X:Count$InYourLibrary diff --git a/res/cardsfolder/g/gruesome_discovery.txt b/res/cardsfolder/g/gruesome_discovery.txt index f609a6039d5..98771528fd0 100644 --- a/res/cardsfolder/g/gruesome_discovery.txt +++ b/res/cardsfolder/g/gruesome_discovery.txt @@ -3,7 +3,7 @@ ManaCost:2 B B Types:Sorcery Text:no text A:SP$ Discard | Cost$ 2 B B | ValidTgts$ Player | Mode$ TgtChoose | NumCards$ 2 | ConditionCheckSVar$ Morbid | ConditionSVarCompare$ EQ0 | SubAbility$ MorbidDiscard | SpellDescription$ Target player discards two cards. -SVar:MorbidDiscard:DB$ Discard | Defined$ Targeted | Mode$ RevealYouChoose | NumCards$ 2 | ConditionCheckSVar$ Morbid | ConditionSVarCompare$ GE1 | SpellDescription$ Morbid - If a creature died this turn, instead that player reveals his or her hand, you choose two cards from it, then that player discards those cards. +SVar:MorbidDiscard:DB$ Discard | Defined$ Targeted | Mode$ RevealYouChoose | NumCards$ 2 | ConditionCheckSVar$ Morbid | ConditionSVarCompare$ GE1 | References$ Morbid | SpellDescription$ Morbid - If a creature died this turn, instead that player reveals his or her hand, you choose two cards from it, then that player discards those cards. SVar:Morbid:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/gruesome_discovery.jpg diff --git a/res/cardsfolder/g/guided_passage.txt b/res/cardsfolder/g/guided_passage.txt index 8f6f8d14442..9c34afd1033 100644 --- a/res/cardsfolder/g/guided_passage.txt +++ b/res/cardsfolder/g/guided_passage.txt @@ -2,7 +2,7 @@ Name:Guided Passage ManaCost:U R G Types:Sorcery Text:no text -A:SP$ Dig | Cost$ U R G | NumCards$ X | Reveal$ True | NoMove$ True | DestinationZone$ Library | LibraryPosition$ 0 | LibraryPosition2$ 0 | SubAbility$ DBCreature | SpellDescription$ Reveal the cards in your library. An opponent chooses from among them a creature card, a land card, and a noncreature, nonland card. You put the chosen cards into your hand. Then shuffle your library. +A:SP$ Dig | Cost$ U R G | NumCards$ X | Reveal$ True | NoMove$ True | DestinationZone$ Library | LibraryPosition$ 0 | LibraryPosition2$ 0 | SubAbility$ DBCreature | References$ X | SpellDescription$ Reveal the cards in your library. An opponent chooses from among them a creature card, a land card, and a noncreature, nonland card. You put the chosen cards into your hand. Then shuffle your library. SVar:DBCreature:DB$ ChangeZone | ChangeType$ Creature.YouOwn | ChangeNum$ 1 | Chooser$ Opponent | Origin$ Library | Destination$ Hand | SubAbility$ DBLand SVar:DBLand:DB$ ChangeZone | ChangeType$ Land.YouOwn | ChangeNum$ 1 | Chooser$ Opponent | Origin$ Library | Destination$ Hand | SubAbility$ DBNonCreatureNonLand SVar:DBNonCreatureNonLand:DB$ ChangeZone | ChangeType$ Card.nonCreature+nonLand+YouOwn | ChangeNum$ 1 | Chooser$ Opponent | Origin$ Library | Destination$ Hand | Shuffle$ True diff --git a/res/cardsfolder/g/guiltfeeder.txt b/res/cardsfolder/g/guiltfeeder.txt index 13a0894d7e5..754bafd69cb 100644 --- a/res/cardsfolder/g/guiltfeeder.txt +++ b/res/cardsfolder/g/guiltfeeder.txt @@ -5,7 +5,7 @@ Text:no text PT:0/4 K:Fear T:Mode$ AttackerUnblocked | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigLoseLife | TriggerDescription$ Whenever CARDNAME attacks and isn't blocked, defending player loses 1 life for each card in his or her graveyard. -SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ Opponent | LifeAmount$ X +SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ Opponent | LifeAmount$ X | References$ X SVar:X:Count$InOppYard SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/guiltfeeder.jpg diff --git a/res/cardsfolder/g/guilty_conscience.txt b/res/cardsfolder/g/guilty_conscience.txt index 836edd19544..43f00c17da5 100644 --- a/res/cardsfolder/g/guilty_conscience.txt +++ b/res/cardsfolder/g/guilty_conscience.txt @@ -4,7 +4,7 @@ Types:Enchantment Aura Text:no text K:Enchant creature Curse T:Mode$ DamageDone | ValidSource$ Card.AttachedBy | Execute$ TrigDamage | TriggerZones$ Battlefield | TriggerDescription$ Whenever enchanted creature deals damage, CARDNAME deals that much damage to that creature. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ TriggeredSource | NumDmg$ X +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ TriggeredSource | NumDmg$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/guilty_conscience.jpg diff --git a/res/cardsfolder/h/halimar_excavator.txt b/res/cardsfolder/h/halimar_excavator.txt index 6ff48c9a06d..02e02688c4a 100644 --- a/res/cardsfolder/h/halimar_excavator.txt +++ b/res/cardsfolder/h/halimar_excavator.txt @@ -5,7 +5,7 @@ Text:no text PT:1/3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigMill | TriggerDescription$ Whenever CARDNAME or another Ally enters the battlefield under your control, target player puts the top X cards of his or her library into his or her graveyard, where X is the number of Allies you control. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Ally.Other+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigMill | Secondary$ True | TriggerDescription$ Whenever CARDNAME or another Ally enters the battlefield under your control, target player puts the top X cards of his or her library into his or her graveyard, where X is the number of Allies you control. -SVar:TrigMill:AB$Mill | Cost$ 0 | ValidTgts$ Player | NumCards$ X | TgtPrompt$ Select a target player. | SpellDescription$ Target player puts the top X cards of his or her library into his or her graveyard, where X is the number of Allies you control. +SVar:TrigMill:AB$Mill | Cost$ 0 | ValidTgts$ Player | NumCards$ X | TgtPrompt$ Select a target player. | References$ X | SpellDescription$ Target player puts the top X cards of his or her library into his or her graveyard, where X is the number of Allies you control. SVar:X:Count$Valid Ally.YouCtrl SVar:BuffedBy:Ally SVar:Rarity:Uncommon diff --git a/res/cardsfolder/h/hamletback_goliath.txt b/res/cardsfolder/h/hamletback_goliath.txt index 244f29fc9d9..9fda795f1ba 100644 --- a/res/cardsfolder/h/hamletback_goliath.txt +++ b/res/cardsfolder/h/hamletback_goliath.txt @@ -4,7 +4,7 @@ Types:Creature Giant Warrior Text:no text PT:6/6 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Other | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ Whenever another creature enters the battlefield, you may put X +1/+1 counters on CARDNAME, where X is that creature's power. -SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ X +SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ X | References$ X SVar:X:TriggeredCard$CardPower SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/hamletback_goliath.jpg diff --git a/res/cardsfolder/h/hammer_mage.txt b/res/cardsfolder/h/hammer_mage.txt index c0d807ef2f8..b4e313fafc1 100644 --- a/res/cardsfolder/h/hammer_mage.txt +++ b/res/cardsfolder/h/hammer_mage.txt @@ -3,7 +3,7 @@ ManaCost:1 R Types:Creature Human Spellshaper Text:no text PT:1/1 -A:AB$ DestroyAll | Cost$ X R T Discard<1/Card> | ValidCards$ Artifact.cmcLEX | SpellDescription$ Destroy all artifacts with converted mana cost X or less. +A:AB$ DestroyAll | Cost$ X R T Discard<1/Card> | ValidCards$ Artifact.cmcLEX | References$ X | SpellDescription$ Destroy all artifacts with converted mana cost X or less. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/h/harabaz_druid.txt b/res/cardsfolder/h/harabaz_druid.txt index 70b3754c052..0561a7427b1 100644 --- a/res/cardsfolder/h/harabaz_druid.txt +++ b/res/cardsfolder/h/harabaz_druid.txt @@ -3,7 +3,7 @@ ManaCost:1 G Types:Creature Human Druid Ally Text:no text PT:0/1 -A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ X | SpellDescription$ Add X mana of any one color to your mana pool, where X is the number of Allies you control. +A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ X | References$ X | SpellDescription$ Add X mana of any one color to your mana pool, where X is the number of Allies you control. SVar:X:Count$Valid Ally.YouCtrl SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/h/harpoon_sniper.txt b/res/cardsfolder/h/harpoon_sniper.txt index 36d513f8e75..fadc45763ad 100644 --- a/res/cardsfolder/h/harpoon_sniper.txt +++ b/res/cardsfolder/h/harpoon_sniper.txt @@ -3,7 +3,7 @@ ManaCost:2 W Types:Creature Merfolk Archer Text:no text PT:2/2 -A:AB$ DealDamage | Cost$ W T | ValidTgts$ Creature.attacking,Creature.blocking | TgtPrompt$ Select target attacking or blocking creature | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target attacking or blocking creature, where X is the number of Merfolk you control. +A:AB$ DealDamage | Cost$ W T | ValidTgts$ Creature.attacking,Creature.blocking | TgtPrompt$ Select target attacking or blocking creature | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to target attacking or blocking creature, where X is the number of Merfolk you control. SVar:X:Count$TypeYouCtrl.Merfolk SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/harpoon_sniper.jpg diff --git a/res/cardsfolder/h/harsh_justice.txt b/res/cardsfolder/h/harsh_justice.txt index a07a22ce737..eb3946ac607 100644 --- a/res/cardsfolder/h/harsh_justice.txt +++ b/res/cardsfolder/h/harsh_justice.txt @@ -4,7 +4,7 @@ Types:Instant Text:no text A:SP$ Effect | Cost$ 2 W | Name$ Harsh Justice Effect | Triggers$ TrigDamage | SVars$ TrigDealDamage,X | AILogic$ Fog | OpponentTurn$ True | ActivationPhases$ Declare Attackers - Play Instants and Abilities | SpellDescription$ Cast CARDNAME only during the declare attackers step and only if you've been attacked this step. This turn, whenever an attacking creature deals combat damage to you, it deals that much damage to its controller. SVar:TrigDamage:Mode$ DamageDone | ValidSource$ Creature.attacking | ValidTarget$ You | Execute$ TrigDealDamage | CombatDamage$ True | TriggerDescription$ This turn, whenever an attacking creature deals combat damage to you, it deals that much damage to its controller. -SVar:TrigDealDamage:AB$ DealDamage | Cost$ 0 | Defined$ TriggeredSourceController | NumDmg$ X | DamageSource$ TriggeredSource +SVar:TrigDealDamage:AB$ DealDamage | Cost$ 0 | Defined$ TriggeredSourceController | NumDmg$ X | DamageSource$ TriggeredSource | References$ X SVar:X:TriggerCount$DamageAmount SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/h/harvest_pyre.txt b/res/cardsfolder/h/harvest_pyre.txt index d6baa25fccd..09c8a6dcf5f 100644 --- a/res/cardsfolder/h/harvest_pyre.txt +++ b/res/cardsfolder/h/harvest_pyre.txt @@ -2,7 +2,7 @@ Name:Harvest Pyre ManaCost:1 R Types:Instant Text:no text -A:SP$ DealDamage | Cost$ 1 R ExileFromGrave | Tgt$ TgtC | NumDmg$ Y | SpellDescription$ CARDNAME deals X damage to target creature. +A:SP$ DealDamage | Cost$ 1 R ExileFromGrave | Tgt$ TgtC | NumDmg$ Y | References$ X,Y | SpellDescription$ CARDNAME deals X damage to target creature. SVar:Y:Number$0/Plus.ChosenX SVar:X:XChoice SVar:RemAIDeck:True diff --git a/res/cardsfolder/h/harvest_wurm.txt b/res/cardsfolder/h/harvest_wurm.txt index f455c54fd17..9e59abf1d61 100644 --- a/res/cardsfolder/h/harvest_wurm.txt +++ b/res/cardsfolder/h/harvest_wurm.txt @@ -5,7 +5,7 @@ Text:no text PT:3/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you return a basic land card from your graveyard to your hand. SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Hand | Hidden$ True | ChangeType$ Land.Basic+YouOwn | RememberChanged$ True | SubAbility$ DBSac -SVar:DBSac:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 +SVar:DBSac:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:NeedsToPlayVar:Y GE1 diff --git a/res/cardsfolder/h/hateflayer.txt b/res/cardsfolder/h/hateflayer.txt index 1f97bbb0431..1e716defab0 100644 --- a/res/cardsfolder/h/hateflayer.txt +++ b/res/cardsfolder/h/hateflayer.txt @@ -4,7 +4,7 @@ Types:Creature Elemental Text:no text PT:5/5 K:Wither -A:AB$ DealDamage | Cost$ 2 R Untap | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to its power to target creature or player. +A:AB$ DealDamage | Cost$ 2 R Untap | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to its power to target creature or player. SVar:X:Count$CardPower SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/hateflayer.jpg diff --git a/res/cardsfolder/h/hatred.txt b/res/cardsfolder/h/hatred.txt index 21df6bf09f5..51c28b1f44a 100644 --- a/res/cardsfolder/h/hatred.txt +++ b/res/cardsfolder/h/hatred.txt @@ -2,7 +2,7 @@ Name:Hatred ManaCost:3 B B Types:Instant Text:no text -A:SP$ Pump | Cost$ 3 B B PayLife | Tgt$ TgtC | NumAtt$ ChosenX | SpellDescription$ Target creature gets +X/+0 until end of turn. +A:SP$ Pump | Cost$ 3 B B PayLife | Tgt$ TgtC | NumAtt$ ChosenX | References$ X | SpellDescription$ Target creature gets +X/+0 until end of turn. SVar:X:XChoice #ChosenX SVar created by Cost payment SVar:RemAIDeck:True diff --git a/res/cardsfolder/h/haunting_hymn.txt b/res/cardsfolder/h/haunting_hymn.txt index fbd4fce9748..856ba669a79 100644 --- a/res/cardsfolder/h/haunting_hymn.txt +++ b/res/cardsfolder/h/haunting_hymn.txt @@ -2,7 +2,7 @@ Name:Haunting Hymn ManaCost:4 B B Types:Instant Text:no text -A:SP$ Discard | Cost$ 4 B B | ValidTgts$ Player | NumCards$ X | Mode$ TgtChoose | SpellDescription$ Target player discards two cards. If you cast this spell during your main phase, that player discards four cards instead. +A:SP$ Discard | Cost$ 4 B B | ValidTgts$ Player | NumCards$ X | Mode$ TgtChoose | References$ X | SpellDescription$ Target player discards two cards. If you cast this spell during your main phase, that player discards four cards instead. SVar:X:Count$IfMainPhase.4.2 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/haunting_hymn.jpg diff --git a/res/cardsfolder/h/haunting_misery.txt b/res/cardsfolder/h/haunting_misery.txt index f76d3690646..786726d287a 100644 --- a/res/cardsfolder/h/haunting_misery.txt +++ b/res/cardsfolder/h/haunting_misery.txt @@ -2,7 +2,7 @@ Name:Haunting Misery ManaCost:1 B B Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ 1 B B ExileFromGrave | Tgt$ TgtP | NumDmg$ ChosenX | SpellDescription$ CARDNAME deals X damage to target player. +A:SP$ DealDamage | Cost$ 1 B B ExileFromGrave | Tgt$ TgtP | NumDmg$ ChosenX | References$ X | SpellDescription$ CARDNAME deals X damage to target player. SVar:X:XChoice #ChosenX SVar created by Cost payment SVar:RemAIDeck:True diff --git a/res/cardsfolder/h/hazezon_tamar.txt b/res/cardsfolder/h/hazezon_tamar.txt index 5f455ce981e..326eaea7ef0 100644 --- a/res/cardsfolder/h/hazezon_tamar.txt +++ b/res/cardsfolder/h/hazezon_tamar.txt @@ -5,7 +5,7 @@ Text:no text PT:2/4 T:Mode$ ChangesZone | ValidCard$ Creature.Self | Origin$ Any | Destination$ Battlefield | DelayedTrigger$ DelTrig | TriggerDescription$ When CARDNAME enters the battlefield, put X 1/1 Sand Warrior tokens that are green, red, and white onto the battlefield at the beginning of your next upkeep, where X is the number of lands you control at that time. SVar:DelTrig: Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigTokens | TriggerDescription$ Create a 1/1 GRW Sand Warrior token for each land you control. -SVar:TrigTokens:AB$ Token | Cost$ 0 | TokenAmount$ X | TokenName$ Sand Warrior | TokenTypes$ Creature,Sand,Warrior | TokenOwner$ You | TokenColors$ Green,Red,White | TokenPower$ 1 | TokenToughness$ 1 +SVar:TrigTokens:AB$ Token | Cost$ 0 | TokenAmount$ X | TokenName$ Sand Warrior | TokenTypes$ Creature,Sand,Warrior | TokenOwner$ You | TokenColors$ Green,Red,White | TokenPower$ 1 | TokenToughness$ 1 | References$ X T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Any | Execute$ TrigExile | TriggerDescription$ When Hazezon leaves the battlefield, exile all Sand Warriors. SVar:TrigExile:AB$ ChangeZone | Cost$ 0 | Origin$ Battlefield | Destination$ Exile | Defined$ Sand.Warrior+YouCtrl SVar:X:Count$Valid Land.YouCtrl diff --git a/res/cardsfolder/h/head_games.txt b/res/cardsfolder/h/head_games.txt index 91c574618ca..f12e08a6a78 100644 --- a/res/cardsfolder/h/head_games.txt +++ b/res/cardsfolder/h/head_games.txt @@ -3,7 +3,7 @@ ManaCost:3 B B Types:Sorcery Text:no text A:SP$ ChangeZoneAll | Cost$ 3 B B | ValidTgts$ Opponent | Origin$ Hand | Destination$ Library | ChangeType$ Card | RememberChanged$ True | IsCurse$ True | SubAbility$ HeadChange | SpellDescription$ Target opponent puts the cards from his or her hand on top of his or her library. Search that player's library for that many cards. The player puts those cards into his or her hand, then shuffles his or her library. -SVar:HeadChange:DB$ ChangeZone | DefinedPlayer$ Targeted | Origin$ Library | Destination$ Hand | ChangeNum$ X | ChangeType$ Card | Chooser$ You | SubAbility$ DBCleanup +SVar:HeadChange:DB$ ChangeZone | DefinedPlayer$ Targeted | Origin$ Library | Destination$ Hand | ChangeNum$ X | ChangeType$ Card | Chooser$ You | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:RemAIDeck:True diff --git a/res/cardsfolder/h/heal_the_scars.txt b/res/cardsfolder/h/heal_the_scars.txt index 1e7ed6d2fc1..0052424b579 100644 --- a/res/cardsfolder/h/heal_the_scars.txt +++ b/res/cardsfolder/h/heal_the_scars.txt @@ -3,7 +3,7 @@ ManaCost:3 G Types:Instant Text:no text A:SP$ Regenerate | Cost$ 3 G | ValidTgts$ Creature | TgtPrompt$ Select target creature | SubAbility$ DBGainLife | SpellDescription$ Regenerate target creature. You gain life equal to that creature's toughness. -SVar:DBGainLife:DB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:DBGainLife:DB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:Targeted$CardToughness SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/heal_the_scars.jpg diff --git a/res/cardsfolder/h/heart_wolf.txt b/res/cardsfolder/h/heart_wolf.txt index 9ed4f379e5a..eb797763ea5 100644 --- a/res/cardsfolder/h/heart_wolf.txt +++ b/res/cardsfolder/h/heart_wolf.txt @@ -5,7 +5,7 @@ Text:no text PT:2/2 K:First Strike A:AB$ Pump | Cost$ T | NumAtt$ +2 | KW$ First Strike | ValidTgts$ Creature.Dwarf | TgtPrompt$ Select target dwarf creature | ActivationPhases$ BeginCombat->EndCombat | SubAbility$ EliteGuardEffect | SpellDescription$ Target Dwarf creature gets +2/+0 and gains first strike until end of turn. When that creature leaves the battlefield this turn, sacrifice CARDNAME. Activate this ability only during combat. -SVar:EliteGuardEffect:DB$ Effect | Name$ Heart Wolf Effect | Triggers$ LostTheGuarded | SVars$ ExileEffect,EliteDefence | RememberObjects$ Targeted | ImprintCards$ Self +SVar:EliteGuardEffect:DB$ Effect | Name$ Heart Wolf Effect | Triggers$ LostTheGuarded | SVars$ ExileEffect,EliteDefence | References$ LostTheGuarded,ExileEffect,EliteDefence | RememberObjects$ Targeted | ImprintCards$ Self SVar:LostTheGuarded:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Battlefield | Destination$ Any | Execute$ EliteDefence | TriggerDescription$ When the targeted creature leaves the battlefield this turn, sacrifice Heart Wolf. SVar:EliteDefence:DB$ SacrificeAll | Defined$ Imprinted | SubAbility$ ExileEffect SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Exile diff --git a/res/cardsfolder/h/hearth_kami.txt b/res/cardsfolder/h/hearth_kami.txt index ed4da825530..518ca3a01fe 100644 --- a/res/cardsfolder/h/hearth_kami.txt +++ b/res/cardsfolder/h/hearth_kami.txt @@ -3,7 +3,7 @@ ManaCost:1 R Types:Creature Spirit Text:no text PT:2/1 -A:AB$ Destroy | Cost$ X Sac<1/CARDNAME> | ValidTgts$ Artifact | TgtPrompt$ Select target artifact | SpellDescription$ Destroy target artifact with converted mana cost X. +A:AB$ Destroy | Cost$ X Sac<1/CARDNAME> | ValidTgts$ Artifact | TgtPrompt$ Select target artifact | References$ X | SpellDescription$ Destroy target artifact with converted mana cost X. # It may seem wrong to not use X in the target, but since the Target is what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$CardManaCost SVar:RemAIDeck:True diff --git a/res/cardsfolder/h/heartlash_cinder.txt b/res/cardsfolder/h/heartlash_cinder.txt index 6f331ceb4fb..7d559aa385d 100644 --- a/res/cardsfolder/h/heartlash_cinder.txt +++ b/res/cardsfolder/h/heartlash_cinder.txt @@ -5,7 +5,7 @@ Text:no text PT:1/1 K:Haste T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Chroma - When CARDNAME enters the battlefield, it gets +X/+0 until end of turn, where X is the number of red mana symbols in the mana costs of permanents you control. -SVar:TrigPump:AB$Pump | Cost$ 0 | NumAtt$ X | Defined$ Self +SVar:TrigPump:AB$Pump | Cost$ 0 | NumAtt$ X | Defined$ Self | References$ X SVar:X:Count$Chroma.R SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/heartlash_cinder.jpg diff --git a/res/cardsfolder/h/heartless_hidetsugu.txt b/res/cardsfolder/h/heartless_hidetsugu.txt index 9ef739e6ecd..e1dde339151 100644 --- a/res/cardsfolder/h/heartless_hidetsugu.txt +++ b/res/cardsfolder/h/heartless_hidetsugu.txt @@ -3,8 +3,8 @@ ManaCost:3 R R Types:Legendary Creature Ogre Shaman Text:no text PT:4/3 -A:AB$ DealDamage | Cost$ T | Defined$ Opponent | NumDmg$ XOpp | SubAbility$ DBDealDamage | SpellDescription$ CARDNAME deals damage to each player equal to half that player's life total, rounded down. -SVar:DBDealDamage:DB$DealDamage | Cost$ 0 | Defined$ You | NumDmg$ XYou +A:AB$ DealDamage | Cost$ T | Defined$ Opponent | NumDmg$ XOpp | SubAbility$ DBDealDamage | References$ XOpp | SpellDescription$ CARDNAME deals damage to each player equal to half that player's life total, rounded down. +SVar:DBDealDamage:DB$DealDamage | Cost$ 0 | Defined$ You | NumDmg$ XYou | References$ XYou SVar:XOpp:Count$OppLifeTotal/HalfDown SVar:XYou:Count$YourLifeTotal/HalfDown SVar:RemRandomDeck:True diff --git a/res/cardsfolder/h/heat_ray.txt b/res/cardsfolder/h/heat_ray.txt index 2e911d96f6d..9e652c99aef 100644 --- a/res/cardsfolder/h/heat_ray.txt +++ b/res/cardsfolder/h/heat_ray.txt @@ -2,7 +2,7 @@ Name:Heat Ray ManaCost:X R Types:Instant Text:no text -A:SP$ DealDamage | Cost$ X R | Tgt$ TgtC | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target creature. +A:SP$ DealDamage | Cost$ X R | Tgt$ TgtC | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to target creature. SVar:X:Count$xPaid SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/heat_ray.jpg diff --git a/res/cardsfolder/h/heavens_gate.txt b/res/cardsfolder/h/heavens_gate.txt index c7cfb0ea195..a3639d74dcd 100644 --- a/res/cardsfolder/h/heavens_gate.txt +++ b/res/cardsfolder/h/heavens_gate.txt @@ -2,7 +2,7 @@ Name:Heaven's Gate ManaCost:W Types:Instant Text:no text -A:SP$ Animate | Cost$ W | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ MaxTgts | TgtPrompt$ Select target creatures | Colors$ White | OverwriteColors$ True | SpellDescription$ Any number of target creatures become white until end of turn. +A:SP$ Animate | Cost$ W | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ MaxTgts | TgtPrompt$ Select target creatures | Colors$ White | OverwriteColors$ True | References$ MaxTgts | SpellDescription$ Any number of target creatures become white until end of turn. SVar:MaxTgts:Count$Valid Creature SVar:RemAIDeck:True SVar:RemRandomDeck:True diff --git a/res/cardsfolder/h/heed_the_mists.txt b/res/cardsfolder/h/heed_the_mists.txt index abdf8224a4d..962d833baff 100644 --- a/res/cardsfolder/h/heed_the_mists.txt +++ b/res/cardsfolder/h/heed_the_mists.txt @@ -3,7 +3,7 @@ ManaCost:3 U U Types:Sorcery Arcane Text:no text A:SP$ Mill | Cost$ 3 U U | Defined$ You | NumCards$ 1 | RememberMilled$ True | SubAbility$ TrigDraw | SpellDescription$ Put the top card of your library into your graveyard, then draw cards equal to that card's converted mana cost. -SVar:TrigDraw:DB$Draw | NumCards$ X | SubAbility$ DBCleanup +SVar:TrigDraw:DB$Draw | NumCards$ X | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:X:Remembered$CardManaCost SVar:Rarity:Uncommon diff --git a/res/cardsfolder/h/heliophial.txt b/res/cardsfolder/h/heliophial.txt index f06c4ef9e7d..88323f09b6a 100644 --- a/res/cardsfolder/h/heliophial.txt +++ b/res/cardsfolder/h/heliophial.txt @@ -2,7 +2,7 @@ Name:Heliophial ManaCost:5 Types:Artifact Text:no text -A:AB$ DealDamage | Cost$ 2 Sac<1/CARDNAME> | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to the number of charge counters on it to target creature or player. +A:AB$ DealDamage | Cost$ 2 Sac<1/CARDNAME> | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to the number of charge counters on it to target creature or player. K:Sunburst SVar:X:Count$CardCounters.CHARGE SVar:Rarity:Common diff --git a/res/cardsfolder/h/helix_pinnacle.txt b/res/cardsfolder/h/helix_pinnacle.txt index 7b002194f51..f0778813708 100644 --- a/res/cardsfolder/h/helix_pinnacle.txt +++ b/res/cardsfolder/h/helix_pinnacle.txt @@ -5,7 +5,7 @@ Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | IsPresent$ Card.Self+counters_GE100_TOWER | Execute$ TrigWinGame | TriggerDescription$ At the beginning of your upkeep, if there are 100 or more tower counters on Helix Pinnacle, you win the game. SVar:TrigWinGame:AB$WinsGame | Cost$ 0 | Defined$ You K:Shroud -A:AB$ PutCounter | Cost$ X | CounterType$ TOWER | CounterNum$ X | SpellDescription$ Put a tower counter on CARDNAME. +A:AB$ PutCounter | Cost$ X | CounterType$ TOWER | CounterNum$ X | References$ X | SpellDescription$ Put a tower counter on CARDNAME. SVar:X:Count$xPaid SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/h/hellfire.txt b/res/cardsfolder/h/hellfire.txt index 81a8b570e1b..c81fc45d20d 100644 --- a/res/cardsfolder/h/hellfire.txt +++ b/res/cardsfolder/h/hellfire.txt @@ -3,7 +3,7 @@ ManaCost:2 B B B Types:Sorcery Text:no text A:SP$ DestroyAll | Cost$ 2 B B B | ValidCards$ Creature.nonBlack | RememberDestroyed$ True | SubAbility$ DBDealDamage | SpellDescription$ Destroy all nonblack creatures. CARDNAME deals X plus 3 damage to you, where X is the number of creatures put into all graveyards this way. -SVar:DBDealDamage:DB$DealDamage | NumDmg$ X | Defined$ You +SVar:DBDealDamage:DB$DealDamage | NumDmg$ X | Defined$ You | References$ X SVar:X:Remembered$Amount.Plus.3 # Remember Destroyed still isn't quite right since Hellfire cares about Replacement effects too SVar:RemRandomDeck:True diff --git a/res/cardsfolder/h/hellhole_rats.txt b/res/cardsfolder/h/hellhole_rats.txt index 11c7f9be854..ba9b7174e90 100644 --- a/res/cardsfolder/h/hellhole_rats.txt +++ b/res/cardsfolder/h/hellhole_rats.txt @@ -6,7 +6,7 @@ PT:2/2 K:Haste T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigDiscard | TriggerDescription$ When CARDNAME enters the battlefield, target player discards a card. CARDNAME deals damage to that player equal to that card's converted mana cost. SVar:TrigDiscard:AB$Discard | Cost$ 0 | ValidTgts$ Player | TgtPrompt$ Select target player | Mode$ TgtChoose | NumCards$ 1 | RememberDiscarded$ True | SubAbility$ DBDamage -SVar:DBDamage:DB$DealDamage | Defined$ Targeted | NumDmg$ X | SubAbility$ DBCleanup +SVar:DBDamage:DB$DealDamage | Defined$ Targeted | NumDmg$ X | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$CardManaCost SVar:Rarity:Uncommon diff --git a/res/cardsfolder/h/hellion_eruption.txt b/res/cardsfolder/h/hellion_eruption.txt index 0e1538c6fcf..3d0e2e394b1 100644 --- a/res/cardsfolder/h/hellion_eruption.txt +++ b/res/cardsfolder/h/hellion_eruption.txt @@ -3,7 +3,7 @@ ManaCost:5 R Types:Sorcery Text:no text A:SP$ SacrificeAll | Cost$ 5 R | ValidCards$ Creature.YouCtrl | RememberSacrificed$ True | SubAbility$ DBToken | SpellDescription$ Sacrifice all creatures you control, then put that many 4/4 red Hellion creature tokens onto the battlefield. -SVar:DBToken:DB$Token | TokenAmount$ X | TokenName$ Hellion | TokenTypes$ Creature,Hellion | TokenOwner$ You | TokenColors$ Red | TokenPower$ 4 | TokenToughness$ 4 +SVar:DBToken:DB$Token | TokenAmount$ X | TokenName$ Hellion | TokenTypes$ Creature,Hellion | TokenOwner$ You | TokenColors$ Red | TokenPower$ 4 | TokenToughness$ 4 | References$ X SVar:X:Remembered$Amount SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/h/hellkite_hatchling.txt b/res/cardsfolder/h/hellkite_hatchling.txt index 83c4e37c1a3..8abb13a43cf 100644 --- a/res/cardsfolder/h/hellkite_hatchling.txt +++ b/res/cardsfolder/h/hellkite_hatchling.txt @@ -8,5 +8,6 @@ S:Mode$ Continuous | Affected$ Card.Self+HasDevoured | AddKeyword$ Flying & Tram SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/hellkite_hatchling.jpg SetInfo:CFX|Uncommon|http://magiccards.info/scans/en/cfx/111.jpg +SetInfo:PC2|Uncommon|http://magiccards.info/scans/en/pc2/95.jpg Oracle:Devour 1 (As this enters the battlefield, you may sacrifice any number of creatures. This creature enters the battlefield with that many +1/+1 counters on it.)\nHellkite Hatchling has flying and trample if it devoured a creature. End \ No newline at end of file diff --git a/res/cardsfolder/h/hellkite_igniter.txt b/res/cardsfolder/h/hellkite_igniter.txt index ebb62aaa531..91c04ff709a 100644 --- a/res/cardsfolder/h/hellkite_igniter.txt +++ b/res/cardsfolder/h/hellkite_igniter.txt @@ -5,7 +5,7 @@ Text:no text PT:5/5 K:Flying K:Haste -A:AB$ Pump | Cost$ 1 R | NumAtt$ +X | SpellDescription$ CARDNAME gets +X/+0 until end of turn, where X is the number of artifacts you control. +A:AB$ Pump | Cost$ 1 R | NumAtt$ +X | References$ X | SpellDescription$ CARDNAME gets +X/+0 until end of turn, where X is the number of artifacts you control. SVar:X:Count$TypeYouCtrl.Artifact SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/hellkite_igniter.jpg diff --git a/res/cardsfolder/h/heretics_punishment.txt b/res/cardsfolder/h/heretics_punishment.txt index f2ea8937bab..bc029e4c05c 100644 --- a/res/cardsfolder/h/heretics_punishment.txt +++ b/res/cardsfolder/h/heretics_punishment.txt @@ -3,7 +3,7 @@ ManaCost:4 R Types:Enchantment Text:no text A:AB$ Mill | Cost$ 3 R | NumCards$ 3 | RememberMilled$ True | SubAbility$ DBHereticDamage | SpellDescription$ Choose target creature or player, then put the top three cards of your library into your graveyard. CARDNAME deals damage to that creature or player equal to the highest converted mana cost among those cards. -SVar:DBHereticDamage:DB$ DealDamage | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | NumDmg$ HereticX | SubAbility$ DBHereticCleanup +SVar:DBHereticDamage:DB$ DealDamage | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | NumDmg$ HereticX | SubAbility$ DBHereticCleanup | References$ HereticX SVar:DBHereticCleanup:DB$ Cleanup | ClearRemembered$ True SVar:HereticX:Count$HighestCMCRemembered SVar:RemAIDeck:True diff --git a/res/cardsfolder/h/hex_parasite.txt b/res/cardsfolder/h/hex_parasite.txt index 32546656121..f8947d98788 100644 --- a/res/cardsfolder/h/hex_parasite.txt +++ b/res/cardsfolder/h/hex_parasite.txt @@ -3,8 +3,8 @@ ManaCost:1 Types:Artifact Creature Insect Text:no text PT:1/1 -A:AB$ RemoveCounter | Cost$ X PB | ValidTgts$ Permanent | TgtPrompt$ Select target permanent | CounterType$ Any | CounterNum$ X | RememberRemoved$ True | SubAbility$ DBPump | SpellDescription$ Remove up to X counters from target permanent. For each counter removed this way, CARDNAME gets +1/+0 until end of turn. -SVar:DBPump:DB$Pump | NumAtt$ +Y | Defined$ Self | SubAbility$ DBCleanup +A:AB$ RemoveCounter | Cost$ X PB | ValidTgts$ Permanent | TgtPrompt$ Select target permanent | CounterType$ Any | CounterNum$ X | RememberRemoved$ True | SubAbility$ DBPump | References$ X | SpellDescription$ Remove up to X counters from target permanent. For each counter removed this way, CARDNAME gets +1/+0 until end of turn. +SVar:DBPump:DB$Pump | NumAtt$ +Y | Defined$ Self | SubAbility$ DBCleanup | References$ Y SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$xPaid SVar:Y:Count$RememberedSize diff --git a/res/cardsfolder/h/hidden_horror.txt b/res/cardsfolder/h/hidden_horror.txt index d9948ea1aee..b4a4b1c0b63 100644 --- a/res/cardsfolder/h/hidden_horror.txt +++ b/res/cardsfolder/h/hidden_horror.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDiscard | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you discard a creature card. SVar:TrigDiscard:AB$ Discard | Cost$ 0 | NumCards$ 1 | DiscardValid$ Creature | Mode$ TgtChoose | Optional$ True | RememberDiscarded$ True | SubAbility$ DBSacSelf -SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 +SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:NeedsToPlayVar:Y GE2 diff --git a/res/cardsfolder/h/hidetsugus_second_rite.txt b/res/cardsfolder/h/hidetsugus_second_rite.txt index 695afef088c..b5f08cb6d87 100644 --- a/res/cardsfolder/h/hidetsugus_second_rite.txt +++ b/res/cardsfolder/h/hidetsugus_second_rite.txt @@ -2,7 +2,7 @@ Name:Hidetsugu's Second Rite ManaCost:3 R Types:Instant Text:no text -A:SP$ DealDamage | Cost$ 3 R | ValidTgts$ Player | TgtPrompt$ Select target player | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ10 | NumDmg$ 10 | SpellDescription$ If target player has exactly 10 life, CARDNAME deals 10 damage to that player. +A:SP$ DealDamage | Cost$ 3 R | ValidTgts$ Player | TgtPrompt$ Select target player | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ10 | NumDmg$ 10 | References$ X | SpellDescription$ If target player has exactly 10 life, CARDNAME deals 10 damage to that player. SVar:X:TargetedPlayer$LifeTotal SVar:RemAIDeck:True SVar:RemRandomDeck:True diff --git a/res/cardsfolder/h/hoard_smelter_dragon.txt b/res/cardsfolder/h/hoard_smelter_dragon.txt index cbd3b0ca417..f4000f421a6 100644 --- a/res/cardsfolder/h/hoard_smelter_dragon.txt +++ b/res/cardsfolder/h/hoard_smelter_dragon.txt @@ -5,7 +5,7 @@ Text:no text PT:5/5 K:Flying A:AB$ Destroy | Cost$ 3 R | ValidTgts$ Artifact | TgtPrompt$ Select target artifact | SubAbility$ DBPump | SpellDescription$ Destroy target artifact. CARDNAME gets +X/+0 until end of turn, where X is that artifact's converted mana cost. -SVar:DBPump:DB$Pump | NumAtt$ X +SVar:DBPump:DB$Pump | NumAtt$ X | References$ X SVar:X:Targeted$CardManaCost SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/hoard_smelter_dragon.jpg diff --git a/res/cardsfolder/h/hollow_trees.txt b/res/cardsfolder/h/hollow_trees.txt index 7a0489d5350..a2dc76b27f7 100644 --- a/res/cardsfolder/h/hollow_trees.txt +++ b/res/cardsfolder/h/hollow_trees.txt @@ -6,7 +6,7 @@ K:CARDNAME enters the battlefield tapped. K:You may choose not to untap CARDNAME during your untap step. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | IsPresent$ Card.Self+tapped | Execute$ TrigStore | TriggerDescription$ At the beginning of your upkeep, if CARDNAME is tapped, put a storage counter on it. SVar:TrigStore:DB$PutCounter | Defined$ Self | CounterType$ STORAGE | CounterNum$ 1 -A:AB$ Mana | Cost$ T SubCounter | Produced$ G | Amount$ ChosenX | CostDesc$ Tap, Remove any number of storage counters from CARDNAME: | SpellDescription$ Add G to your mana pool for each storage counter removed this way. +A:AB$ Mana | Cost$ T SubCounter | Produced$ G | Amount$ ChosenX | CostDesc$ Tap, Remove any number of storage counters from CARDNAME: | References$ X | SpellDescription$ Add G to your mana pool for each storage counter removed this way. SVar:X:XChoice #ChosenX SVar created by Cost payment SVar:RemAIDeck:True diff --git a/res/cardsfolder/h/homarid_spawning_bed.txt b/res/cardsfolder/h/homarid_spawning_bed.txt index e769ec09fcb..fb2c6559dcb 100644 --- a/res/cardsfolder/h/homarid_spawning_bed.txt +++ b/res/cardsfolder/h/homarid_spawning_bed.txt @@ -2,7 +2,7 @@ Name:Homarid Spawning Bed ManaCost:U U Types:Enchantment Text:no text -A:AB$ Token | Cost$ 1 U U Sac<1/Creature.Blue/blue creature> | TokenImage$ U 1 1 Camarid | TokenAmount$ X | TokenName$ Camarid | TokenTypes$ Creature,Camarid | TokenOwner$ You | TokenColors$ Blue | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put X 1/1 blue Camarid creature tokens onto the battlefield, where X is the sacrificed creature's converted mana cost. +A:AB$ Token | Cost$ 1 U U Sac<1/Creature.Blue/blue creature> | TokenImage$ U 1 1 Camarid | TokenAmount$ X | TokenName$ Camarid | TokenTypes$ Creature,Camarid | TokenOwner$ You | TokenColors$ Blue | TokenPower$ 1 | TokenToughness$ 1 | References$ X | SpellDescription$ Put X 1/1 blue Camarid creature tokens onto the battlefield, where X is the sacrificed creature's converted mana cost. SVar:X:Sacrificed$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/h/honden_of_cleansing_fire.txt b/res/cardsfolder/h/honden_of_cleansing_fire.txt index fc90ce53501..ed67a6defa2 100644 --- a/res/cardsfolder/h/honden_of_cleansing_fire.txt +++ b/res/cardsfolder/h/honden_of_cleansing_fire.txt @@ -3,7 +3,7 @@ ManaCost:3 W Types:Legendary Enchantment Shrine Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigGainLife | TriggerDescription$ At the beginning of your upkeep, you gain 2 life for each Shrine you control. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:Count$TypeYouCtrl.Shrine/Times.2 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/honden_of_cleansing_fire.jpg diff --git a/res/cardsfolder/h/honden_of_infinite_rage.txt b/res/cardsfolder/h/honden_of_infinite_rage.txt index 2aa22268c3c..85e318bc6bf 100644 --- a/res/cardsfolder/h/honden_of_infinite_rage.txt +++ b/res/cardsfolder/h/honden_of_infinite_rage.txt @@ -3,7 +3,7 @@ ManaCost:2 R Types:Legendary Enchantment Shrine Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ At the beginning of your upkeep, CARDNAME deals damage to target creature or player equal to the number of Shrines you control. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Tgt$ TgtCP | NumDmg$ X +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Tgt$ TgtCP | NumDmg$ X | References$ X SVar:X:Count$TypeYouCtrl.Shrine SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/honden_of_infinite_rage.jpg diff --git a/res/cardsfolder/h/honden_of_lifes_web.txt b/res/cardsfolder/h/honden_of_lifes_web.txt index 2ac6fa971fa..dc234bd9e2e 100644 --- a/res/cardsfolder/h/honden_of_lifes_web.txt +++ b/res/cardsfolder/h/honden_of_lifes_web.txt @@ -3,7 +3,7 @@ ManaCost:4 G Types:Legendary Enchantment Shrine Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ At the beginning of your upkeep, put a 1/1 colorless Spirit creature token onto the battlefield for each Shrine you control. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Spirit | TokenTypes$ Creature,Spirit | TokenOwner$ You | TokenColors$ Colorless | TokenPower$ 1 | TokenToughness$ 1 +SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Spirit | TokenTypes$ Creature,Spirit | TokenOwner$ You | TokenColors$ Colorless | TokenPower$ 1 | TokenToughness$ 1 | References$ X SVar:X:Count$TypeYouCtrl.Shrine SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/honden_of_lifes_web.jpg diff --git a/res/cardsfolder/h/honden_of_nights_reach.txt b/res/cardsfolder/h/honden_of_nights_reach.txt index 3e13491e8ff..ec3c95d47e4 100644 --- a/res/cardsfolder/h/honden_of_nights_reach.txt +++ b/res/cardsfolder/h/honden_of_nights_reach.txt @@ -3,7 +3,7 @@ ManaCost:3 B Types:Legendary Enchantment Shrine Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDiscard | TriggerDescription$ At the beginning of your upkeep, target opponent discards a card for each Shrine you control. -SVar:TrigDiscard:AB$Discard | Cost$ 0 | ValidTgts$ Opponent | NumCards$ X | Mode$ TgtChoose +SVar:TrigDiscard:AB$Discard | Cost$ 0 | ValidTgts$ Opponent | NumCards$ X | Mode$ TgtChoose | References$ X SVar:X:Count$TypeYouCtrl.Shrine SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/honden_of_nights_reach.jpg diff --git a/res/cardsfolder/h/honden_of_seeing_winds.txt b/res/cardsfolder/h/honden_of_seeing_winds.txt index d7f5d029c01..71cc13f64c1 100644 --- a/res/cardsfolder/h/honden_of_seeing_winds.txt +++ b/res/cardsfolder/h/honden_of_seeing_winds.txt @@ -3,7 +3,7 @@ ManaCost:4 U Types:Legendary Enchantment Shrine Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ At the beginning of your upkeep, draw a card for each Shrine you control. -SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ X +SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ X | References$ X SVar:X:Count$TypeYouCtrl.Shrine SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/honden_of_seeing_winds.jpg diff --git a/res/cardsfolder/h/honor_the_fallen.txt b/res/cardsfolder/h/honor_the_fallen.txt index 3c24602c5ec..987bbc3bad0 100644 --- a/res/cardsfolder/h/honor_the_fallen.txt +++ b/res/cardsfolder/h/honor_the_fallen.txt @@ -3,7 +3,7 @@ ManaCost:1 W Types:Instant Text:no text A:SP$ ChangeZoneAll | Cost$ 1 W | ChangeType$ Creature | Origin$ Graveyard | Destination$ Exile | RememberChanged$ True | ForgetOtherRemembered$ True | SubAbility$ DBGainLife | SpellDescription$ Exile all creature cards from all graveyards. You gain 1 life for each card exiled this way. -SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X +SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Remembered$Amount SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/honor_the_fallen.jpg diff --git a/res/cardsfolder/h/horned_cheetah.txt b/res/cardsfolder/h/horned_cheetah.txt index 4c84d9730df..180ed5c0578 100644 --- a/res/cardsfolder/h/horned_cheetah.txt +++ b/res/cardsfolder/h/horned_cheetah.txt @@ -4,7 +4,7 @@ Types:Creature Cat Text:no text PT:2/2 T:Mode$ DamageDone | ValidSource$ Card.Self | Execute$ TrigGain | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals damage, you gain that much life. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/horned_cheetah.jpg diff --git a/res/cardsfolder/h/horned_helm.txt b/res/cardsfolder/h/horned_helm.txt index 88067876e5f..bcfb2a46b32 100644 --- a/res/cardsfolder/h/horned_helm.txt +++ b/res/cardsfolder/h/horned_helm.txt @@ -4,7 +4,6 @@ Types:Artifact Equipment Text:Equipped creature gets +1/+1 and has trample. K:eqPump 1:+1/+1/Trample A:AB$ Attach | Cost$ G G | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | SpellDescription$ Attach CARDNAME to target creature you control. -SVar:X:Count$Valid Artifact.YouCtrl SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/horned_helm.jpg SetInfo:5DN|Common|http://magiccards.info/scans/en/5dn/132.jpg diff --git a/res/cardsfolder/h/howl_from_beyond.txt b/res/cardsfolder/h/howl_from_beyond.txt index d743d417632..f83e74049ce 100644 --- a/res/cardsfolder/h/howl_from_beyond.txt +++ b/res/cardsfolder/h/howl_from_beyond.txt @@ -2,7 +2,7 @@ Name:Howl from Beyond ManaCost:X B Types:Instant Text:no text -A:SP$ Pump | Cost$ X B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | SpellDescription$ Target creature gets +X/+0 until end of turn. +A:SP$ Pump | Cost$ X B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | References$ X | SpellDescription$ Target creature gets +X/+0 until end of turn. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/h/howl_of_the_night_pack.txt b/res/cardsfolder/h/howl_of_the_night_pack.txt index e91469b4a49..09f162f585c 100644 --- a/res/cardsfolder/h/howl_of_the_night_pack.txt +++ b/res/cardsfolder/h/howl_of_the_night_pack.txt @@ -2,7 +2,7 @@ Name:Howl of the Night Pack ManaCost:6 G Types:Sorcery Text:Put a 2/2 green Wolf creature token onto the battlefield for each Forest you control. -A:SP$ Token | Cost$ 6 G | TokenAmount$ X | TokenName$ Wolf | TokenTypes$ Creature,Wolf | TokenOwner$ You | TokenColors$ Green | TokenPower$ 2 | TokenToughness$ 2 +A:SP$ Token | Cost$ 6 G | TokenAmount$ X | TokenName$ Wolf | TokenTypes$ Creature,Wolf | TokenOwner$ You | TokenColors$ Green | TokenPower$ 2 | TokenToughness$ 2 | References$ X SVar:X:Count$TypeYouCtrl.Forest SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/howl_of_the_night_pack.jpg diff --git a/res/cardsfolder/h/howltooth_hollow.txt b/res/cardsfolder/h/howltooth_hollow.txt index 8ea0d1710ce..1720b237cf7 100644 --- a/res/cardsfolder/h/howltooth_hollow.txt +++ b/res/cardsfolder/h/howltooth_hollow.txt @@ -6,7 +6,7 @@ K:Hideaway T:Mode$ ChangesZone | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDig | TriggerDescription$ This land enters the battlefield tapped. When it does, look at the top four cards of your library, exile one face down, then put the rest on the bottom of your library. SVar:TrigDig:AB$ Dig | Cost$ 0 | Defined$ You | DigNum$ 4 | DestinationZone$ Exile | ExileFaceDown$ True | RememberChanged$ True A:AB$ Mana | Cost$ T | Produced$ B | SpellDescription$ Add B to your mana pool. -A:AB$ Play | Cost$ B T | Defined$ Remembered | Controller$ You | WithoutManaCost$ True | Optional$ True | ConditionCheckSVar$ Hands | ConditionSVarCompare$ EQ0 | ForgetRemembered$ True | SpellDescription$ You may play the exiled card without paying its mana cost if each player has no cards in hand. +A:AB$ Play | Cost$ B T | Defined$ Remembered | Controller$ You | WithoutManaCost$ True | Optional$ True | ConditionCheckSVar$ Hands | ConditionSVarCompare$ EQ0 | ForgetRemembered$ True | References$ Hands | SpellDescription$ You may play the exiled card without paying its mana cost if each player has no cards in hand. SVar:Hands:Count$NumInAllHands SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/h/hunger_of_the_howlpack.txt b/res/cardsfolder/h/hunger_of_the_howlpack.txt index cde87920d91..11c5245f984 100644 --- a/res/cardsfolder/h/hunger_of_the_howlpack.txt +++ b/res/cardsfolder/h/hunger_of_the_howlpack.txt @@ -2,7 +2,7 @@ Name:Hunger of the Howlpack ManaCost:G Types:Instant Text:no text -A:SP$ PutCounter | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterType$ P1P1 | CounterNum$ X | SpellDescription$ Put a +1/+1 counter on target creature. Morbid - Put three +1/+1 counters on that creature instead if a creature died this turn. +A:SP$ PutCounter | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterType$ P1P1 | CounterNum$ X | References$ X | SpellDescription$ Put a +1/+1 counter on target creature. Morbid - Put three +1/+1 counters on that creature instead if a creature died this turn. SVar:X:Count$Morbid.3.1 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/hunger_of_the_howlpack.jpg diff --git a/res/cardsfolder/h/hunger_of_the_nim.txt b/res/cardsfolder/h/hunger_of_the_nim.txt index ee25f3fa6eb..a6e7fc0aa87 100644 --- a/res/cardsfolder/h/hunger_of_the_nim.txt +++ b/res/cardsfolder/h/hunger_of_the_nim.txt @@ -2,7 +2,7 @@ Name:Hunger of the Nim ManaCost:1 B Types:Sorcery Text:no text -A:SP$ Pump | Cost$ 1 B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | SpellDescription$ Target creature gets +1/+0 until end of turn for each artifact you control. +A:SP$ Pump | Cost$ 1 B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | References$ X | SpellDescription$ Target creature gets +1/+0 until end of turn for each artifact you control. SVar:X:Count$TypeYouCtrl.Artifact SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/h/hunters_insight.txt b/res/cardsfolder/h/hunters_insight.txt index cecaa5267c8..f731e9598cd 100644 --- a/res/cardsfolder/h/hunters_insight.txt +++ b/res/cardsfolder/h/hunters_insight.txt @@ -4,7 +4,7 @@ Types:Instant Text:no text A:SP$ Effect | Cost$ 2 G | Name$ Hunter's Insight Effect | ValidTgts$ Creature | TgtPrompt$ Select target creature | Triggers$ TrigDamage | SVars$ TrigDraw,X | RememberObjects$ Targeted | SpellDescription$ Choose target creature you control. Whenever that creature deals combat damage to a player or planeswalker this turn, draw that many cards. SVar:TrigDamage:Mode$ DamageDone | ValidSource$ Creature.IsRemembered | ValidTarget$ Player,Planeswalker | Execute$ TrigDraw | CombatDamage$ True | TriggerDescription$ Whenever that creature deals combat damage to a player or planeswalker this turn, draw that many cards. -SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ X +SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/h/hurricane.txt b/res/cardsfolder/h/hurricane.txt index c7584acff12..3f08876a0d3 100644 --- a/res/cardsfolder/h/hurricane.txt +++ b/res/cardsfolder/h/hurricane.txt @@ -2,7 +2,7 @@ Name:Hurricane ManaCost:X G Types:Sorcery Text:no text -A:SP$ DamageAll | Cost$ X G | ValidCards$ Creature.withFlying | ValidPlayers$ Each | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to each creature with flying and each player. +A:SP$ DamageAll | Cost$ X G | ValidCards$ Creature.withFlying | ValidPlayers$ Each | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to each creature with flying and each player. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/h/hydroblast.txt b/res/cardsfolder/h/hydroblast.txt index 89a677b7304..3e76d2e2b6c 100644 --- a/res/cardsfolder/h/hydroblast.txt +++ b/res/cardsfolder/h/hydroblast.txt @@ -2,7 +2,7 @@ Name:Hydroblast ManaCost:U Types:Instant Text:no text -A:SP$ Counter | Cost$ U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | AITgts$ Card.Red | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | PrecostDesc$ Choose one - | SpellDescription$ Counter target spell if it's red; +A:SP$ Counter | Cost$ U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | AITgts$ Card.Red | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | PrecostDesc$ Choose one - | References$ X | SpellDescription$ Counter target spell if it's red; A:SP$ Destroy | Cost$ U | ValidTgts$ Permanent | AITgts$ Card.Red | TgtPrompt$ Select target permanent | ConditionDefined$ Targeted | ConditionPresent$ Card.Red | ConditionCompare$ GE1 | SpellDescription$ or destroy target permanent if it's red. SVar:X:Targeted$Valid Card.Red SVar:RemRandomDeck:True diff --git a/res/cardsfolder/i/ib_halfheart_goblin_tactician.txt b/res/cardsfolder/i/ib_halfheart_goblin_tactician.txt index 94b4b937122..871e5a7e2b2 100644 --- a/res/cardsfolder/i/ib_halfheart_goblin_tactician.txt +++ b/res/cardsfolder/i/ib_halfheart_goblin_tactician.txt @@ -6,7 +6,7 @@ PT:3/2 A:AB$ Token | Cost$ Sac<2/Mountain> | TokenAmount$ 2 | TokenPower$ 1 | TokenName$ Goblin | TokenToughness$ 1 | TokenColors$ Red | TokenTypes$ Creature,Goblin | TokenOwner$ You | SpellDescription$ Put two 1/1 red Goblin creature tokens onto the battlefield. T:Mode$ Blocks | ValidCard$ Creature.YouDontCtrl | ValidBlocked$ Goblin.YouCtrl+Other | Execute$ HalfHeartTrigSacrifice | TriggerZones$ Battlefield | TriggerDescription$ Whenever another Goblin you control becomes blocked, sacrifice it. If you do, it deals 4 damage to each creature blocking it. SVar:HalfHeartTrigSacrifice:AB$ Sacrifice | Cost$ 0 | SacValid$ TriggeredAttacker | RememberSacrificed$ True | SubAbility$ HalfHeartDBDamage -SVar:HalfHeartDBDamage:DB$ DealDamage | DamageSource$ TriggeredAttacker | NumDmg$ 4 | Defined$ TriggeredBlocker | ConditionCheckSVar$ GoblinX | ConditionSVarCompare$ EQ1 +SVar:HalfHeartDBDamage:DB$ DealDamage | DamageSource$ TriggeredAttacker | NumDmg$ 4 | Defined$ TriggeredBlocker | ConditionCheckSVar$ GoblinX | ConditionSVarCompare$ EQ1 | References$ GoblinX T:Mode$ Phase | Phase$ EndCombat | ValidPlayer$ You | Execute$ DBCleanup | TriggerZones$ Battlefield | Static$ True | Secondary$ True | TriggerDescription$ Clear Remembered List SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:GoblinX:TriggeredAttacker$Valid Card.IsRemembered diff --git a/res/cardsfolder/i/icatian_moneychanger.txt b/res/cardsfolder/i/icatian_moneychanger.txt index bfdc0edf843..fff95d69637 100644 --- a/res/cardsfolder/i/icatian_moneychanger.txt +++ b/res/cardsfolder/i/icatian_moneychanger.txt @@ -8,7 +8,7 @@ T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.S SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Defined$ You | NumDmg$ 3 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, put a credit counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ CREDIT | CounterNum$ 1 | SpellDescription$ Put a credit counter on CARDNAME. -A:AB$ GainLife | Cost$ Sac<1/CARDNAME> | LifeAmount$ X | PlayerTurn$ True | ActivationPhases$ Upkeep | SpellDescription$ You gain life equal to the number of credit counters on CARDNAME. +A:AB$ GainLife | Cost$ Sac<1/CARDNAME> | LifeAmount$ X | PlayerTurn$ True | ActivationPhases$ Upkeep | References$ X | SpellDescription$ You gain life equal to the number of credit counters on CARDNAME. SVar:X:Count$CardCounters.CREDIT SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/i/icatian_store.txt b/res/cardsfolder/i/icatian_store.txt index 5237744d11e..1e8eb26dfd3 100644 --- a/res/cardsfolder/i/icatian_store.txt +++ b/res/cardsfolder/i/icatian_store.txt @@ -6,7 +6,7 @@ K:CARDNAME enters the battlefield tapped. K:You may choose not to untap CARDNAME during your untap step. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | IsPresent$ Card.Self+tapped | Execute$ TrigStore | TriggerDescription$ At the beginning of your upkeep, if CARDNAME is tapped, put a storage counter on it. SVar:TrigStore:DB$PutCounter | Defined$ Self | CounterType$ STORAGE | CounterNum$ 1 -A:AB$ Mana | Cost$ T SubCounter | Produced$ W | Amount$ ChosenX | CostDesc$ Tap, Remove any number of storage counters from CARDNAME: | SpellDescription$ Add W to your mana pool for each storage counter removed this way. +A:AB$ Mana | Cost$ T SubCounter | Produced$ W | Amount$ ChosenX | CostDesc$ Tap, Remove any number of storage counters from CARDNAME: | References$ X | SpellDescription$ Add W to your mana pool for each storage counter removed this way. SVar:X:XChoice #ChosenX SVar created by Cost payment SVar:RemAIDeck:True diff --git a/res/cardsfolder/i/ichor_explosion.txt b/res/cardsfolder/i/ichor_explosion.txt index 955ed4d4684..c632ad59712 100644 --- a/res/cardsfolder/i/ichor_explosion.txt +++ b/res/cardsfolder/i/ichor_explosion.txt @@ -2,7 +2,7 @@ Name:Ichor Explosion ManaCost:5 B B Types:Sorcery Text:no text -A:SP$ PumpAll | Cost$ 5 B B Sac<1/Creature> | ValidCards$ Creature | IsCurse$ True | NumAtt$ -X | NumDef$ -X | SpellDescription$ All creatures get -X/-X until end of turn, where X is the sacrificed creature's power. +A:SP$ PumpAll | Cost$ 5 B B Sac<1/Creature> | ValidCards$ Creature | IsCurse$ True | NumAtt$ -X | NumDef$ -X | References$ X | SpellDescription$ All creatures get -X/-X until end of turn, where X is the sacrificed creature's power. SVar:X:Sacrificed$CardPower SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/i/ignite_memories.txt b/res/cardsfolder/i/ignite_memories.txt index 9353fcec4b9..26bad354aa3 100644 --- a/res/cardsfolder/i/ignite_memories.txt +++ b/res/cardsfolder/i/ignite_memories.txt @@ -4,7 +4,7 @@ Types:Sorcery Text:no text K:Storm A:SP$ Reveal | Cost$ 4 R | Random$ True | RememberRevealed$ True | ValidTgts$ Player | TgtPrompt$ Select target player | SubAbility$ DBDamage | SpellDescription$ Target player reveals a card at random from his or her hand. CARDNAME deals damage to that player equal to that card's converted mana cost. -SVar:DBDamage:DB$ DealDamage | NumDmg$ X | Defined$ Targeted | SubAbility$ DBCleanup +SVar:DBDamage:DB$ DealDamage | NumDmg$ X | Defined$ Targeted | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$CardManaCost SVar:Rarity:Uncommon diff --git a/res/cardsfolder/i/illumination.txt b/res/cardsfolder/i/illumination.txt index 59d31a3d399..275cadaea99 100644 --- a/res/cardsfolder/i/illumination.txt +++ b/res/cardsfolder/i/illumination.txt @@ -3,7 +3,7 @@ ManaCost:W W Types:Instant Text:no text A:SP$ Counter | Cost$ W W | TargetType$ Spell | TgtPrompt$ Select target Artifact or Enchantment spell | ValidTgts$ Artifact,Enchantment | SubAbility$ DBGainLife | SpellDescription$ Counter target artifact or enchantment spell. Its controller gains life equal to its converted mana cost. -SVar:DBGainLife:DB$ GainLife | Defined$ TargetedController | LifeAmount$ X +SVar:DBGainLife:DB$ GainLife | Defined$ TargetedController | LifeAmount$ X | References$ X SVar:X:Targeted$CardManaCost SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/illumination.jpg diff --git a/res/cardsfolder/i/immaculate_magistrate.txt b/res/cardsfolder/i/immaculate_magistrate.txt index 32cb07c8b95..1d46e27629f 100644 --- a/res/cardsfolder/i/immaculate_magistrate.txt +++ b/res/cardsfolder/i/immaculate_magistrate.txt @@ -3,7 +3,7 @@ ManaCost:3 G Types:Creature Elf Shaman Text:no text PT:2/2 -A:AB$ PutCounter | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterType$ P1P1 | CounterNum$ X | SpellDescription$ Put a +1/+1 counter on target creature for each Elf you control. +A:AB$ PutCounter | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterType$ P1P1 | CounterNum$ X | References$ X | SpellDescription$ Put a +1/+1 counter on target creature for each Elf you control. SVar:X:Count$Valid Elf.YouCtrl SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/immaculate_magistrate.jpg diff --git a/res/cardsfolder/i/immortal_coil.txt b/res/cardsfolder/i/immortal_coil.txt index a16c4178e6b..b2b1d3bdffa 100644 --- a/res/cardsfolder/i/immortal_coil.txt +++ b/res/cardsfolder/i/immortal_coil.txt @@ -4,7 +4,7 @@ Types:Artifact Text:no text A:AB$ Draw | Cost$ T ExileFromGrave<2/Card> | CostDesc$ T, Exile two cards from your graveyard | NumCards$ 1 | SpellDescription$ Draw a card. R:Event$ DamageDone | ValidTarget$ You | ReplaceWith$ ChangeZone | PreventionEffect$ True | Description$ If damage would be dealt to you, prevent that damage. Exile a card from your graveyard for each 1 damage prevented this way. -SVar:ChangeZone:AB$ ChangeZone | Cost$ 0 | Hidden$ True | Mandatory$ True | ChangeType$ Card | ChangeNum$ X | DefinedPlayer$ ReplacedTarget | Origin$ Graveyard | Destination$ Exile +SVar:ChangeZone:AB$ ChangeZone | Cost$ 0 | Hidden$ True | Mandatory$ True | ChangeType$ Card | ChangeNum$ X | DefinedPlayer$ ReplacedTarget | Origin$ Graveyard | Destination$ Exile | References$ X T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Card.YouCtrl | PresentZone$ Graveyard | PresentCompare$ EQ0 | Execute$ TrigLoseGame | TriggerDescription$ When there are no cards in your graveyard, you lose the game. SVar:TrigLoseGame:AB$ LosesGame | Cost$ 0 | Defined$ You SVar:X:ReplaceCount$DamageAmount diff --git a/res/cardsfolder/i/impelled_giant.txt b/res/cardsfolder/i/impelled_giant.txt index e2d6c7193b2..d821b830752 100644 --- a/res/cardsfolder/i/impelled_giant.txt +++ b/res/cardsfolder/i/impelled_giant.txt @@ -4,7 +4,7 @@ Types:Creature Giant Warrior Text:no text PT:3/3 K:Trample -A:AB$ Pump | Cost$ tapXType<1/Creature.Red+Other/other red creature> | NumAtt$ +X | SpellDescription$ CARDNAME gets +X/+0 until end of turn, where X is the power of the creature tapped this way. +A:AB$ Pump | Cost$ tapXType<1/Creature.Red+Other/other red creature> | NumAtt$ +X | References$ X | SpellDescription$ CARDNAME gets +X/+0 until end of turn, where X is the power of the creature tapped this way. SVar:X:Tapped$CardPower SVar:RemAIDeck:True SVar:RemRandomDeck:True diff --git a/res/cardsfolder/i/in_the_eye_of_chaos.txt b/res/cardsfolder/i/in_the_eye_of_chaos.txt index e18535cce70..22d716a1527 100644 --- a/res/cardsfolder/i/in_the_eye_of_chaos.txt +++ b/res/cardsfolder/i/in_the_eye_of_chaos.txt @@ -3,7 +3,7 @@ ManaCost:2 U Types:World Enchantment Text:no text T:Mode$ SpellCast | ValidCard$ Instant | Execute$ TrigCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever a player casts an instant spell, counter it unless that player pays X, where X is its converted mana cost. -SVar:TrigCounter:AB$Counter | Cost$ 0 | Defined$ TriggerSpellAbility | UnlessCost$ X | UnlessPayer$ TriggeredActivator +SVar:TrigCounter:AB$Counter | Cost$ 0 | Defined$ TriggerSpellAbility | UnlessCost$ X | UnlessPayer$ TriggeredActivator | References$ X SVar:X:TriggeredCard$CardManaCost SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/i/iname_death_aspect.txt b/res/cardsfolder/i/iname_death_aspect.txt index 06b4b678aee..320b7b323f2 100644 --- a/res/cardsfolder/i/iname_death_aspect.txt +++ b/res/cardsfolder/i/iname_death_aspect.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Spirit Text:no text PT:4/4 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, you may search your library for any number of Spirit cards and put them into your graveyard. If you do, shuffle your library. -SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | ChangeType$ Spirit.YouCtrl | Origin$ Library | Destination$ Graveyard | ChangeNum$ X | Shuffle$ True +SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | ChangeType$ Spirit.YouCtrl | Origin$ Library | Destination$ Graveyard | ChangeNum$ X | Shuffle$ True | References$ X SVar:X:Count$TypeInYourLibrary.Spirit SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/i/iname_life_aspect.txt b/res/cardsfolder/i/iname_life_aspect.txt index 1065d161d0e..241bc38a529 100644 --- a/res/cardsfolder/i/iname_life_aspect.txt +++ b/res/cardsfolder/i/iname_life_aspect.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigExile | OptionalDecider$ TriggeredCardController | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, you may exile it. If you do, return any number of target Spirit cards from your graveyard to your hand. SVar:TrigExile:AB$ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Exile | ValidCard$ Card.Self | SubAbility$ DBReturn -SVar:DBReturn:DB$ChangeZone | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Spirit.YouCtrl | TargetMin$ 0 | TargetMax$ X +SVar:DBReturn:DB$ChangeZone | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Spirit.YouCtrl | TargetMin$ 0 | TargetMax$ X | References$ X SVar:X:Count$TypeInYourYard.Spirit SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/i/incendiary.txt b/res/cardsfolder/i/incendiary.txt index 017687a598a..7b2a4316824 100644 --- a/res/cardsfolder/i/incendiary.txt +++ b/res/cardsfolder/i/incendiary.txt @@ -7,7 +7,7 @@ A:SP$ Attach | Cost$ R | ValidTgts$ Creature | AILogic$ Pump T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, you may put a fuse counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ FUSE | CounterNum$ 1 T:Mode$ ChangesZone | ValidCard$ Card.AttachedBy | Origin$ Any | Destination$ Graveyard | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ When enchanted creature is put into a graveyard, CARDNAME deals X damage to target creature or player, where X is the number of fuse counters on CARDNAME. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Tgt$TgtCP | NumDmg$ X +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Tgt$TgtCP | NumDmg$ X | References$ X SVar:X:Count$CardCounters.FUSE SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/incendiary.jpg diff --git a/res/cardsfolder/i/incendiary_command.txt b/res/cardsfolder/i/incendiary_command.txt index b217b01c67d..1f763f03092 100644 --- a/res/cardsfolder/i/incendiary_command.txt +++ b/res/cardsfolder/i/incendiary_command.txt @@ -7,10 +7,10 @@ SVar:DBDamageP:DB$ DealDamage | Tgt$ TgtP | NumDmg$ 4 | SpellDescription$ CARDNA SVar:DBDamageC:DB$ DamageAll | ValidCards$ Creature | NumDmg$ 2 | SpellDescription$ CARDNAME deals 2 damage to each creature. SVar:DBDestroy:DB$ Destroy | ValidTgts$ Land.nonBasic | TgtPrompt$ Select target nonbasic land | SpellDescription$ Destroy target nonbasic land. SVar:DBDiscard:DB$ Discard | Defined$ You | RememberDiscarded$ True | Mode$ Hand | SubAbility$ YouDraw | SpellDescription$ Each player discards all the cards in his or her hand, then draws that many cards. -SVar:YouDraw:DB$ Draw | Defined$ You | NumCards$ X | SubAbility$ YourCleanup +SVar:YouDraw:DB$ Draw | Defined$ You | NumCards$ X | SubAbility$ YourCleanup | References$ X SVar:YourCleanup:DB$ Cleanup | ClearRemembered$ True | SubAbility$ OppDiscard SVar:OppDiscard:DB$ Discard | Defined$ Opponent | RememberDiscarded$ True | Mode$ Hand | SubAbility$ OppDraw -SVar:OppDraw:DB$ Draw | Defined$ Opponent | NumCards$ Y | SubAbility$ OppCleanup +SVar:OppDraw:DB$ Draw | Defined$ Opponent | NumCards$ Y | SubAbility$ OppCleanup | References$ Y SVar:OppCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:Y:Remembered$Amount diff --git a/res/cardsfolder/i/increasing_ambition.txt b/res/cardsfolder/i/increasing_ambition.txt index 0aec577233d..7cb70a7eaec 100644 --- a/res/cardsfolder/i/increasing_ambition.txt +++ b/res/cardsfolder/i/increasing_ambition.txt @@ -3,7 +3,7 @@ ManaCost:4 B Types:Sorcery Text:no text K:Flashback 7 B -A:SP$ ChangeZone | Cost$ 4 B | Origin$ Library | Destination$ Hand | ChangeType$ Card | ChangeNum$ X | Mandatory$ True | SpellDescription$ Search your library for a card and put that card into your hand. If CARDNAME was cast from a graveyard, instead search your library for two cards and put them into your hand. Then shuffle your library. +A:SP$ ChangeZone | Cost$ 4 B | Origin$ Library | Destination$ Hand | ChangeType$ Card | ChangeNum$ X | Mandatory$ True | References$ X | SpellDescription$ Search your library for a card and put that card into your hand. If CARDNAME was cast from a graveyard, instead search your library for two cards and put them into your hand. Then shuffle your library. SVar:X:Count$wasCastFromGraveyard.2.1 SVar:Picture:http://www.wizards.com/global/images/magic/general/increasing_ambition.jpg SetInfo:DKA|Rare|http://magiccards.info/scans/en/dka/69.jpg diff --git a/res/cardsfolder/i/increasing_confusion.txt b/res/cardsfolder/i/increasing_confusion.txt index a7306767298..a36ca334de3 100644 --- a/res/cardsfolder/i/increasing_confusion.txt +++ b/res/cardsfolder/i/increasing_confusion.txt @@ -3,7 +3,7 @@ ManaCost:X U Types:Sorcery Text:no text K:Flashback X U -A:SP$ Mill | Cost$ X U | NumCards$ X | ValidTgts$ Player | TgtPrompt$ Choose a player | SpellDescription$ Target player puts the top X cards of his or her library into his or her graveyard. If CARDNAME was cast from a graveyard, that player puts twice as many cards into his or her graveyard instead. +A:SP$ Mill | Cost$ X U | NumCards$ X | ValidTgts$ Player | TgtPrompt$ Choose a player | References$ X,Y | SpellDescription$ Target player puts the top X cards of his or her library into his or her graveyard. If CARDNAME was cast from a graveyard, that player puts twice as many cards into his or her graveyard instead. SVar:X:Count$xPaid/Times.Y SVar:Y:wasCastFromGraveyard.2.1 SVar:Rarity:Rare diff --git a/res/cardsfolder/i/increasing_devotion.txt b/res/cardsfolder/i/increasing_devotion.txt index d8be5cecfae..f0adc9aeb0b 100644 --- a/res/cardsfolder/i/increasing_devotion.txt +++ b/res/cardsfolder/i/increasing_devotion.txt @@ -3,7 +3,7 @@ ManaCost:3 W W Types:Sorcery Text:no text K:Flashback 7 W W -A:SP$Token | Cost$ 3 W W | TokenAmount$ X | TokenImage$ w 1 1 human dka | TokenName$ Human | TokenTypes$ Creature,Human | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | TokenOwner$ You | SpellDescription$ Put five 1/1 white Human creature tokens onto the battlefield. If CARDNAME was cast from a graveyard, put ten of those tokens onto the battlefield instead. +A:SP$Token | Cost$ 3 W W | TokenAmount$ X | TokenImage$ w 1 1 human dka | TokenName$ Human | TokenTypes$ Creature,Human | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | TokenOwner$ You | References$ X | SpellDescription$ Put five 1/1 white Human creature tokens onto the battlefield. If CARDNAME was cast from a graveyard, put ten of those tokens onto the battlefield instead. SVar:X:Count$wasCastFromGraveyard.10.5 SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/increasing_devotion.jpg diff --git a/res/cardsfolder/i/increasing_savagery.txt b/res/cardsfolder/i/increasing_savagery.txt index 09475c5976b..b26a9263ae8 100644 --- a/res/cardsfolder/i/increasing_savagery.txt +++ b/res/cardsfolder/i/increasing_savagery.txt @@ -2,7 +2,7 @@ Name:Increasing Savagery ManaCost:2 G G Types:Sorcery K:Flashback 5 G G -A:SP$ PutCounter | Cost$ 2 G G | CounterNum$ X | CounterType$ P1P1 | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Put five +1/+1 counters on target creature. If CARDNAME was cast from a graveyard, put ten +1/+1 counters on that creature instead. +A:SP$ PutCounter | Cost$ 2 G G | CounterNum$ X | CounterType$ P1P1 | ValidTgts$ Creature | TgtPrompt$ Select target creature | References$ X | SpellDescription$ Put five +1/+1 counters on target creature. If CARDNAME was cast from a graveyard, put ten +1/+1 counters on that creature instead. SVar:X:Count$wasCastFromGraveyard.10.5 SVar:Picture:http://www.wizards.com/global/images/magic/general/increasing_savagery.jpg SetInfo:DKA|Rare|http://magiccards.info/scans/en/dka/120.jpg diff --git a/res/cardsfolder/i/increasing_vengeance.txt b/res/cardsfolder/i/increasing_vengeance.txt index 6233b9448bd..89ad5884359 100644 --- a/res/cardsfolder/i/increasing_vengeance.txt +++ b/res/cardsfolder/i/increasing_vengeance.txt @@ -4,7 +4,7 @@ Types:Instant Text:no text K:Flashback 3 R R A:SP$ CopySpell | Cost$ R R | ValidTgts$ Instant.YouCtrl,Sorcery.YouCtrl | SubAbility$ DBCopy2 | SpellDescription$ Copy target instant or sorcery spell you control. If CARDNAME was cast from a graveyard, copy that spell twice instead. You may choose new targets for the copies. -SVar:DBCopy2:DB$ CopySpell | Cost$ 0 | Defined$ Targeted | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 +SVar:DBCopy2:DB$ CopySpell | Cost$ 0 | Defined$ Targeted | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X SVar:X:Count$wasCastFromGraveyard.1.0 SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/i/induce_despair.txt b/res/cardsfolder/i/induce_despair.txt index ed05bcfa3fd..cdb82f6d2b1 100644 --- a/res/cardsfolder/i/induce_despair.txt +++ b/res/cardsfolder/i/induce_despair.txt @@ -2,7 +2,7 @@ Name:Induce Despair ManaCost:2 B Types:Instant Text:no text -A:SP$ Pump | Cost$ 2 B Reveal<1/Creature> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | SpellDescription$ Target creature gets -X/-X until end of turn, where X is the revealed card's converted mana cost. +A:SP$ Pump | Cost$ 2 B Reveal<1/Creature> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | References$ X | SpellDescription$ Target creature gets -X/-X until end of turn, where X is the revealed card's converted mana cost. SVar:X:Revealed$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/i/induce_paranoia.txt b/res/cardsfolder/i/induce_paranoia.txt index a7d842bb28e..ae8fa1bae19 100644 --- a/res/cardsfolder/i/induce_paranoia.txt +++ b/res/cardsfolder/i/induce_paranoia.txt @@ -3,7 +3,7 @@ ManaCost:2 U U Types:Instant Text:no text A:SP$ Counter | Cost$ 2 U U | TargetType$ Spell | ValidTgts$ Card | SubAbility$ DBMill | SpellDescription$ Counter target spell. If B was spent to cast CARDNAME, that spell's controller puts the top X cards of his or her library into his or her graveyard, where X is the spell's converted mana cost. -SVar:DBMill:DB$ Mill | NumCards$ X | Defined$ TargetedController | ConditionManaSpent$ B +SVar:DBMill:DB$ Mill | NumCards$ X | Defined$ TargetedController | ConditionManaSpent$ B | References$ X SVar:X:Targeted$CardManaCost SVar:ManaNeededToAvoidNegativeEffect:black SVar:RemRandomDeck:True diff --git a/res/cardsfolder/i/infernal_contract.txt b/res/cardsfolder/i/infernal_contract.txt index f1965329db2..6ea93756683 100644 --- a/res/cardsfolder/i/infernal_contract.txt +++ b/res/cardsfolder/i/infernal_contract.txt @@ -3,7 +3,7 @@ ManaCost:B B B Types:Sorcery Text:no text A:SP$ Draw | Cost$ B B B | NumCards$ 4 | SubAbility$ DBLoseLife | SpellDescription$ Draw four cards. You lose half your life, rounded up. -SVar:DBLoseLife:DB$LoseLife | LifeAmount$ X +SVar:DBLoseLife:DB$LoseLife | LifeAmount$ X | References$ X SVar:X:Count$YourLifeTotal/HalfUp SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/infernal_contract.jpg diff --git a/res/cardsfolder/i/infernal_genesis.txt b/res/cardsfolder/i/infernal_genesis.txt index 604e0b2ee77..2fb3b876ce1 100644 --- a/res/cardsfolder/i/infernal_genesis.txt +++ b/res/cardsfolder/i/infernal_genesis.txt @@ -4,7 +4,7 @@ Types:Enchantment Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigMill | TriggerDescription$ At the beginning of each player's upkeep, that player puts the top card of his or her library into his or her graveyard. Then he or she puts X 1/1 black Minion creature tokens onto the battlefield, where X is that card's converted mana cost. SVar:TrigMill:AB$ Mill | Cost$ 0 | Defined$ TriggeredPlayer | NumCards$ 1 | RememberMilled$ True | SubAbility$ TrigToken -SVar:TrigToken:DB$ Token | TokenAmount$ X | TokenName$ Minion | TokenTypes$ Creature,Minion | TokenOwner$ TriggeredPlayer | TokenColors$ Black | TokenPower$ 1 | TokenToughness$ 1 | SubAbility$ DBCleanup +SVar:TrigToken:DB$ Token | TokenAmount$ X | TokenName$ Minion | TokenTypes$ Creature,Minion | TokenOwner$ TriggeredPlayer | TokenColors$ Black | TokenPower$ 1 | TokenToughness$ 1 | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:X:Remembered$CardManaCost SVar:RemRandomDeck:True diff --git a/res/cardsfolder/i/infernal_kirin.txt b/res/cardsfolder/i/infernal_kirin.txt index 43d6b9b9ce6..cf0946ef67a 100644 --- a/res/cardsfolder/i/infernal_kirin.txt +++ b/res/cardsfolder/i/infernal_kirin.txt @@ -5,7 +5,7 @@ Text:no text PT:3/3 K:Flying T:Mode$ SpellCast | ValidCard$ Spirit,Arcane | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDiscard | TriggerDescription$ Whenever you cast a Spirit or Arcane spell, target player reveals his or her hand and discards all cards with that spell's converted mana cost. -SVar:TrigDiscard:AB$Discard | Cost$ 0 | ValidTgts$ Player | Mode$ RevealDiscardAll | DiscardValid$ Card.cmcEQX +SVar:TrigDiscard:AB$Discard | Cost$ 0 | ValidTgts$ Player | Mode$ RevealDiscardAll | DiscardValid$ Card.cmcEQX | References$ X SVar:X:TriggeredCard$CardManaCost SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/infernal_kirin.jpg diff --git a/res/cardsfolder/i/infernal_tutor.txt b/res/cardsfolder/i/infernal_tutor.txt index 2d998c477c0..c88fefd5a47 100644 --- a/res/cardsfolder/i/infernal_tutor.txt +++ b/res/cardsfolder/i/infernal_tutor.txt @@ -3,8 +3,8 @@ ManaCost:1 B Types:Sorcery Text:no text A:SP$ Reveal | Cost$ 1 B | RememberRevealed$ True | Defined$ You | SubAbility$ DBChangeZone | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SpellDescription$ Reveal a card from your hand. Search your library for a card with the same name as that card, reveal it, put it into your hand, then shuffle your library. Hellbent - If you have no cards in hand, instead search your library for a card, put it into your hand, then shuffle your library. -SVar:DBChangeZone:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Remembered.sameName | ChangeNum$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBChangeZone2 -SVar:DBChangeZone2:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Card | ChangeNum$ 1 | Mandatory$ True | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DBCleanup +SVar:DBChangeZone:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Remembered.sameName | ChangeNum$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBChangeZone2 | References$ X +SVar:DBChangeZone2:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Card | ChangeNum$ 1 | Mandatory$ True | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$InYourHand SVar:RemAIDeck:True diff --git a/res/cardsfolder/i/information_dealer.txt b/res/cardsfolder/i/information_dealer.txt index 5f54e3da726..3b2b9f9d392 100644 --- a/res/cardsfolder/i/information_dealer.txt +++ b/res/cardsfolder/i/information_dealer.txt @@ -3,7 +3,7 @@ ManaCost:1 U Types:Creature Human Wizard Text:no text PT:1/1 -A:AB$ RearrangeTopOfLibrary | Cost$ T | Defined$ You | NumCards$ X | SpellDescription$ Look at the top X cards of your library, where X is the number of Wizards on the battlefield, then put them back in any order. +A:AB$ RearrangeTopOfLibrary | Cost$ T | Defined$ You | NumCards$ X | References$ X | SpellDescription$ Look at the top X cards of your library, where X is the number of Wizards on the battlefield, then put them back in any order. SVar:X:Count$TypeYouCtrl.Wizard SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/information_dealer.jpg diff --git a/res/cardsfolder/i/infused_arrows.txt b/res/cardsfolder/i/infused_arrows.txt index 53a38cd0ebf..d092a858ac5 100644 --- a/res/cardsfolder/i/infused_arrows.txt +++ b/res/cardsfolder/i/infused_arrows.txt @@ -4,7 +4,7 @@ Types:Artifact Text:no text K:Sunburst #ChosenX SVar created by Cost payment -A:AB$ Pump | Cost$ T SubCounter | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -ChosenX | NumDef$ -ChosenX | SpellDescription$ Target creature gets -X/-X until end of turn. +A:AB$ Pump | Cost$ T SubCounter | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -ChosenX | NumDef$ -ChosenX | References$ X | SpellDescription$ Target creature gets -X/-X until end of turn. SVar:X:XChoice SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/i/inner_calm_outer_strength.txt b/res/cardsfolder/i/inner_calm_outer_strength.txt index e595ea54018..0609235294f 100644 --- a/res/cardsfolder/i/inner_calm_outer_strength.txt +++ b/res/cardsfolder/i/inner_calm_outer_strength.txt @@ -2,7 +2,7 @@ Name:Inner Calm, Outer Strength ManaCost:2 G Types:Instant Arcane Text:no text -A:SP$ Pump | Cost$ 2 G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | SpellDescription$ Target creature gets +X/+X until end of turn, where X is the number of cards in your hand. +A:SP$ Pump | Cost$ 2 G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | References$ X | SpellDescription$ Target creature gets +X/+X until end of turn, where X is the number of cards in your hand. SVar:X:Count$CardsInYourHand SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/inner_calm_outer_strength.jpg diff --git a/res/cardsfolder/i/inner_fire.txt b/res/cardsfolder/i/inner_fire.txt index d86fb32db78..39a3c4d06db 100644 --- a/res/cardsfolder/i/inner_fire.txt +++ b/res/cardsfolder/i/inner_fire.txt @@ -2,7 +2,7 @@ Name:Inner Fire ManaCost:3 R Types:Sorcery Text:no text -A:SP$ Mana | Cost$ 3 R | Produced$ R | Amount$ X | SpellDescription$ Add R to your mana pool for each card in your hand. +A:SP$ Mana | Cost$ 3 R | Produced$ R | Amount$ X | References$ X | SpellDescription$ Add R to your mana pool for each card in your hand. SVar:X:Count$CardsInYourHand SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/i/inquisition.txt b/res/cardsfolder/i/inquisition.txt index bbceca08890..0a90578b0df 100644 --- a/res/cardsfolder/i/inquisition.txt +++ b/res/cardsfolder/i/inquisition.txt @@ -3,7 +3,7 @@ ManaCost:2 B Types:Sorcery Text:no text A:SP$ RevealHand | Cost$ 2 B | ValidTgts$ Player | TgtPrompt$ Select target player | RememberRevealed$ True | SubAbility$ Damage | SpellDescription$ Target player reveals his or her hand. CARDNAME deals damage to that player equal to the number of white cards in his or her hand. -SVar:Damage:DB$ DealDamage | Defined$ Targeted | NumDmg$ X +SVar:Damage:DB$ DealDamage | Defined$ Targeted | NumDmg$ X | References$ X SVar:X:Remembered$Valid Card.White SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/i/inquisitors_flail.txt b/res/cardsfolder/i/inquisitors_flail.txt index f991533c9c1..0f0eb293498 100644 --- a/res/cardsfolder/i/inquisitors_flail.txt +++ b/res/cardsfolder/i/inquisitors_flail.txt @@ -5,7 +5,7 @@ Text:no text A:AB$ Attach | Cost$ 2 | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | SorcerySpeed$ True | PrecostDesc$ Equip - | SpellDescription$ Attach CARDNAME to target creature you control. R:Event$ DamageDone | ValidSource$ Creature.EquippedBy | ReplaceWith$ DmgTimes2 | IsCombat$ True | Description$ If equipped creature would deal combat damage, it deals double that damage instead. R:Event$ DamageDone | ValidTarget$ Creature.EquippedBy | ValidSource$ Creature.Other | ReplaceWith$ DmgTimes2 | IsCombat$ True | Description$ If another creature would deal combat damage to equipped creature, it deals double that damage to equipped creature instead. -SVar:DmgTimes2:AB$ DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X +SVar:DmgTimes2:AB$ DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X | References$ X SVar:X:ReplaceCount$DamageAmount/Times.2 SVar:Picture:http://www.wizards.com/global/images/magic/general/inquisitors_flail.jpg SetInfo:ISD|Uncommon|http://magiccards.info/scans/en/isd/227.jpg diff --git a/res/cardsfolder/i/insidious_dreams.txt b/res/cardsfolder/i/insidious_dreams.txt index 1e4788d3aee..3e13c9a22ad 100644 --- a/res/cardsfolder/i/insidious_dreams.txt +++ b/res/cardsfolder/i/insidious_dreams.txt @@ -2,7 +2,7 @@ Name:Insidious Dreams ManaCost:3 B Types:Instant Text:no text -A:SP$ ChangeZone | Cost$ 3 B Discard | Origin$ Library | Destination$ Library | ChangeType$ Card | ChangeNum$ ChosenX | LibraryPosition$ 0 | SpellDescription$ Search your library for X cards. Then shuffle your library and put those cards on top of it in any order. +A:SP$ ChangeZone | Cost$ 3 B Discard | Origin$ Library | Destination$ Library | ChangeType$ Card | ChangeNum$ ChosenX | LibraryPosition$ 0 | References$ X | SpellDescription$ Search your library for X cards. Then shuffle your library and put those cards on top of it in any order. SVar:X:XChoice SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/i/invigorating_falls.txt b/res/cardsfolder/i/invigorating_falls.txt index a65a3bfde6d..ef84d65f829 100644 --- a/res/cardsfolder/i/invigorating_falls.txt +++ b/res/cardsfolder/i/invigorating_falls.txt @@ -2,7 +2,7 @@ Name:Invigorating Falls ManaCost:2 G G Types:Sorcery Text:no text -A:SP$ GainLife | Cost$ 2 G G | LifeAmount$ X | SpellDescription$ You gain life equal to the number of creature cards in all graveyards. +A:SP$ GainLife | Cost$ 2 G G | LifeAmount$ X | References$ X | SpellDescription$ You gain life equal to the number of creature cards in all graveyards. SVar:X:Count$TypeInAllYards.Creature SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/invigorating_falls.jpg diff --git a/res/cardsfolder/i/invincible_hymn.txt b/res/cardsfolder/i/invincible_hymn.txt index 0022dd18e77..a2ac4e3b583 100644 --- a/res/cardsfolder/i/invincible_hymn.txt +++ b/res/cardsfolder/i/invincible_hymn.txt @@ -2,7 +2,7 @@ Name:Invincible Hymn ManaCost:6 W W Types:Sorcery Text:no text -A:SP$ SetLife | Cost$ 6 W W | Defined$ You | LifeAmount$ X | SpellDescription$ Count the number of cards in your library. Your life total becomes that number. +A:SP$ SetLife | Cost$ 6 W W | Defined$ You | LifeAmount$ X | References$ X | SpellDescription$ Count the number of cards in your library. Your life total becomes that number. SVar:X:Count$InYourLibrary.Card SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/invincible_hymn.jpg diff --git a/res/cardsfolder/i/invoke_the_firemind.txt b/res/cardsfolder/i/invoke_the_firemind.txt index 4b34b677756..3e07daeac5f 100644 --- a/res/cardsfolder/i/invoke_the_firemind.txt +++ b/res/cardsfolder/i/invoke_the_firemind.txt @@ -2,8 +2,8 @@ Name:Invoke the Firemind ManaCost:X U U R Types:Sorcery Text:no text -A:SP$ Draw | Cost$ X U U R | NumCards$ X | SpellDescription$ Choose one - Draw X cards; -A:SP$ DealDamage | Cost$ X U U R | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ or CARDNAME deals X damage to target creature or player. +A:SP$ Draw | Cost$ X U U R | NumCards$ X | References$ X | SpellDescription$ Choose one - Draw X cards; +A:SP$ DealDamage | Cost$ X U U R | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ or CARDNAME deals X damage to target creature or player. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/i/ire_of_kaminari.txt b/res/cardsfolder/i/ire_of_kaminari.txt index 537957382b5..f4330408376 100644 --- a/res/cardsfolder/i/ire_of_kaminari.txt +++ b/res/cardsfolder/i/ire_of_kaminari.txt @@ -2,7 +2,7 @@ Name:Ire of Kaminari ManaCost:3 R Types:Instant Arcane Text:no text -A:SP$ DealDamage | Cost$ 3 R | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ Ire of Kaminari deals damage to target creature or player equal to the number of Arcane cards in your graveyard. +A:SP$ DealDamage | Cost$ 3 R | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ Ire of Kaminari deals damage to target creature or player equal to the number of Arcane cards in your graveyard. SVar:X:Count$TypeInYourYard.Arcane SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/i/iron_maiden.txt b/res/cardsfolder/i/iron_maiden.txt index 093c8bbac93..49b227dc014 100644 --- a/res/cardsfolder/i/iron_maiden.txt +++ b/res/cardsfolder/i/iron_maiden.txt @@ -3,7 +3,7 @@ ManaCost:3 Types:Artifact Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Opponent | IsPresent$ Card.YouDontCtrl | PresentZone$ Hand | PresentCompare$ GT4 | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ At the beginning of each opponent's upkeep, CARDNAME deals X damage to that player, where X is the number of cards in his or her hand minus 4. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ X +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ X | References$ X SVar:X:Count$InOppHand/Minus.4 SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/iron_maiden.jpg diff --git a/res/cardsfolder/i/irradiate.txt b/res/cardsfolder/i/irradiate.txt index b5050b714c6..5d7b4e33d00 100644 --- a/res/cardsfolder/i/irradiate.txt +++ b/res/cardsfolder/i/irradiate.txt @@ -2,7 +2,7 @@ Name:Irradiate ManaCost:3 B Types:Instant Text:no text -A:SP$ Pump | Cost$ 3 B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | SpellDescription$ Target creature gets -1/-1 until end of turn for each artifact you control. +A:SP$ Pump | Cost$ 3 B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | References$ X | SpellDescription$ Target creature gets -1/-1 until end of turn for each artifact you control. SVar:X:Count$NumTypeYouCtrl.Artifact SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/i/isochron_scepter.txt b/res/cardsfolder/i/isochron_scepter.txt index af8b888c101..62727f51984 100644 --- a/res/cardsfolder/i/isochron_scepter.txt +++ b/res/cardsfolder/i/isochron_scepter.txt @@ -5,7 +5,6 @@ Text:no text T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | OptionalDecider$ You | Execute$ TrigExile | TriggerDescription$ Imprint - When CARDNAME enters the battlefield, you may exile an instant card with converted mana cost 2 or less from your hand. SVar:TrigExile:AB$ChangeZone | Cost$ 0 | Imprint$ True | Origin$ Hand | Destination$ Exile | ChangeType$ Instant.cmcLE2 | ChangeNum$ 1 A:AB$ CopySpell | Cost$ 2 T | Defined$ Imprinted | SpellDescription$ You may copy the exiled card. If you do, you may cast the copy without paying its mana cost. -SVar:X:Imprinted$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/isochron_scepter.jpg diff --git a/res/cardsfolder/i/ivory_tower.txt b/res/cardsfolder/i/ivory_tower.txt index d7997952858..5f25d521e86 100644 --- a/res/cardsfolder/i/ivory_tower.txt +++ b/res/cardsfolder/i/ivory_tower.txt @@ -3,7 +3,7 @@ ManaCost:1 Types:Artifact Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | IsPresent$ Card.YouCtrl | PresentZone$ Hand | PresentCompare$ GT4 | TriggerZones$ Battlefield | Execute$ TrigGainLife | TriggerDescription$ At the beginning of your upkeep, you gain X life, where X is the number of cards in your hand minus four. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:Count$InYourHand/Minus.4 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/ivory_tower.jpg diff --git a/res/cardsfolder/i/ixidors_will.txt b/res/cardsfolder/i/ixidors_will.txt index 21b83a81145..8e718aed77c 100644 --- a/res/cardsfolder/i/ixidors_will.txt +++ b/res/cardsfolder/i/ixidors_will.txt @@ -2,7 +2,7 @@ Name:Ixidor's Will ManaCost:2 U Types:Instant Text:no text -A:SP$ Counter | Cost$ 2 U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | SpellDescription$ Counter target spell unless its controller pays 2 for each Wizard on the battlefield. +A:SP$ Counter | Cost$ 2 U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | References$ X | SpellDescription$ Counter target spell unless its controller pays 2 for each Wizard on the battlefield. SVar:X:Count$TypeYouCtrl.Wizard/Twice SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/j/jaces_archivist.txt b/res/cardsfolder/j/jaces_archivist.txt index b11b7da35b0..02ca9c0c450 100644 --- a/res/cardsfolder/j/jaces_archivist.txt +++ b/res/cardsfolder/j/jaces_archivist.txt @@ -4,11 +4,11 @@ Types:Creature Vedalken Wizard Text:no text PT:2/2 A:AB$ Discard | Cost$ U T | Defined$ You | RememberDiscarded$ True | Mode$ Hand | SubAbility$ DBTestHand | SpellDescription$ Each player discards his or her hand, then draws cards equal to the greatest number of cards a player discarded this way. -SVar:DBTestHand:DB$ Cleanup | ClearRemembered$ True | ConditionCheckSVar$ HandSizeTest | ConditionSVarCompare$ GE1 | SubAbility$ DBOppDiscard1 -SVar:DBOppDiscard1:DB$ Discard | Cost$ 0 | Defined$ Opponent | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | Mode$ Hand | SubAbility$ DBOppDiscard2 -SVar:DBOppDiscard2:DB$ Discard | Cost$ 0 | Defined$ Opponent | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | RememberDiscarded$ True | Mode$ Hand | SubAbility$ DBDraw -SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X | SubAbility$ DBOppDraw -SVar:DBOppDraw:DB$ Draw | Defined$ Opponent | NumCards$ X | SubAbility$ DBCleanup +SVar:DBTestHand:DB$ Cleanup | ClearRemembered$ True | ConditionCheckSVar$ HandSizeTest | ConditionSVarCompare$ GE1 | SubAbility$ DBOppDiscard1 | References$ HandSizeTest,X +SVar:DBOppDiscard1:DB$ Discard | Cost$ 0 | Defined$ Opponent | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | Mode$ Hand | SubAbility$ DBOppDiscard2 | References$ X +SVar:DBOppDiscard2:DB$ Discard | Cost$ 0 | Defined$ Opponent | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | RememberDiscarded$ True | Mode$ Hand | SubAbility$ DBDraw | References$ X +SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X | SubAbility$ DBOppDraw | References$ X +SVar:DBOppDraw:DB$ Draw | Defined$ Opponent | NumCards$ X | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$RememberedSize SVar:HandSizeTest:Count$CardsInOppHand/Minus.X diff --git a/res/cardsfolder/j/jackal_pup.txt b/res/cardsfolder/j/jackal_pup.txt index e260c7e84ca..2d1fde14a2e 100644 --- a/res/cardsfolder/j/jackal_pup.txt +++ b/res/cardsfolder/j/jackal_pup.txt @@ -4,7 +4,7 @@ Types:Creature Hound Text:no text PT:2/1 T:Mode$ DamageDone | Execute$ TrigDamage | ValidTarget$ Card.Self | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME is dealt damage, it deals that much damage to you. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | NumDmg$ X | Defined$ You +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | NumDmg$ X | Defined$ You | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/jackal_pup.jpg diff --git a/res/cardsfolder/j/jaddi_lifestrider.txt b/res/cardsfolder/j/jaddi_lifestrider.txt index 98940b6d5b0..807d7adc5fc 100644 --- a/res/cardsfolder/j/jaddi_lifestrider.txt +++ b/res/cardsfolder/j/jaddi_lifestrider.txt @@ -4,8 +4,8 @@ Types:Creature Elemental Text:no text PT:2/8 T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigJaddiLifestriderTap | TriggerDescription$ When CARDNAME enters the battlefield, you may tap any number of untapped creatures you control. You gain 2 life for each creature tapped this way. -SVar:TrigJaddiLifestriderTap:AB$ Tap | Cost$ 0 | TargetMin$ 0 | TargetMax$ JaddiLifestriderX | ValidTgts$ Creature.untapped+YouCtrl | ValidDesc$ untapped creature you control | RememberTapped$ True | SubAbility$ DBJaddiLifestriderGainLife -SVar:DBJaddiLifestriderGainLife:DB$ GainLife | LifeAmount$ JaddiLifestriderZ | SubAbility$ DBJaddiLifestriderCleanup +SVar:TrigJaddiLifestriderTap:AB$ Tap | Cost$ 0 | TargetMin$ 0 | TargetMax$ JaddiLifestriderX | ValidTgts$ Creature.untapped+YouCtrl | ValidDesc$ untapped creature you control | RememberTapped$ True | SubAbility$ DBJaddiLifestriderGainLife | References$ JaddiLifestriderX +SVar:DBJaddiLifestriderGainLife:DB$ GainLife | LifeAmount$ JaddiLifestriderZ | SubAbility$ DBJaddiLifestriderCleanup | References$ JaddiLifestriderY,JaddiLifestriderZ SVar:DBJaddiLifestriderCleanup:DB$ Cleanup | ClearRemembered$ True SVar:JaddiLifestriderX:Count$Valid Creature.YouCtrl SVar:JaddiLifestriderY:Remembered$Amount diff --git a/res/cardsfolder/j/jagged_poppet.txt b/res/cardsfolder/j/jagged_poppet.txt index f1e9d62b0b7..4fa5bd89bdc 100644 --- a/res/cardsfolder/j/jagged_poppet.txt +++ b/res/cardsfolder/j/jagged_poppet.txt @@ -5,8 +5,8 @@ Text:no text PT:3/4 T:Mode$ DamageDone | ValidTarget$ Card.Self | Execute$ TrigYouDiscard | TriggerDescription$ Whenever CARDNAME is dealt damage, discard that many cards. T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | Hellbent$ True | CombatDamage$ True | Execute$ TrigOppDiscard | TriggerDescription$ Hellbent - Whenever CARDNAME deals combat damage to a player, if you have no cards in hand, that player discards cards equal to the damage. -SVar:TrigYouDiscard:AB$Discard | Cost$ 0 | Defined$ You | NumCards$ X | Mode$ TgtChoose -SVar:TrigOppDiscard:AB$Discard | Cost$ 0 | Defined$ Opponent | NumCards$ X | Mode$ TgtChoose +SVar:TrigYouDiscard:AB$Discard | Cost$ 0 | Defined$ You | NumCards$ X | Mode$ TgtChoose | References$ X +SVar:TrigOppDiscard:AB$Discard | Cost$ 0 | Defined$ Opponent | NumCards$ X | Mode$ TgtChoose | References$ X SVar:X:TriggerCount$DamageAmount SVar:NeedsToPlayVar:Y LE2 SVar:Y:Count$CardsInYourHand diff --git a/res/cardsfolder/j/jagged_scar_archers.txt b/res/cardsfolder/j/jagged_scar_archers.txt index f0d3de4bcf2..4f5e2458a08 100644 --- a/res/cardsfolder/j/jagged_scar_archers.txt +++ b/res/cardsfolder/j/jagged_scar_archers.txt @@ -5,7 +5,7 @@ Text:no text PT:*/* S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ Y | SetToughness$ Y | Description$ CARDNAME's power and toughness are each equal to the number of Elves you control. SVar:Y:Count$Valid Elf.YouCtrl -A:AB$ DealDamage | Cost$ T | ValidTgts$ Creature.withFlying | TgtPrompt$ Select target creature with flying | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to its power to target creature with flying. +A:AB$ DealDamage | Cost$ T | ValidTgts$ Creature.withFlying | TgtPrompt$ Select target creature with flying | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to its power to target creature with flying. SVar:X:Count$CardPower SVar:BuffedBy:Permanent.Elf SVar:RemRandomDeck:True diff --git a/res/cardsfolder/j/jar_of_eyeballs.txt b/res/cardsfolder/j/jar_of_eyeballs.txt index 69bae329e71..96e51ad1866 100644 --- a/res/cardsfolder/j/jar_of_eyeballs.txt +++ b/res/cardsfolder/j/jar_of_eyeballs.txt @@ -4,7 +4,7 @@ Types:Artifact Text:no text T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever a creature you control dies, put two eyeball counters on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ EYEBALL | CounterNum$ 2 -A:AB$ Dig | Cost$ 3 T SubCounter | DigNum$ X | ChangeNum$ 1 | DestinationZone$ Hand | DestinationZone2$ Library | LibraryPosition$ -1 | SpellDescription$ Look at the top X cards of your library where X is the number of eyeball counters removed this way. Put one of them into your hand and the rest on the bottom of your library in any order. +A:AB$ Dig | Cost$ 3 T SubCounter | DigNum$ X | ChangeNum$ 1 | DestinationZone$ Hand | DestinationZone2$ Library | LibraryPosition$ -1 | References$ X | SpellDescription$ Look at the top X cards of your library where X is the number of eyeball counters removed this way. Put one of them into your hand and the rest on the bottom of your library in any order. SVar:X:SVar$CostCountersRemoved SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/j/jesters_mask.txt b/res/cardsfolder/j/jesters_mask.txt index 28f8c0cda5d..39a2e8899fb 100644 --- a/res/cardsfolder/j/jesters_mask.txt +++ b/res/cardsfolder/j/jesters_mask.txt @@ -4,7 +4,7 @@ Types:Artifact Text:no text K:CARDNAME enters the battlefield tapped. A:AB$ ChangeZoneAll | Cost$ 1 T Sac<1/CARDNAME> | ValidTgts$ Opponent | Origin$ Hand | Destination$ Library | ChangeType$ Card | RememberChanged$ True | IsCurse$ True | SubAbility$ DBMask | SpellDescription$ Target opponent puts the cards from his or her hand on top of his or her library. Search that player's library for that many cards. That player puts those cards into his or her hand, then shuffles his or her library. -SVar:DBMask:DB$ ChangeZone | DefinedPlayer$ Targeted | Origin$ Library | Destination$ Hand | ChangeNum$ X | ChangeType$ Card | Chooser$ You | SubAbility$ DBCleanup +SVar:DBMask:DB$ ChangeZone | DefinedPlayer$ Targeted | Origin$ Library | Destination$ Hand | ChangeNum$ X | ChangeType$ Card | Chooser$ You | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:RemAIDeck:True diff --git a/res/cardsfolder/j/jeweled_bird.txt b/res/cardsfolder/j/jeweled_bird.txt index d915b4ef46c..f4b358eb2f5 100644 --- a/res/cardsfolder/j/jeweled_bird.txt +++ b/res/cardsfolder/j/jeweled_bird.txt @@ -5,7 +5,7 @@ Text:no text K:Remove CARDNAME from your deck before playing if you're not playing for ante. A:AB$ ChangeZone | Cost$ T | Defined$ Self | Origin$ Battlefield | Destination$ Ante | RememberChanged$ True | SubAbility$ DBUnAnte | SpellDescription$ Put CARDNAME into the ante. If you do, put all other cards you own from the ante into your graveyard, then draw a card. SVar:DBUnAnte:DB$ ChangeZoneAll | ConditionCheckSVar$ Y | ConditionSVarCompare$ GT0 | Origin$ Ante | Destination$ Graveyard | ChangeType$ Card.YouOwn+Other | SubAbility$ DBDraw -SVar:DBDraw:DB$ Draw | ConditionCheckSVar$ Y | ConditionSVarCompare$ GT0 | Defined$ You | NumCards$ 1 | SubAbility$ DBCleanup +SVar:DBDraw:DB$ Draw | ConditionCheckSVar$ Y | ConditionSVarCompare$ GT0 | Defined$ You | NumCards$ 1 | SubAbility$ DBCleanup | References$ Y SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:Y:Remembered$Amount SVar:RemAIDeck:True diff --git a/res/cardsfolder/j/jiwari_the_earth_aflame.txt b/res/cardsfolder/j/jiwari_the_earth_aflame.txt index e8dc2626266..28e681acea7 100644 --- a/res/cardsfolder/j/jiwari_the_earth_aflame.txt +++ b/res/cardsfolder/j/jiwari_the_earth_aflame.txt @@ -3,8 +3,8 @@ ManaCost:3 R R Types:Legendary Creature Spirit Text:no text PT:3/3 -A:AB$ DealDamage | Cost$ X R T | ValidTgts$ Creature.withoutFlying | TgtPrompt$ Select target creature without flying. | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target creature without flying. -A:AB$ DamageAll | PrecostDesc$ Channel - | Cost$ X R R R Discard<1/CARDNAME> | ActivationZone$ Hand | ValidCards$ Creature.withoutFlying | NumDmg$ X | ValidDescription$ each creature without flying. | SpellDescription$ CARDNAME deals X damage to each creature without flying. +A:AB$ DealDamage | Cost$ X R T | ValidTgts$ Creature.withoutFlying | TgtPrompt$ Select target creature without flying. | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to target creature without flying. +A:AB$ DamageAll | PrecostDesc$ Channel - | Cost$ X R R R Discard<1/CARDNAME> | ActivationZone$ Hand | ValidCards$ Creature.withoutFlying | NumDmg$ X | ValidDescription$ each creature without flying. | References$ X | SpellDescription$ CARDNAME deals X damage to each creature without flying. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/j/johtull_wurm.txt b/res/cardsfolder/j/johtull_wurm.txt index 096e32992e9..40975a6c6d5 100644 --- a/res/cardsfolder/j/johtull_wurm.txt +++ b/res/cardsfolder/j/johtull_wurm.txt @@ -4,7 +4,7 @@ Types:Creature Wurm Text:no text PT:6/6 T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME becomes blocked, it gets -2/-1 until end of turn for each creature blocking it beyond the first. -SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ -X | NumDef$ -Y +SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ -X | NumDef$ -Y | References$ X,Y SVar:X:SVar$Y/Twice SVar:Y:TriggerCount$NumBlockers/Minus.1 SVar:Rarity:Uncommon diff --git a/res/cardsfolder/j/jokulmorder.txt b/res/cardsfolder/j/jokulmorder.txt index 7f5f321a5d9..f83641abcd2 100644 --- a/res/cardsfolder/j/jokulmorder.txt +++ b/res/cardsfolder/j/jokulmorder.txt @@ -7,7 +7,7 @@ K:Trample K:CARDNAME enters the battlefield tapped. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSac | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you sacrifice five lands. SVar:TrigSac:AB$ Sacrifice | Cost$ 0 | Amount$ 5 | SacValid$ Land | RememberSacrificed$ True | Optional$ True | SubAbility$ DBSacSelf -SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT5 +SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT5 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True K:CARDNAME doesn't untap during your untap step. T:Mode$ LandPlayed | ValidCard$ Island.YouCtrl | Execute$ TrigUntap | TriggerZones$ Battlefield | OptionalDecider$ You | TriggerDescription$ Whenever you play an Island, you may untap CARDNAME. diff --git a/res/cardsfolder/j/jotun_owl_keeper.txt b/res/cardsfolder/j/jotun_owl_keeper.txt index 9836de9efcc..cc26fd50779 100644 --- a/res/cardsfolder/j/jotun_owl_keeper.txt +++ b/res/cardsfolder/j/jotun_owl_keeper.txt @@ -5,7 +5,7 @@ Text:no text PT:3/3 K:Cumulative upkeep:WU T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigToken | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, put a 1/1 white Bird creature token with flying onto the battlefield for each age counter on it. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Bird | TokenImage$ W 1 1 Bird Flying | TokenTypes$ Creature,Bird | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying +SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Bird | TokenImage$ W 1 1 Bird Flying | TokenTypes$ Creature,Bird | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying | References$ X SVar:X:TriggeredCard$CardCounters.AGE SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/jotun_owl_keeper.jpg diff --git a/res/cardsfolder/j/jovial_evil.txt b/res/cardsfolder/j/jovial_evil.txt index 8c04fcb9cb0..0fe77438fd0 100644 --- a/res/cardsfolder/j/jovial_evil.txt +++ b/res/cardsfolder/j/jovial_evil.txt @@ -2,7 +2,7 @@ Name:Jovial Evil ManaCost:2 B Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ 2 B | ValidTgts$ Opponent | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target opponent, where X is twice the number of white creatures that player controls. +A:SP$ DealDamage | Cost$ 2 B | ValidTgts$ Opponent | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to target opponent, where X is twice the number of white creatures that player controls. SVar:X:Count$NumTypeWhiteOppCtrl.Creature/Twice SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/j/joyous_respite.txt b/res/cardsfolder/j/joyous_respite.txt index 549e9446a55..7f9f2cb08fd 100644 --- a/res/cardsfolder/j/joyous_respite.txt +++ b/res/cardsfolder/j/joyous_respite.txt @@ -2,7 +2,7 @@ Name:Joyous Respite ManaCost:3 G Types:Sorcery Arcane Text:no text -A:SP$ GainLife | Cost$ 3 G | LifeAmount$ X | SpellDescription$ You gain 1 life for each land you control. +A:SP$ GainLife | Cost$ 3 G | LifeAmount$ X | References$ X | SpellDescription$ You gain 1 life for each land you control. SVar:X:Count$TypeYouCtrl.Land SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/joyous_respite.jpg diff --git a/res/cardsfolder/j/judge_unworthy.txt b/res/cardsfolder/j/judge_unworthy.txt index cd8d7408d5d..341c41b24db 100644 --- a/res/cardsfolder/j/judge_unworthy.txt +++ b/res/cardsfolder/j/judge_unworthy.txt @@ -2,9 +2,9 @@ Name:Judge Unworthy ManaCost:1 W Types:Instant Text:no text -A:SP$Scry | Cost$ 1 W| ScryNum$ 3 | SubAbility$ DBReveal | SpellDescription$ target attacking or blocking creature. Scry 3, then reveal the top card of your library. CARDNAME deals damage equal to that card's converted mana cost to that creature. (To scry 3, look at the top three cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) +A:SP$Scry | Cost$ 1 W | ScryNum$ 3 | SubAbility$ DBReveal | SpellDescription$ target attacking or blocking creature. Scry 3, then reveal the top card of your library. CARDNAME deals damage equal to that card's converted mana cost to that creature. (To scry 3, look at the top three cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) SVar:DBReveal:DB$ Dig | Cost$ 0 | DigNum$ 1 | Reveal$ True | DestinationZone$ Library | LibraryPosition$ 0 | SubAbility$ DBDamage -SVar:DBDamage:DB$ DealDamage | Cost$ 0 | Tgt$ TgtC | NumDmg$ X | ValidTgts$ Creature.attacking,Creature.blocking | TgtPrompt$ Select target attacking or blocking creature +SVar:DBDamage:DB$ DealDamage | Cost$ 0 | Tgt$ TgtC | NumDmg$ X | ValidTgts$ Creature.attacking,Creature.blocking | TgtPrompt$ Select target attacking or blocking creature | References$ X SVar:X:Count$TopOfLibraryCMC SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/j/jungle_wurm.txt b/res/cardsfolder/j/jungle_wurm.txt index 487dcbea39b..f1d678ccbe3 100644 --- a/res/cardsfolder/j/jungle_wurm.txt +++ b/res/cardsfolder/j/jungle_wurm.txt @@ -4,7 +4,7 @@ Types:Creature Wurm Text:no text PT:5/5 T:Mode$ AttackerBlocked | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME becomes blocked, it gets -1/-1 until end of turn for each creature blocking it beyond the first. -SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ -X | NumDef$ -X +SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ -X | NumDef$ -X | References$ X SVar:X:TriggerCount$NumBlockers/Minus.1 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/jungle_wurm.jpg diff --git a/res/cardsfolder/j/junkyo_bell.txt b/res/cardsfolder/j/junkyo_bell.txt index a50570ca1d5..3951334297b 100644 --- a/res/cardsfolder/j/junkyo_bell.txt +++ b/res/cardsfolder/j/junkyo_bell.txt @@ -3,11 +3,11 @@ ManaCost:4 Types:Artifact Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | OptionalDecider$ You | TriggerDescription$ At the beginning of your upkeep, you may have target creature you control get +X/+X until end of turn, where X is the number of creatures you control. If you do, sacrifice that creature at the beginning of the next end step. -SVar:TrigPump:DB$ Pump | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumAtt$ +X | NumDef$ +X | KW$ At the beginning of the end step, sacrifice CARDNAME. +SVar:TrigPump:DB$ Pump | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumAtt$ +X | NumDef$ +X | KW$ At the beginning of the end step, sacrifice CARDNAME. | References$ X SVar:X:Count$Valid Creature.YouCtrl SVar:RemAIDeck:True SVar:Rarity:Rare -SVar:Picture:http://www.wizards.com/global/images/magic/general/weed_pruner_poplar.jpg +SVar:Picture:http://www.wizards.com/global/images/magic/general/junkyo_bell.jpg SetInfo:CHK|Rare|http://magiccards.info/scans/en/chk/258.jpg Oracle:At the beginning of your upkeep, you may have target creature you control get +X/+X until end of turn, where X is the number of creatures you control. If you do, sacrifice that creature at the beginning of the next end step. End \ No newline at end of file diff --git a/res/cardsfolder/j/jushi_apprentice_tomoya_the_revealer.txt b/res/cardsfolder/j/jushi_apprentice_tomoya_the_revealer.txt index 339826acbd7..0a606388f8d 100644 --- a/res/cardsfolder/j/jushi_apprentice_tomoya_the_revealer.txt +++ b/res/cardsfolder/j/jushi_apprentice_tomoya_the_revealer.txt @@ -4,7 +4,7 @@ Types:Creature Human Wizard Text:no text PT:1/2 A:AB$Draw | Cost$ 2 U T | Defined$ You | NumCards$ 1 | SubAbility$ DBFlip | SpellDescription$ Draw a card. If you have nine or more cards in hand, flip CARDNAME. -SVar:DBFlip:DB$SetState | Defined$ Self | ConditionCheckSVar$ HandSize | ConditionSVarCompare$ GE9 | Mode$ Flip +SVar:DBFlip:DB$SetState | Defined$ Self | ConditionCheckSVar$ HandSize | ConditionSVarCompare$ GE9 | Mode$ Flip | References$ HandSize SVar:HandSize:Count$InYourHand AlternateMode:Flip SVar:Picture:http://www.wizards.com/global/images/magic/general/jushi_apprentice.jpg @@ -19,7 +19,7 @@ Colors:blue Types:Legendary Creature Human Wizard Text:no text PT:2/3 -A:AB$Draw | Cost$ 3 U U T | ValidTgts$ Player | NumCards$ X | SpellDescription$ Target player draws X cards, where X is the number of cards in your hand. +A:AB$Draw | Cost$ 3 U U T | ValidTgts$ Player | NumCards$ X | References$ X | SpellDescription$ Target player draws X cards, where X is the number of cards in your hand. SVar:X:Count$InYourHand SVar:Picture:http://www.wizards.com/global/images/magic/general/tomoya_the_revealer.jpg SetInfo:CHK|Rare|http://magiccards.info/scans/en/chk/309.jpg diff --git a/res/cardsfolder/j/justice.txt b/res/cardsfolder/j/justice.txt index b83c8e55e41..b6f7d273257 100644 --- a/res/cardsfolder/j/justice.txt +++ b/res/cardsfolder/j/justice.txt @@ -5,7 +5,7 @@ Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigSac | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, sacrifice CARDNAME unless you pay W W. SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ Card.Self | UnlessCost$ W W | UnlessPayer$ You T:Mode$ DamageDone | ValidSource$ Card.Red | Execute$ TrigDamage | TriggerZones$ Battlefield | TriggerDescription$ Whenever a red creature or spell deals damage, CARDNAME deals that much damage to that creature's or spell's controller. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ TriggeredSourceController | NumDmg$ X +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ TriggeredSourceController | NumDmg$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/k/kaervek_the_merciless.txt b/res/cardsfolder/k/kaervek_the_merciless.txt index f211d90a721..eaee176c418 100644 --- a/res/cardsfolder/k/kaervek_the_merciless.txt +++ b/res/cardsfolder/k/kaervek_the_merciless.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Human Shaman Text:no text PT:5/4 T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ Opponent | TriggerZones$ Battlefield | Execute$ TrigDealDamage | TriggerDescription$ Whenever an opponent casts a spell, CARDNAME deals damage to target creature or player equal to that spell's converted mana cost. -SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Tgt$ TgtCP | NumDmg$ X +SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Tgt$ TgtCP | NumDmg$ X | References$ X SVar:X:TriggeredCard$CardManaCost SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/kaervek_the_merciless.jpg diff --git a/res/cardsfolder/k/kaerveks_purge.txt b/res/cardsfolder/k/kaerveks_purge.txt index e1b23cfb01e..95ffd194403 100644 --- a/res/cardsfolder/k/kaerveks_purge.txt +++ b/res/cardsfolder/k/kaerveks_purge.txt @@ -2,8 +2,8 @@ Name:Kaervek's Purge ManaCost:X B R Types:Sorcery Text:no text -A:SP$ Destroy | Cost$ X B R | ValidTgts$ Creature | TgtPrompt$ Select target creature | RememberDestroyed$ True | SubAbility$ DBDamage | SpellDescription$ Destroy target creature with converted mana cost X. If that creature dies this way, CARDNAME deals damage equal to the creature's power to the creature's controller. -SVar:DBDamage:DB$DealDamage | Defined$ TargetedController | NumDmg$ Z | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE1 +A:SP$ Destroy | Cost$ X B R | ValidTgts$ Creature | TgtPrompt$ Select target creature | RememberDestroyed$ True | SubAbility$ DBDamage | References$ X | SpellDescription$ Destroy target creature with converted mana cost X. If that creature dies this way, CARDNAME deals damage equal to the creature's power to the creature's controller. +SVar:DBDamage:DB$DealDamage | Defined$ TargetedController | NumDmg$ Z | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE1 | References$ Y,Z SVar:X:Targeted$CardManaCost SVar:Y:Remembered$Amount SVar:Z:Targeted$CardPower diff --git a/res/cardsfolder/k/kagemaro_first_to_suffer.txt b/res/cardsfolder/k/kagemaro_first_to_suffer.txt index 811d91203fc..54c9b8b0bca 100644 --- a/res/cardsfolder/k/kagemaro_first_to_suffer.txt +++ b/res/cardsfolder/k/kagemaro_first_to_suffer.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Demon Spirit Text:no text PT:*/* S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of cards in your hand. -A:AB$ PumpAll | Cost$ B Sac<1/CARDNAME> | ValidCards$ Creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | SpellDescription$ All creatures get -X/-X until end of turn, where X is the number of cards in your hand. +A:AB$ PumpAll | Cost$ B Sac<1/CARDNAME> | ValidCards$ Creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | References$ X | SpellDescription$ All creatures get -X/-X until end of turn, where X is the number of cards in your hand. SVar:X:Count$InYourHand SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/k/kalitas_bloodchief_of_ghet.txt b/res/cardsfolder/k/kalitas_bloodchief_of_ghet.txt index 64b150d5a87..84ac50a810d 100644 --- a/res/cardsfolder/k/kalitas_bloodchief_of_ghet.txt +++ b/res/cardsfolder/k/kalitas_bloodchief_of_ghet.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Vampire Warrior Text:no text PT:5/5 A:AB$ Destroy | Cost$ B B B T | ValidTgts$ Creature | TgtPrompt$ Select target creature | RememberDestroyed$ True | SubAbility$ DBToken | SpellDescription$ Destroy target creature. If that creature dies this way, put a black Vampire creature token onto the battlefield. Its power is equal to that creature's power and its toughness is equal to that creature's toughness. -SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenImage$ B X X Vampire | TokenName$ Vampire | TokenTypes$ Creature,Vampire | TokenColors$ Black | TokenOwner$ You | TokenPower$ dX | TokenToughness$ dY | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 +SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenImage$ B X X Vampire | TokenName$ Vampire | TokenTypes$ Creature,Vampire | TokenColors$ Black | TokenOwner$ You | TokenPower$ dX | TokenToughness$ dY | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X,dX,dY SVar:X:Remembered$Amount SVar:dX:Targeted$CardPower SVar:dY:Targeted$CardToughness diff --git a/res/cardsfolder/k/kami_of_the_honored_dead.txt b/res/cardsfolder/k/kami_of_the_honored_dead.txt index 08215ae4663..fbdf0603d36 100644 --- a/res/cardsfolder/k/kami_of_the_honored_dead.txt +++ b/res/cardsfolder/k/kami_of_the_honored_dead.txt @@ -5,7 +5,7 @@ Text:no text PT:3/5 K:Flying T:Mode$ DamageDone | ValidTarget$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigGain | TriggerDescription$ Whenever CARDNAME is dealt damage, you gain that much life. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/kami_of_the_honored_dead.jpg diff --git a/res/cardsfolder/k/karn_silver_golem.txt b/res/cardsfolder/k/karn_silver_golem.txt index 01dbb37ee61..32cf46a4d89 100644 --- a/res/cardsfolder/k/karn_silver_golem.txt +++ b/res/cardsfolder/k/karn_silver_golem.txt @@ -6,7 +6,7 @@ PT:4/4 T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked, it gets -4/+4 until end of turn. T:Mode$ Blocks | ValidCard$ Card.Self | Execute$ TrigPump | Secondary$ True | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked, it gets -4/+4 until end of turn. SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ -4 | NumDef$ 4 -A:AB$ Animate | Cost$ 1 | ValidTgts$ Artifact.nonCreature | TgtPrompt$ Select target noncreature artifact | Power$ X | Toughness$ X | Types$ Creature | SpellDescription$ Target noncreature artifact becomes an artifact creature with power and toughness each equal to its converted mana cost until end of turn. +A:AB$ Animate | Cost$ 1 | ValidTgts$ Artifact.nonCreature | TgtPrompt$ Select target noncreature artifact | Power$ X | Toughness$ X | Types$ Creature | References$ X | SpellDescription$ Target noncreature artifact becomes an artifact creature with power and toughness each equal to its converted mana cost until end of turn. SVar:X:Targeted$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/k/karns_touch.txt b/res/cardsfolder/k/karns_touch.txt index 306e261a8f4..6fdb2320705 100644 --- a/res/cardsfolder/k/karns_touch.txt +++ b/res/cardsfolder/k/karns_touch.txt @@ -2,7 +2,7 @@ Name:Karn's Touch ManaCost:U U Types:Instant Text:no text -A:SP$ Animate | Cost$ U U | ValidTgts$ Artifact.nonCreature | TgtPrompt$ Select noncreature artifact | Power$ X | Toughness$ X | Types$ Creature | SpellDescription$ Target noncreature artifact becomes an artifact creature with power and toughness each equal to its converted mana cost until end of turn. (It retains its abilities.) +A:SP$ Animate | Cost$ U U | ValidTgts$ Artifact.nonCreature | TgtPrompt$ Select noncreature artifact | Power$ X | Toughness$ X | Types$ Creature | References$ X | SpellDescription$ Target noncreature artifact becomes an artifact creature with power and toughness each equal to its converted mana cost until end of turn. (It retains its abilities.) SVar:X:Targeted$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/k/karonas_zealot.txt b/res/cardsfolder/k/karonas_zealot.txt index 8b432b6a293..c4b4f0f4546 100644 --- a/res/cardsfolder/k/karonas_zealot.txt +++ b/res/cardsfolder/k/karonas_zealot.txt @@ -8,8 +8,8 @@ T:Mode$ TurnFaceUp | ValidCard$ Card.Self | Execute$ KaronaEffect | TriggerDescr SVar:KaronaEffect:DB$ Effect | Name$ Karona's Zealot Effect | ValidTgts$ Creature | TgtPrompt$ Select target creature to redirect the damage to | ReplacementEffects$ ZealotCombat,ZealotNonCombat | Triggers$ OutOfSight | SVars$ ExileEffect,CombatDmg,NonCombatDmg,X | Duration$ HostLeavesOrEOT | RememberObjects$ Self | ImprintCards$ Targeted SVar:ZealotCombat:Event$ DamageDone | ValidTarget$ Creature.IsRemembered | IsCombat$ True | ReplaceWith$ CombatDmg | Description$ All damage that would be dealt to Karona's Zealot this turn is dealt to target creature instead. SVar:ZealotNonCombat:Event$ DamageDone | ValidTarget$ Creature.IsRemembered | IsCombat$ False | ReplaceWith$ NonCombatDmg | Secondary$ True | Description$ All damage that would be dealt to Karona's Zealot this turn is dealt to target creature instead. -SVar:CombatDmg:AB$DealDamage | Cost$ 0 | Defined$ Imprinted | DamageSource$ ReplacedSource | CombatDamage$ True | NumDmg$ X -SVar:NonCombatDmg:AB$DealDamage | Cost$ 0 | Defined$ Imprinted | DamageSource$ ReplacedSource | NumDmg$ X +SVar:CombatDmg:AB$DealDamage | Cost$ 0 | Defined$ Imprinted | DamageSource$ ReplacedSource | CombatDamage$ True | NumDmg$ X | References$ X +SVar:NonCombatDmg:AB$DealDamage | Cost$ 0 | Defined$ Imprinted | DamageSource$ ReplacedSource | NumDmg$ X | References$ X SVar:OutOfSight:Mode$ChangesZone | Origin$ Battlefield | Destination$ Any | Defined$ Imprinted | Execute$ ExileEffect | Static$ True SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Exile SVar:X:ReplaceCount$DamageAmount diff --git a/res/cardsfolder/k/karplusan_yeti.txt b/res/cardsfolder/k/karplusan_yeti.txt index ca38eb4b21a..aa330a76e04 100644 --- a/res/cardsfolder/k/karplusan_yeti.txt +++ b/res/cardsfolder/k/karplusan_yeti.txt @@ -3,8 +3,8 @@ ManaCost:3 R R Types:Creature Yeti Text:no text PT:3/3 -A:AB$ DealDamage | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DamageThis | SpellDescription$ CARDNAME deals damage equal to its power to target creature. That creature deals damage equal to its power to CARDNAME. -SVar:DamageThis:DB$DealDamage | Defined$ Self | DamageSource$ Targeted | NumDmg$ Y +A:AB$ DealDamage | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DamageThis | References$ X | SpellDescription$ CARDNAME deals damage equal to its power to target creature. That creature deals damage equal to its power to CARDNAME. +SVar:DamageThis:DB$DealDamage | Defined$ Self | DamageSource$ Targeted | NumDmg$ Y | References$ Y SVar:X:Count$CardPower SVar:Y:Targeted$CardPower SVar:Rarity:Rare diff --git a/res/cardsfolder/k/kavu_mauler.txt b/res/cardsfolder/k/kavu_mauler.txt index 0a5fcd1dca9..7749b4e6cba 100644 --- a/res/cardsfolder/k/kavu_mauler.txt +++ b/res/cardsfolder/k/kavu_mauler.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 K:Trample T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME attacks, it gets +1/+1 until end of turn for each other attacking Kavu. -SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ X | NumDef$ X +SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ X | NumDef$ X | References$ X SVar:X:Count$Valid Kavu.attacking+Other SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/kavu_mauler.jpg diff --git a/res/cardsfolder/k/kavu_predator.txt b/res/cardsfolder/k/kavu_predator.txt index 84655f8fcba..7e6061c75fc 100644 --- a/res/cardsfolder/k/kavu_predator.txt +++ b/res/cardsfolder/k/kavu_predator.txt @@ -5,7 +5,7 @@ Text:no text PT:2/2 K:Trample T:Mode$ LifeGained | ValidPlayer$ Opponent | TriggerZones$ Battlefield | Execute$ TrigPut | TriggerDescription$ Whenever an opponent gains life, put that many +1/+1 counters on CARDNAME. -SVar:TrigPut:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ X +SVar:TrigPut:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ X | References$ X SVar:X:TriggerCount$LifeAmount SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/kavu_predator.jpg diff --git a/res/cardsfolder/k/keening_stone.txt b/res/cardsfolder/k/keening_stone.txt index 22fc39e5f6d..97ce93b80b2 100644 --- a/res/cardsfolder/k/keening_stone.txt +++ b/res/cardsfolder/k/keening_stone.txt @@ -2,7 +2,7 @@ Name:Keening Stone ManaCost:6 Types:Artifact Text:no text -A:AB$ Mill | Cost$ 5 T | ValidTgts$ Player | TgtPrompt$ Select target player | NumCards$ X | SpellDescription$ Target player puts the top X cards of his or her library into his or her graveyard, where X is the number of cards in that player's graveyard. +A:AB$ Mill | Cost$ 5 T | ValidTgts$ Player | TgtPrompt$ Select target player | NumCards$ X | References$ X | SpellDescription$ Target player puts the top X cards of his or her library into his or her graveyard, where X is the number of cards in that player's graveyard. SVar:X:TargetedPlayer$CardsInGraveyard SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/keening_stone.jpg diff --git a/res/cardsfolder/k/keep_watch.txt b/res/cardsfolder/k/keep_watch.txt index 79c1ee83025..69accd80d94 100644 --- a/res/cardsfolder/k/keep_watch.txt +++ b/res/cardsfolder/k/keep_watch.txt @@ -2,7 +2,7 @@ Name:Keep Watch ManaCost:2 U Types:Instant Text:no text -A:SP$ Draw | Cost$ 2 U | NumCards$ X | SpellDescription$ Draw a card for each attacking creature. +A:SP$ Draw | Cost$ 2 U | NumCards$ X | References$ X | SpellDescription$ Draw a card for each attacking creature. SVar:X:Count$Valid Creature.attacking SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/k/keeper_of_the_beasts.txt b/res/cardsfolder/k/keeper_of_the_beasts.txt index 2c331048554..fd6c08b3c26 100644 --- a/res/cardsfolder/k/keeper_of_the_beasts.txt +++ b/res/cardsfolder/k/keeper_of_the_beasts.txt @@ -3,7 +3,7 @@ ManaCost:G G Types:Creature Human Wizard Text:no text PT:1/2 -A:AB$ Token | Cost$ G T | ValidTgts$ Opponent | CheckSVar$ X | SVarCompare$ LTY | TokenAmount$ 1 | TokenName$ Beast | TokenTypes$ Creature,Beast | TokenOwner$ You | TokenColors$ Green | TokenPower$ 2 | TokenToughness$ 2 | SpellDescription$ Choose target opponent who controlled more creatures than you did as you activated this ability. Put a 2/2 green Beast creature token onto the battlefield. +A:AB$ Token | Cost$ G T | ValidTgts$ Opponent | CheckSVar$ X | SVarCompare$ LTY | TokenAmount$ 1 | TokenName$ Beast | TokenTypes$ Creature,Beast | TokenOwner$ You | TokenColors$ Green | TokenPower$ 2 | TokenToughness$ 2 | References$ X,Y | SpellDescription$ Choose target opponent who controlled more creatures than you did as you activated this ability. Put a 2/2 green Beast creature token onto the battlefield. SVar:X:Count$Valid Creature.YouCtrl SVar:Y:Count$Valid Creature.YouDontCtrl SVar:Rarity:Uncommon diff --git a/res/cardsfolder/k/keeper_of_the_dead.txt b/res/cardsfolder/k/keeper_of_the_dead.txt index 95db8ceab64..cfad1bbc4e4 100644 --- a/res/cardsfolder/k/keeper_of_the_dead.txt +++ b/res/cardsfolder/k/keeper_of_the_dead.txt @@ -3,10 +3,10 @@ ManaCost:B B Types:Creature Human Wizard Text:no text PT:1/2 -A:AB$ Pump | Cost$ B T | ValidTgts$ Opponent | TgtPrompt$ Choose target opponent with at least two fewer creature cards in his or her graveyard than you | CheckSVar$ X | SVarCompare$ GEY | SubAbility$ DeadKeepersDestroy | StackDescription$ None | SpellDescription$ Choose target opponent who had at least two fewer creature cards in his or her graveyard than you did as you activated this ability. Destroy target nonblack creature he or she controls. +A:AB$ Pump | Cost$ B T | ValidTgts$ Opponent | TgtPrompt$ Choose target opponent with at least two fewer creature cards in his or her graveyard than you | CheckSVar$ X | SVarCompare$ GEY | SubAbility$ DeadKeepersDestroy | StackDescription$ None | References$ X,Y | SpellDescription$ Choose target opponent who had at least two fewer creature cards in his or her graveyard than you did as you activated this ability. Destroy target nonblack creature he or she controls. SVar:DeadKeepersDestroy:DB$ Destroy | ValidTgts$ Creature.nonBlack+TargetedPlayerCtrl | TgtPrompt$ Select target nonblack creature targeted player controls -SVar:X:Count$InYourYard/Minus.2 -SVar:Y:Count$InOppYard +SVar:X:Count$TypeInYourYard.Creature/Minus.2 +SVar:Y:Count$TypeInOppYard.Creature SVar:Z:Remembered$Amount SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/keeper_of_the_dead.jpg diff --git a/res/cardsfolder/k/keeper_of_the_flame.txt b/res/cardsfolder/k/keeper_of_the_flame.txt index 634966d6080..d07e16f0d07 100644 --- a/res/cardsfolder/k/keeper_of_the_flame.txt +++ b/res/cardsfolder/k/keeper_of_the_flame.txt @@ -3,7 +3,7 @@ ManaCost:R R Types:Creature Human Wizard Text:no text PT:1/2 -A:AB$ DealDamage | Cost$ R T | ValidTgts$ Opponent | CheckSVar$ X | SVarCompare$ LTY | NumDmg$ 2 | SpellDescription$ Choose target opponent who had more life than you did as you activated this ability. CARDNAME deals 2 damage to him or her. +A:AB$ DealDamage | Cost$ R T | ValidTgts$ Opponent | CheckSVar$ X | SVarCompare$ LTY | NumDmg$ 2 | References$ X,Y | SpellDescription$ Choose target opponent who had more life than you did as you activated this ability. CARDNAME deals 2 damage to him or her. SVar:X:Count$YourLifeTotal SVar:Y:Count$OppLifeTotal SVar:Rarity:Uncommon diff --git a/res/cardsfolder/k/keeper_of_the_light.txt b/res/cardsfolder/k/keeper_of_the_light.txt index e3df950f9a2..993f494a7dc 100644 --- a/res/cardsfolder/k/keeper_of_the_light.txt +++ b/res/cardsfolder/k/keeper_of_the_light.txt @@ -3,7 +3,7 @@ ManaCost:W W Types:Creature Human Wizard Text:no text PT:1/2 -A:AB$ Pump | Cost$ W T | ValidTgts$ Opponent | TgtPrompt$ Choose target opponent with more life than you | CheckSVar$ X | SVarCompare$ LTY | SubAbility$ LightKeepersLife | StackDescription$ None | SpellDescription$ Choose target opponent who had more life than you did as you activated this ability. You gain 3 life. +A:AB$ Pump | Cost$ W T | ValidTgts$ Opponent | TgtPrompt$ Choose target opponent with more life than you | CheckSVar$ X | SVarCompare$ LTY | SubAbility$ LightKeepersLife | StackDescription$ None | References$ X,Y | SpellDescription$ Choose target opponent who had more life than you did as you activated this ability. You gain 3 life. SVar:LightKeepersLife:DB$ GainLife | Defined$ You | LifeAmount$ 3 SVar:X:Count$YourLifeTotal SVar:Y:Count$OppLifeTotal diff --git a/res/cardsfolder/k/keeper_of_the_mind.txt b/res/cardsfolder/k/keeper_of_the_mind.txt index 47269c43f7f..22db5a08cd2 100644 --- a/res/cardsfolder/k/keeper_of_the_mind.txt +++ b/res/cardsfolder/k/keeper_of_the_mind.txt @@ -3,7 +3,7 @@ ManaCost:U U Types:Creature Human Wizard Text:no text PT:1/2 -A:AB$ Draw | Cost$ U T | ValidTgts$ Opponent | TgtPrompt$ Choose target opponent with at least two more cards in hand than you | CheckSVar$ X | SVarCompare$ GEY | Defined$ You | NumCards$ 1 | SpellDescription$ Choose target opponent who had at least two more cards in hand than you did as you activated this ability. Draw a card. +A:AB$ Draw | Cost$ U T | ValidTgts$ Opponent | TgtPrompt$ Choose target opponent with at least two more cards in hand than you | CheckSVar$ X | SVarCompare$ GEY | Defined$ You | NumCards$ 1 | References$ X,Y | SpellDescription$ Choose target opponent who had at least two more cards in hand than you did as you activated this ability. Draw a card. SVar:X:Count$InOppHandCount SVar:Y:Count$InYourHand/Plus.2 SVar:Rarity:Uncommon diff --git a/res/cardsfolder/k/keldon_battlewagon.txt b/res/cardsfolder/k/keldon_battlewagon.txt index 6b56ee82611..fd18178fa7f 100644 --- a/res/cardsfolder/k/keldon_battlewagon.txt +++ b/res/cardsfolder/k/keldon_battlewagon.txt @@ -8,7 +8,7 @@ K:CARDNAME can't block. T:Mode$ Attacks | ValidCard$ Card.Self | DelayedTrigger$ DelTrig | TriggerDescription$ When CARDNAME attacks, sacrifice it at end of combat. SVar:DelTrig:Mode$ Phase | Phase$ EndCombat | ValidPlayer$ Player | Execute$ TrigSacrifice | TriggerDescription$ Sacrifice CARDNAME at end of combat. SVar:TrigSacrifice:AB$Sacrifice | Cost$ 0 | Defined$ Self -A:AB$ Pump | Cost$ tapXType<1/Creature> | NumAtt$ +X | SpellDescription$ CARDNAME gets +X/+0 until end of turn, where X is the power of the creature tapped this way. +A:AB$ Pump | Cost$ tapXType<1/Creature> | NumAtt$ +X | References$ X | SpellDescription$ CARDNAME gets +X/+0 until end of turn, where X is the power of the creature tapped this way. SVar:X:Tapped$CardPower SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/k/kemba_kha_regent.txt b/res/cardsfolder/k/kemba_kha_regent.txt index cf6360d5b06..e0bfa9d5f94 100644 --- a/res/cardsfolder/k/kemba_kha_regent.txt +++ b/res/cardsfolder/k/kemba_kha_regent.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Cat Cleric Text:no text PT:2/4 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ At the beginning of your upkeep, put a 2/2 white Cat creature token onto the battlefield for each Equipment attached to CARDNAME. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenImage$ W 2 2 Cat | TokenName$ Cat | TokenColors$ White | TokenPower$ 2 | TokenToughness$ 2 | TokenTypes$ Creature,Cat | TokenAmount$ X | TokenOwner$ You +SVar:TrigToken:AB$Token | Cost$ 0 | TokenImage$ W 2 2 Cat | TokenName$ Cat | TokenColors$ White | TokenPower$ 2 | TokenToughness$ 2 | TokenTypes$ Creature,Cat | TokenAmount$ X | TokenOwner$ You | References$ X SVar:X:Count$Valid Equipment.Attached SVar:EquipMe:Multiple SVar:Rarity:Rare diff --git a/res/cardsfolder/k/kessig_cagebreakers.txt b/res/cardsfolder/k/kessig_cagebreakers.txt index eee8cb172b0..bca22282c53 100644 --- a/res/cardsfolder/k/kessig_cagebreakers.txt +++ b/res/cardsfolder/k/kessig_cagebreakers.txt @@ -4,7 +4,7 @@ Types:Creature Human Rogue Text:no text PT:3/4 T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ Whenever CARDNAME attacks, put a 2/2 green Wolf creature token onto the battlefield tapped and attacking for each creature card in your graveyard. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenImage$ G 2 2 Wolf | TokenAmount$ X | TokenName$ Wolf | TokenTypes$ Creature,Wolf | TokenOwner$ You | TokenColors$ Green | TokenPower$ 2 | TokenToughness$ 2 | TokenTapped$ True | TokenAttacking$ True +SVar:TrigToken:AB$Token | Cost$ 0 | TokenImage$ G 2 2 Wolf | TokenAmount$ X | TokenName$ Wolf | TokenTypes$ Creature,Wolf | TokenOwner$ You | TokenColors$ Green | TokenPower$ 2 | TokenToughness$ 2 | TokenTapped$ True | TokenAttacking$ True | References$ X SVar:X:Count$TypeInYourYard.Creature SVar:HasAttackEffect:TRUE SVar:Rarity:Rare diff --git a/res/cardsfolder/k/kessig_malcontents.txt b/res/cardsfolder/k/kessig_malcontents.txt index 9abc316cd87..5a11a91bfa2 100644 --- a/res/cardsfolder/k/kessig_malcontents.txt +++ b/res/cardsfolder/k/kessig_malcontents.txt @@ -4,7 +4,7 @@ Types:Creature Human Warrior Text:no text PT:3/1 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TroubleMaking | TriggerDescription$ When CARDNAME enters the battlefield, it deals damage to target player equal to the number of Humans you control. -SVar:TroubleMaking:DB$DealDamage | ValidTgts$ Player | TgtPrompt$ Select target player | NumDmg$ X +SVar:TroubleMaking:DB$DealDamage | ValidTgts$ Player | TgtPrompt$ Select target player | NumDmg$ X | References$ X SVar:X:Count$Valid Human.YouCtrl SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/kessig_malcontents.jpg diff --git a/res/cardsfolder/k/kessig_wolf_run.txt b/res/cardsfolder/k/kessig_wolf_run.txt index f9f1d7d2838..d6899b05fb9 100644 --- a/res/cardsfolder/k/kessig_wolf_run.txt +++ b/res/cardsfolder/k/kessig_wolf_run.txt @@ -3,7 +3,7 @@ ManaCost:no cost Types:Land Text:no text A:AB$ Mana | Cost$ T | Produced$ 1 | SpellDescription$ Add 1 to your mana pool. -A:AB$ Pump | Cost$ X R G T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | KW$ Trample | SpellDescription$ Target creature gets +X/+0 and gains trample until end of turn. +A:AB$ Pump | Cost$ X R G T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | KW$ Trample | References$ X | SpellDescription$ Target creature gets +X/+0 and gains trample until end of turn. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/k/khabal_ghoul.txt b/res/cardsfolder/k/khabal_ghoul.txt index fae9fe81aab..bd5efe20e85 100644 --- a/res/cardsfolder/k/khabal_ghoul.txt +++ b/res/cardsfolder/k/khabal_ghoul.txt @@ -4,7 +4,7 @@ Types:Creature Zombie Text:no text PT:1/1 T:Mode$ Phase | Phase$ End of Turn | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of each end step, put a +1/+1 counter on CARDNAME for each creature put into a graveyard from the battlefield this turn. -SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ X +SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ X | References$ X SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/khabal_ghoul.jpg diff --git a/res/cardsfolder/k/khalni_garden.txt b/res/cardsfolder/k/khalni_garden.txt index 6efb03e15cc..318dece54b7 100644 --- a/res/cardsfolder/k/khalni_garden.txt +++ b/res/cardsfolder/k/khalni_garden.txt @@ -9,5 +9,6 @@ A:AB$ Mana | Cost$ T | Produced$ G | SpellDescription$ Add G to your mana pool. SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/khalni_garden.jpg SetInfo:WWK|Common|http://magiccards.info/scans/en/wwk/138.jpg +SetInfo:PC2|Common|http://magiccards.info/scans/en/pc2/122.jpg Oracle:Khalni Garden enters the battlefield tapped.\nWhen Khalni Garden enters the battlefield, put a 0/1 green Plant creature token onto the battlefield.\n{T}: Add {G} to your mana pool. End \ No newline at end of file diff --git a/res/cardsfolder/k/kiku_nights_flower.txt b/res/cardsfolder/k/kiku_nights_flower.txt index 32a9f8ee5f5..64427a7e4eb 100644 --- a/res/cardsfolder/k/kiku_nights_flower.txt +++ b/res/cardsfolder/k/kiku_nights_flower.txt @@ -3,7 +3,7 @@ ManaCost:B B Types:Legendary Creature Human Assassin Text:no text PT:1/1 -A:AB$ DealDamage | Cost$ 2 B B T | Tgt$ TgtC | NumDmg$ X | DamageSource$ Targeted | SpellDescription$ Target creature deals damage to itself equal to its power. +A:AB$ DealDamage | Cost$ 2 B B T | Tgt$ TgtC | NumDmg$ X | DamageSource$ Targeted | References$ X | SpellDescription$ Target creature deals damage to itself equal to its power. SVar:X:Targeted$CardPower SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/k/kikus_shadow.txt b/res/cardsfolder/k/kikus_shadow.txt index 2771eab3ff4..282f6857f66 100644 --- a/res/cardsfolder/k/kikus_shadow.txt +++ b/res/cardsfolder/k/kikus_shadow.txt @@ -2,7 +2,7 @@ Name:Kiku's Shadow ManaCost:B B Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ B B | Tgt$ TgtC | NumDmg$ X | DamageSource$ Targeted | SpellDescription$ Target creature deals damage to itself equal to its power. +A:SP$ DealDamage | Cost$ B B | Tgt$ TgtC | NumDmg$ X | DamageSource$ Targeted | References$ X | SpellDescription$ Target creature deals damage to itself equal to its power. SVar:X:Targeted$CardPower SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/k/kindle.txt b/res/cardsfolder/k/kindle.txt index b2e094b0963..3406045cba6 100644 --- a/res/cardsfolder/k/kindle.txt +++ b/res/cardsfolder/k/kindle.txt @@ -2,7 +2,7 @@ Name:Kindle ManaCost:1 R Types:Instant Text:no text -A:SP$ DealDamage | Cost$ 1 R | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target creature or player, where X is 2 plus the number of cards named CARDNAME in all graveyards. +A:SP$ DealDamage | Cost$ 1 R | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to target creature or player, where X is 2 plus the number of cards named CARDNAME in all graveyards. SVar:X:Count$NamedInAllYards.Kindle/Plus.2 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/kindle.jpg diff --git a/res/cardsfolder/k/kitsune_bonesetter.txt b/res/cardsfolder/k/kitsune_bonesetter.txt index cb02edc4695..de270376a24 100644 --- a/res/cardsfolder/k/kitsune_bonesetter.txt +++ b/res/cardsfolder/k/kitsune_bonesetter.txt @@ -3,7 +3,7 @@ ManaCost:2 W Types:Creature Fox Cleric Text:no text PT:0/1 -A:AB$ PreventDamage | Cost$ T | ValidTgts$ Creature | Amount$ 3 | TgtPrompt$ Select target creature | CheckSVar$ X | SVarCompare$ GTY | SpellDescription$ Prevent the next 3 damage that would be dealt to target creature this turn. Activate this ability only if you have more cards in hand than each opponent. +A:AB$ PreventDamage | Cost$ T | ValidTgts$ Creature | Amount$ 3 | TgtPrompt$ Select target creature | CheckSVar$ X | SVarCompare$ GTY | References$ X,Y | SpellDescription$ Prevent the next 3 damage that would be dealt to target creature this turn. Activate this ability only if you have more cards in hand than each opponent. SVar:X:Count$InYourHand SVar:Y:Count$InOppHand SVar:Rarity:Common diff --git a/res/cardsfolder/k/kitsune_loreweaver.txt b/res/cardsfolder/k/kitsune_loreweaver.txt index c78831b3fbc..fdfdb16507b 100644 --- a/res/cardsfolder/k/kitsune_loreweaver.txt +++ b/res/cardsfolder/k/kitsune_loreweaver.txt @@ -3,7 +3,7 @@ ManaCost:1 W Types:Creature Fox Cleric Text:no text PT:2/1 -A:AB$ Pump | Cost$ 1 W | NumDef$ +X | SpellDescription$ Kitsune Loreweaver gets +0/+X until end of turn, where X is the number of cards in your hand. +A:AB$ Pump | Cost$ 1 W | NumDef$ +X | References$ X | SpellDescription$ Kitsune Loreweaver gets +0/+X until end of turn, where X is the number of cards in your hand. SVar:X:Count$NumCardsInYourHand SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/kitsune_loreweaver.jpg diff --git a/res/cardsfolder/k/kjeldoran_elite_guard.txt b/res/cardsfolder/k/kjeldoran_elite_guard.txt index 7f23cce5ef1..0eeb634cb6a 100644 --- a/res/cardsfolder/k/kjeldoran_elite_guard.txt +++ b/res/cardsfolder/k/kjeldoran_elite_guard.txt @@ -4,7 +4,7 @@ Types:Creature Human Soldier Text:no text PT:2/2 A:AB$ Pump | Cost$ T | NumAtt$ +2 | NumDef$ +2 | ValidTgts$ Creature | TgtPrompt$ Select target creature | ActivationPhases$ BeginCombat->EndCombat | SubAbility$ EliteGuardEffect | SpellDescription$ Target creature gets +2/+2 until end of turn. When that creature leaves the battlefield this turn, sacrifice CARDNAME. Activate this ability only during combat. -SVar:EliteGuardEffect:DB$ Effect | Name$ Elite Guard Escort | Triggers$ LostTheGuarded | SVars$ ExileEffect,EliteDefence | RememberObjects$ Targeted | ImprintCards$ Self +SVar:EliteGuardEffect:DB$ Effect | Name$ Elite Guard Escort | Triggers$ LostTheGuarded | SVars$ ExileEffect,EliteDefence | References$ LostTheGuarded,ExileEffect,EliteDefence | RememberObjects$ Targeted | ImprintCards$ Self SVar:LostTheGuarded:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Battlefield | Destination$ Any | Execute$ EliteDefence | TriggerDescription$ When the targeted creature leaves the battlefield this turn, sacrifice Kjeldoran Elite Guard. SVar:EliteDefence:DB$ SacrificeAll | Defined$ Imprinted | SubAbility$ ExileEffect SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Exile diff --git a/res/cardsfolder/k/kjeldoran_gargoyle.txt b/res/cardsfolder/k/kjeldoran_gargoyle.txt index d55b7f232fd..a4550eda223 100644 --- a/res/cardsfolder/k/kjeldoran_gargoyle.txt +++ b/res/cardsfolder/k/kjeldoran_gargoyle.txt @@ -6,7 +6,7 @@ PT:3/3 K:Flying K:First Strike T:Mode$ DamageDone | ValidSource$ Card.Self | Execute$ TrigGain | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals damage, you gain that much life. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/kjeldoran_gargoyle.jpg diff --git a/res/cardsfolder/k/kjeldoran_javelineer.txt b/res/cardsfolder/k/kjeldoran_javelineer.txt index 76323be6514..8b91b05be02 100644 --- a/res/cardsfolder/k/kjeldoran_javelineer.txt +++ b/res/cardsfolder/k/kjeldoran_javelineer.txt @@ -4,7 +4,7 @@ Types:Creature Human Soldier Text:no text PT:1/2 K:Cumulative upkeep:1 -A:AB$ DealDamage | Cost$ T | ValidTgts$ Creature.attacking,Creature.blocking | TgtPrompt$ Select target attacking or blocking creature | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to the number of age counters on it to target attacking or blocking creature. +A:AB$ DealDamage | Cost$ T | ValidTgts$ Creature.attacking,Creature.blocking | TgtPrompt$ Select target attacking or blocking creature | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to the number of age counters on it to target attacking or blocking creature. SVar:X:Count$CardCounters.AGE SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/k/kjeldoran_royal_guard.txt b/res/cardsfolder/k/kjeldoran_royal_guard.txt index 67de666dc82..31c73287bb4 100644 --- a/res/cardsfolder/k/kjeldoran_royal_guard.txt +++ b/res/cardsfolder/k/kjeldoran_royal_guard.txt @@ -5,7 +5,7 @@ Text:no text PT:2/5 A:AB$ Effect | Cost$ T | Name$ Kjeldoran Royal Guard Effect | ReplacementEffects$ DamageEvent | SVars$ RoyalGuardIntercept,InterceptedX | RememberObjects$ Self | AILogic$ Fog | SpellDescription$ All combat damage that would be dealt to you by unblocked creatures this turn is dealt to CARDNAME instead. SVar:DamageEvent:Event$ DamageDone | ValidSource$ Creature.unblocked | ValidTarget$ You | ReplaceWith$ RoyalGuardIntercept | IsCombat$ True | Description$ All combat damage that would be dealt to you by unblocked creatures this turn is dealt to Kjeldoran Royal Guard instead. -SVar:RoyalGuardIntercept:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ Remembered | DamageSource$ ReplacedSource | NumDmg$ InterceptedX +SVar:RoyalGuardIntercept:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ Remembered | DamageSource$ ReplacedSource | NumDmg$ InterceptedX | References$ InterceptedX SVar:InterceptedX:ReplaceCount$DamageAmount SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/kjeldoran_royal_guard.jpg diff --git a/res/cardsfolder/k/kjeldoran_war_cry.txt b/res/cardsfolder/k/kjeldoran_war_cry.txt index dca36477497..f520707a46d 100644 --- a/res/cardsfolder/k/kjeldoran_war_cry.txt +++ b/res/cardsfolder/k/kjeldoran_war_cry.txt @@ -2,7 +2,7 @@ Name:Kjeldoran War Cry ManaCost:1 W Types:Instant Text:no text -A:SP$ PumpAll | Cost$ 1 W | ValidCards$ Creature.YouCtrl | NumAtt$ +X | NumDef$ +X | SpellDescription$ Creatures you control get +X/+X until end of turn, where X is 1 plus the number of cards named Kjeldoran War Cry in all graveyards. +A:SP$ PumpAll | Cost$ 1 W | ValidCards$ Creature.YouCtrl | NumAtt$ +X | NumDef$ +X | References$ X | SpellDescription$ Creatures you control get +X/+X until end of turn, where X is 1 plus the number of cards named Kjeldoran War Cry in all graveyards. SVar:X:Count$NamedInAllYards.Kjeldoran War Cry/Plus.1 SVar:Rarity:Common SVar:Picture:http://resources.wizards.com/magic/cards/csp/en-us/card121148.jpg diff --git a/res/cardsfolder/k/knotvine_paladin.txt b/res/cardsfolder/k/knotvine_paladin.txt index 85505324ca4..1a97b207a9a 100644 --- a/res/cardsfolder/k/knotvine_paladin.txt +++ b/res/cardsfolder/k/knotvine_paladin.txt @@ -4,7 +4,7 @@ Types:Creature Human Knight Text:no text PT:2/2 T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, it gets +1/+1 until end of turn for each untapped creature you control. -SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ X | NumDef$ X +SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ X | NumDef$ X | References$ X SVar:X:Count$Valid Creature.untapped+YouCtrl SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/knotvine_paladin.jpg diff --git a/res/cardsfolder/k/knowledge_vault.txt b/res/cardsfolder/k/knowledge_vault.txt index e8cae84901b..2d5211d7a19 100644 --- a/res/cardsfolder/k/knowledge_vault.txt +++ b/res/cardsfolder/k/knowledge_vault.txt @@ -4,8 +4,8 @@ Types:Artifact Text:no text A:AB$ ChangeZone | Cost$ 2 T | Defined$ TopOfLibrary | Origin$ Library | Destination$ Exile | ExileFaceDown$ True | RememberChanged$ True | SpellDescription$ Exile the top card of your library face down. A:AB$ SacrificeAll | Cost$ 0 | ValidCards$ Card.Self | RememberSacrificed$ True | SubAbility$ DBDiscardHand | SpellDescription$ Sacrifice CARDNAME. If you do, discard your hand, then put all cards exiled with CARDNAME into their owner's hand. -SVar:DBDiscardHand:DB$ Discard | Mode$ Hand | SubAbility$ DBChangeZoneAll | ConditionCheckSVar$ VaultX | ConditionSVarCompare$ GT0 -SVar:DBChangeZoneAll:DB$ ChangeZoneAll | ChangeType$ Remembered | Origin$ Exile | Destination$ Hand | ConditionCheckSVar$ VaultX | ConditionSVarCompare$ GT0 +SVar:DBDiscardHand:DB$ Discard | Mode$ Hand | SubAbility$ DBChangeZoneAll | ConditionCheckSVar$ VaultX | ConditionSVarCompare$ GT0 | References$ VaultX +SVar:DBChangeZoneAll:DB$ ChangeZoneAll | ChangeType$ Remembered | Origin$ Exile | Destination$ Hand | ConditionCheckSVar$ VaultX | ConditionSVarCompare$ GT0 | References$ VaultX T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Any | Hidden$ True | Execute$ TrigGraveyard | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME leaves the battlefield, put all cards exiled with CARDNAME into their owner's graveyard. SVar:TrigGraveyard:AB$ ChangeZoneAll | Cost$ 0 | ChangeType$ Remembered | Origin$ Exile | Destination$ Graveyard SVar:VaultX:Remembered$Valid Card.Self diff --git a/res/cardsfolder/k/kodama_of_the_center_tree.txt b/res/cardsfolder/k/kodama_of_the_center_tree.txt index 1e9f758bce0..169c438fbff 100644 --- a/res/cardsfolder/k/kodama_of_the_center_tree.txt +++ b/res/cardsfolder/k/kodama_of_the_center_tree.txt @@ -5,7 +5,7 @@ Text:no text PT:*/* S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of Spirits you control. T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | OptionalDecider$ You | ValidCard$ Card.Self | Execute$ TrigChange | TriggerDescription$ CARDNAME has soulshift X, where X is the number of Spirits you control. (When this is put into a graveyard from the battlefield, you may return target Spirit card with converted mana cost X or less from your graveyard to your hand.) -SVar:TrigChange:AB$ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Spirit.YouCtrl+cmcLEX +SVar:TrigChange:AB$ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Spirit.YouCtrl+cmcLEX | References$ X SVar:X:Count$Valid Spirit.YouCtrl SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/k/koth_of_the_hammer.txt b/res/cardsfolder/k/koth_of_the_hammer.txt index 0e10568ebb4..c98d40fbd48 100644 --- a/res/cardsfolder/k/koth_of_the_hammer.txt +++ b/res/cardsfolder/k/koth_of_the_hammer.txt @@ -5,7 +5,7 @@ Text:no text Loyalty:3 A:AB$ Untap | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | ValidTgts$ Mountain | TgtPrompt$ Select target Mountain | SubAbility$ DBAnimate | SpellDescription$ Untap target Mountain. It becomes a 4/4 red Elemental creature until end of turn. It's still a land. SVar:DBAnimate:DB$ Animate | Defined$ Targeted | Power$ 4 | Toughness$ 4 | Types$ Creature,Elemental | Colors$ Red -A:AB$ Mana | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | Produced$ R | Amount$ X | SpellDescription$ Add R to your mana pool for each Mountain you control. +A:AB$ Mana | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | Produced$ R | Amount$ X | References$ X | SpellDescription$ Add R to your mana pool for each Mountain you control. A:AB$ Effect | Cost$ SubCounter<5/LOYALTY> | Planeswalker$ True | Ultimate$ True | Name$ Koth of the Hammer emblem | Image$ koth_of_the_hammer_emblem | StaticAbilities$ STDamage | SVars$ ABDealDamage | Stackable$ False | Keywords$ Damage | Duration$ Permanent | SpellDescription$ You get an emblem with "Mountains you control have '{T}: This land deals 1 damage to target creature or player." SVar:STDamage:Mode$ Continuous | Affected$ Mountain.YouCtrl | AddAbility$ ABDealDamage | AffectedZone$ Battlefield SVar:ABDealDamage:AB$ DealDamage | Cost$ T | Tgt$ TgtCP | NumDmg$ 1 | SpellDescription$ Deal 1 damage to target creature or player diff --git a/res/cardsfolder/k/kresh_the_bloodbraided.txt b/res/cardsfolder/k/kresh_the_bloodbraided.txt index df07c7071f0..de5f8dfe435 100644 --- a/res/cardsfolder/k/kresh_the_bloodbraided.txt +++ b/res/cardsfolder/k/kresh_the_bloodbraided.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Human Warrior Text:no text PT:3/3 T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.Other | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ Whenever another creature is put into a graveyard from the battlefield, you may put X +1/+1 counters on CARDNAME, where X is that creature's power. -SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ X +SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ X | References$ X SVar:X:TriggeredCard$CardPower SVar:Rarity:Mythic SVar:Picture:http://www.wizards.com/global/images/magic/general/kresh_the_bloodbraided.jpg diff --git a/res/cardsfolder/k/kry_shield.txt b/res/cardsfolder/k/kry_shield.txt index 85503db1ffe..359bf7c7870 100644 --- a/res/cardsfolder/k/kry_shield.txt +++ b/res/cardsfolder/k/kry_shield.txt @@ -3,7 +3,7 @@ ManaCost:2 Types:Artifact Text:no text A:AB$ Pump | Cost$ 2 T | KW$ HIDDEN Prevent all damage that would be dealt by CARDNAME. | TgtPrompt$ Select target creature you control | ValidTgts$ Creature.YouCtrl | SubAbility$ DBPump | SpellDescription$ Prevent all damage that would be dealt this turn by target creature you control. That creature gets +0/+X until end of turn, where X is its converted mana cost. -SVar:DBPump:DB$Pump | Defined$ Targeted | NumDef$ X +SVar:DBPump:DB$Pump | Defined$ Targeted | NumDef$ X | References$ X SVar:X:Targeted$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/k/kyren_toy.txt b/res/cardsfolder/k/kyren_toy.txt index c3068a70fdb..fd7093c3cfc 100644 --- a/res/cardsfolder/k/kyren_toy.txt +++ b/res/cardsfolder/k/kyren_toy.txt @@ -3,7 +3,7 @@ ManaCost:3 Types:Artifact Text:no text A:AB$ PutCounter | Cost$ 1 T | CounterType$ CHARGE | CounterNum$ 1 | SpellDescription$ Put a charge counter on CARDNAME. -A:AB$ Mana | Cost$ T SubCounter | Produced$ 1 | Amount$ Y | SpellDescription$ Add X 1 to your mana pool. +A:AB$ Mana | Cost$ T SubCounter | Produced$ 1 | Amount$ Y | References$ X,Y | SpellDescription$ Add X 1 to your mana pool. SVar:Y:Number$1/Plus.ChosenX SVar:X:XChoice SVar:RemAIDeck:True diff --git a/res/cardsfolder/l/laccolith_grunt.txt b/res/cardsfolder/l/laccolith_grunt.txt index 12eb17b4fe1..ec4ec7a0983 100644 --- a/res/cardsfolder/l/laccolith_grunt.txt +++ b/res/cardsfolder/l/laccolith_grunt.txt @@ -4,7 +4,7 @@ Types:Creature Beast Text:no text PT:2/2 T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigDamage | OptionalDecider$ You | TriggerDescription$ Whenever CARDNAME becomes blocked, you may have it deal damage equal to its power to target creature. If you do, CARDNAME assigns no combat damage this turn. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DBNoCombatDamage +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DBNoCombatDamage | References$ X SVar:DBNoCombatDamage:DB$Pump | Defined$ Self | KW$ HIDDEN CARDNAME assigns no combat damage SVar:X:Count$CardPower SVar:Rarity:Common diff --git a/res/cardsfolder/l/laccolith_titan.txt b/res/cardsfolder/l/laccolith_titan.txt index 3caa886e7a0..1050a97a034 100644 --- a/res/cardsfolder/l/laccolith_titan.txt +++ b/res/cardsfolder/l/laccolith_titan.txt @@ -4,7 +4,7 @@ Types:Creature Beast Text:no text PT:6/6 T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigDamage | OptionalDecider$ You | TriggerDescription$ Whenever CARDNAME becomes blocked, you may have it deal damage equal to its power to target creature. If you do, CARDNAME assigns no combat damage this turn. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DBNoCombatDamage +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DBNoCombatDamage | References$ X SVar:DBNoCombatDamage:DB$Pump | Defined$ Self | KW$ HIDDEN CARDNAME assigns no combat damage SVar:X:Count$CardPower SVar:Rarity:Rare diff --git a/res/cardsfolder/l/laccolith_warrior.txt b/res/cardsfolder/l/laccolith_warrior.txt index baa5c088b26..5787ccb0d96 100644 --- a/res/cardsfolder/l/laccolith_warrior.txt +++ b/res/cardsfolder/l/laccolith_warrior.txt @@ -4,7 +4,7 @@ Types:Creature Beast Warrior Text:no text PT:3/3 T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigDamage | OptionalDecider$ You | TriggerDescription$ Whenever CARDNAME becomes blocked, you may have it deal damage equal to its power to target creature. If you do, CARDNAME assigns no combat damage this turn. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DBPump +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DBPump | References$ X SVar:DBPump:DB$Pump | Defined$ Self | KW$ HIDDEN CARDNAME assigns no combat damage SVar:X:Count$CardPower SVar:Rarity:Uncommon diff --git a/res/cardsfolder/l/laccolith_whelp.txt b/res/cardsfolder/l/laccolith_whelp.txt index 5a33c8f7043..902cab164be 100644 --- a/res/cardsfolder/l/laccolith_whelp.txt +++ b/res/cardsfolder/l/laccolith_whelp.txt @@ -4,7 +4,7 @@ Types:Creature Beast Text:no text PT:1/1 T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigDamage | OptionalDecider$ You | TriggerDescription$ Whenever CARDNAME becomes blocked, you may have it deal damage equal to its power to target creature. If you do, CARDNAME assigns no combat damage this turn. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DBPump +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DBPump | References$ X SVar:DBPump:DB$Pump | Defined$ Self | KW$ HIDDEN CARDNAME assigns no combat damage SVar:X:Count$CardPower SVar:Rarity:Common diff --git a/res/cardsfolder/l/lancers_en_kor.txt b/res/cardsfolder/l/lancers_en_kor.txt index 408fdd42e94..307127653b9 100644 --- a/res/cardsfolder/l/lancers_en_kor.txt +++ b/res/cardsfolder/l/lancers_en_kor.txt @@ -4,13 +4,13 @@ Types:Creature Kor Soldier Text:no text PT:3/3 K:Trample -A:AB$ Effect | Cost$ 0 | Name$ en-Kor Redirection | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control to redirect the damage to | ReplacementEffects$ EnKorCombat,EnKorNonCombat | Triggers$ OutOfSight | SVars$ CombatDmg,NonCombatDmg,ExileEffect,RestDmgCombat,RestDmg,X,Y | Duration$ HostLeavesOrEOT | RememberObjects$ Self | ImprintCards$ Targeted | SpellDescription$ The next 1 damage that would be dealt to CARDNAME this turn is dealt to target creature you control instead. +A:AB$ Effect | Cost$ 0 | Name$ en-Kor Redirection | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control to redirect the damage to | ReplacementEffects$ EnKorCombat,EnKorNonCombat | Triggers$ OutOfSight | SVars$ CombatDmg,NonCombatDmg,ExileEffect,RestDmgCombat,RestDmg,X,Y | References$ EnKorCombat,EnKorNonCombat,OutOfSight,CombatDmg,NonCombatDmg,ExileEffect,RestDmgCombat,RestDmg,X,Y | Duration$ HostLeavesOrEOT | RememberObjects$ Self | ImprintCards$ Targeted | SpellDescription$ The next 1 damage that would be dealt to CARDNAME this turn is dealt to target creature you control instead. SVar:EnKorCombat:Event$ DamageDone | ValidTarget$ Creature.IsRemembered | IsCombat$ True | ReplaceWith$ CombatDmg | Description$ The next 1 damage that would be dealt to Lancers en-Kor this turn is dealt to target creature you control instead. SVar:EnKorNonCombat:Event$ DamageDone | ValidTarget$ Creature.IsRemembered | IsCombat$ False | ReplaceWith$ NonCombatDmg | Secondary$ True | Description$ The next 1 damage that would be dealt to Lancers en-Kor this turn is dealt to target creature you control instead. -SVar:CombatDmg:AB$DealDamage | Cost$ 0 | Defined$ Imprinted | DamageSource$ ReplacedSource | CombatDamage$ True | NumDmg$ 1 | SubAbility$ RestDmgCombat | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE1 -SVar:NonCombatDmg:AB$DealDamage | Cost$ 0 | Defined$ Imprinted | DamageSource$ ReplacedSource | NumDmg$ 1 | SubAbility$ RestDmg | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE1 -SVar:RestDmgCombat:DB$DealDamage | Defined$ Remembered | DamageSource$ ReplacedSource | CombatDamage$ True | NumDmg$ X | SubAbility$ ExileEffect -SVar:RestDmg:DB$DealDamage | Defined$ Remembered | DamageSource$ ReplacedSource | NumDmg$ X | SubAbility$ ExileEffect +SVar:CombatDmg:AB$DealDamage | Cost$ 0 | Defined$ Imprinted | DamageSource$ ReplacedSource | CombatDamage$ True | NumDmg$ 1 | SubAbility$ RestDmgCombat | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE1 | References$ Y +SVar:NonCombatDmg:AB$DealDamage | Cost$ 0 | Defined$ Imprinted | DamageSource$ ReplacedSource | NumDmg$ 1 | SubAbility$ RestDmg | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE1 | References$ Y +SVar:RestDmgCombat:DB$DealDamage | Defined$ Remembered | DamageSource$ ReplacedSource | CombatDamage$ True | NumDmg$ X | SubAbility$ ExileEffect | References$ X +SVar:RestDmg:DB$DealDamage | Defined$ Remembered | DamageSource$ ReplacedSource | NumDmg$ X | SubAbility$ ExileEffect | References$ X SVar:OutOfSight:Mode$ChangesZone | Origin$ Battlefield | Destination$ Any | Defined$ Imprinted | Execute$ ExileEffect | Static$ True SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Exile | Static$ True SVar:X:ReplaceCount$DamageAmount/Minus.1 diff --git a/res/cardsfolder/l/landbind_ritual.txt b/res/cardsfolder/l/landbind_ritual.txt index e4768421c3d..b5d45b64f48 100644 --- a/res/cardsfolder/l/landbind_ritual.txt +++ b/res/cardsfolder/l/landbind_ritual.txt @@ -2,7 +2,7 @@ Name:Landbind Ritual ManaCost:3 W W Types:Sorcery Text:no text -A:SP$ GainLife | Cost$ 3 W W | LifeAmount$ X | SpellDescription$ You gain 2 life for each Plains you control. +A:SP$ GainLife | Cost$ 3 W W | LifeAmount$ X | References$ X | SpellDescription$ You gain 2 life for each Plains you control. SVar:X:Count$TypeYouCtrl.Plains/Times.2 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/landbind_ritual.jpg diff --git a/res/cardsfolder/l/lashknife_barrier.txt b/res/cardsfolder/l/lashknife_barrier.txt index 41b347f126b..bbc6f615eae 100644 --- a/res/cardsfolder/l/lashknife_barrier.txt +++ b/res/cardsfolder/l/lashknife_barrier.txt @@ -4,8 +4,8 @@ Types:Enchantment Text:no text R:Event$ DamageDone | ValidTarget$ Creature.YouCtrl | ReplaceWith$ DmgMinus1 | IsCombat$ False | Description$ If a source would deal damage to a creature you control, it deals that much damage minus 1 to that creature instead. R:Event$ DamageDone | ValidTarget$ Creature.YouCtrl | ReplaceWith$ DmgMinus1Combat | IsCombat$ True | Secondary$ True | Description$ If a source would deal damage to a creature you control, it deals that much damage minus 1 to that creature instead. -SVar:DmgMinus1:AB$DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X -SVar:DmgMinus1Combat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X +SVar:DmgMinus1:AB$DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X | References$ X +SVar:DmgMinus1Combat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X | References$ X SVar:X:ReplaceCount$DamageAmount/Minus.1 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDraw | TriggerDescription$ When CARDNAME enters the battlefield, draw a card. SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ 1 diff --git a/res/cardsfolder/l/last_stand.txt b/res/cardsfolder/l/last_stand.txt index 2b9b1ac12af..cd8c79c2da3 100644 --- a/res/cardsfolder/l/last_stand.txt +++ b/res/cardsfolder/l/last_stand.txt @@ -2,12 +2,12 @@ Name:Last Stand ManaCost:W U B R G Types:Sorcery Text:no text -A:SP$ LoseLife | Cost$ W U B R G | Defined$ Opponent | LifeAmount$ SwampsYouControl | SubAbility$ DBDamageMountain | SpellDescription$ Target opponent loses 2 life for each Swamp you control. CARDNAME deals damage equal to the number of Mountains you control to target creature. Put a 1/1 green Saproling creature token onto the battlefield for each Forest you control. You gain 2 life for each Plains you control. Draw a card for each Island you control, then discard that many cards. -SVar:DBDamageMountain:DB$DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ MountainsYouControl | SubAbility$ DBTokenForest -SVar:DBTokenForest:DB$Token | TokenAmount$ ForestsYouControl | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | SubAbility$ DBGainLifePlains -SVar:DBGainLifePlains:DB$GainLife | Defined$ You | LifeAmount$ PlainsYouControl | SubAbility$ DBDrawCardIsland -SVar:DBDrawCardIsland:DB$Draw | Defined$ You | NumCards$ IslandsYouControl | SubAbility$ DBDiscardJustAsMany -SVar:DBDiscardJustAsMany:DB$Discard | Defined$ You | NumCards$ IslandsYouControl | Mode$ TgtChoose +A:SP$ LoseLife | Cost$ W U B R G | Defined$ Opponent | LifeAmount$ SwampsYouControl | SubAbility$ DBDamageMountain | References$ SwampsYouControl | SpellDescription$ Target opponent loses 2 life for each Swamp you control. CARDNAME deals damage equal to the number of Mountains you control to target creature. Put a 1/1 green Saproling creature token onto the battlefield for each Forest you control. You gain 2 life for each Plains you control. Draw a card for each Island you control, then discard that many cards. +SVar:DBDamageMountain:DB$DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ MountainsYouControl | References$ MountainsYouControl | SubAbility$ DBTokenForest +SVar:DBTokenForest:DB$Token | TokenAmount$ ForestsYouControl | References$ ForestsYouControl | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | SubAbility$ DBGainLifePlains +SVar:DBGainLifePlains:DB$GainLife | Defined$ You | LifeAmount$ PlainsYouControl | References$ PlainsYouControl | SubAbility$ DBDrawCardIsland +SVar:DBDrawCardIsland:DB$Draw | Defined$ You | NumCards$ IslandsYouControl | References$ IslandsYouControl | SubAbility$ DBDiscardJustAsMany +SVar:DBDiscardJustAsMany:DB$Discard | Defined$ You | NumCards$ IslandsYouControl | References$ IslandsYouControl | Mode$ TgtChoose SVar:SwampsYouControl:Count$TypeYouCtrl.Swamp/Times.2 SVar:MountainsYouControl:Count$TypeYouCtrl.Mountain SVar:ForestsYouControl:Count$TypeYouCtrl.Forest diff --git a/res/cardsfolder/l/latulla_keldon_overseer.txt b/res/cardsfolder/l/latulla_keldon_overseer.txt index 2ade66b05fb..12e330d58e3 100644 --- a/res/cardsfolder/l/latulla_keldon_overseer.txt +++ b/res/cardsfolder/l/latulla_keldon_overseer.txt @@ -3,7 +3,7 @@ ManaCost:3 R R Types:Legendary Creature Human Spellshaper Text:no text PT:3/3 -A:AB$ DealDamage | Cost$ X R T Discard<2/Card>| Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target creature or player. +A:AB$ DealDamage | Cost$ X R T Discard<2/Card>| Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to target creature or player. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/l/lavaball_trap.txt b/res/cardsfolder/l/lavaball_trap.txt index 2bf68616e9c..1aeda02edd9 100644 --- a/res/cardsfolder/l/lavaball_trap.txt +++ b/res/cardsfolder/l/lavaball_trap.txt @@ -3,7 +3,7 @@ ManaCost:6 R R Types:Instant Trap Text:no text A:SP$Destroy | Cost$ 6 R R | TargetMin$ 2 | TargetMax$ 2 | ValidTgts$ Land | TgtPrompt$ Select target land. | SubAbility$ DBDamageAll | SpellDescription$ Destroy two target lands. CARDNAME deals 4 damage to each creature. -A:SP$Destroy | Cost$ 3 R R | CheckSVar$ LandsEntered | SVarCompare$ GE2 | TargetMin$ 2 | TargetMax$ 2 | ValidTgts$ Land | TgtPrompt$ Select target land. | SubAbility$ DBDamageAll | SpellDescription$ If an opponent had two or more lands enter the battlefield under his or her control this turn, you may pay 3 R R rather than pay CARDNAME's mana cost. +A:SP$Destroy | Cost$ 3 R R | CheckSVar$ LandsEntered | SVarCompare$ GE2 | TargetMin$ 2 | TargetMax$ 2 | ValidTgts$ Land | TgtPrompt$ Select target land. | SubAbility$ DBDamageAll | References$ LandsEntered | SpellDescription$ If an opponent had two or more lands enter the battlefield under his or her control this turn, you may pay 3 R R rather than pay CARDNAME's mana cost. SVar:DBDamageAll:DB$DamageAll | ValidCards$ Creature | NumDmg$ 4 | ValidDescription$ each creature. SVar:LandsEntered:Count$ThisTurnEntered_Battlefield_Land.YouDontCtrl SVar:Rarity:Rare diff --git a/res/cardsfolder/l/lavaclaw_reaches.txt b/res/cardsfolder/l/lavaclaw_reaches.txt index f313b3ffdc4..0f8c049d337 100644 --- a/res/cardsfolder/l/lavaclaw_reaches.txt +++ b/res/cardsfolder/l/lavaclaw_reaches.txt @@ -6,7 +6,7 @@ K:CARDNAME enters the battlefield tapped. A:AB$ Mana | Cost$ T | Produced$ B | SpellDescription$ Add B to your mana pool. A:AB$ Mana | Cost$ T | Produced$ R | SpellDescription$ Add R to your mana pool. A:AB$ Animate | Cost$ 1 B R | Defined$ Self | Power$ 2 | Toughness$ 2 | Types$ Creature,Elemental | Colors$ Black,Red | Abilities$ ABPump | SpellDescription$ Until end of turn, CARDNAME becomes a 2/2 black and red Elemental creature with "X: This creature gets +X/+0 until end of turn." It's still a land. -SVar:ABPump:AB$Pump | Cost$ X | Defined$ Self | NumAtt$ +X | SpellDescription$ This creature gets +X/+0 until end of turn. +SVar:ABPump:AB$Pump | Cost$ X | Defined$ Self | NumAtt$ +X | References$ X | SpellDescription$ This creature gets +X/+0 until end of turn. SVar:X:Count$xPaid SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/lavaclaw_reaches.jpg diff --git a/res/cardsfolder/l/lavalanche.txt b/res/cardsfolder/l/lavalanche.txt index 5a4d9f95bfe..2fa005fefed 100644 --- a/res/cardsfolder/l/lavalanche.txt +++ b/res/cardsfolder/l/lavalanche.txt @@ -2,7 +2,7 @@ Name:Lavalanche ManaCost:X B R G Types:Sorcery Text:no text -A:SP$ DamageAll | Cost$ X B R G | NumDmg$ X | ValidTgts$ Player | TgtPrompt$ Select a player | ValidCards$ Creature | ValidPlayers$ Targeted | ValidDescription$ target player and each creature he or she controls. | SpellDescription$ CARDNAME deals X damage to target player and each creature he or she controls. +A:SP$ DamageAll | Cost$ X B R G | NumDmg$ X | ValidTgts$ Player | TgtPrompt$ Select a player | ValidCards$ Creature | ValidPlayers$ Targeted | ValidDescription$ target player and each creature he or she controls. | References$ X | SpellDescription$ CARDNAME deals X damage to target player and each creature he or she controls. SVar:X:Count$xPaid SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/lavalanche.jpg diff --git a/res/cardsfolder/l/legacys_allure.txt b/res/cardsfolder/l/legacys_allure.txt index a22ffe1c1b1..da5307fb031 100644 --- a/res/cardsfolder/l/legacys_allure.txt +++ b/res/cardsfolder/l/legacys_allure.txt @@ -3,7 +3,7 @@ ManaCost:U U Types:Enchantment Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, you may put a treasure counter on CARDNAME. -A:AB$ GainControl | Cost$ Sac<1/CARDNAME> | ValidTgts$ Creature.powerLEX | TgtPrompt$ Select target creature with power less than or equal to the number of treasure counters | SpellDescription$ Gain control of target creature with power less than or equal to the number of treasure counters on CARDNAME. (This effect lasts indefinitely.) +A:AB$ GainControl | Cost$ Sac<1/CARDNAME> | ValidTgts$ Creature.powerLEX | TgtPrompt$ Select target creature with power less than or equal to the number of treasure counters | References$ X | SpellDescription$ Gain control of target creature with power less than or equal to the number of treasure counters on CARDNAME. (This effect lasts indefinitely.) SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ TREASURE | CounterNum$ 1 SVar:X:Count$CardCounters.TREASURE SVar:Rarity:Uncommon diff --git a/res/cardsfolder/l/lich.txt b/res/cardsfolder/l/lich.txt index 89cdfb62e43..eb3ebf05011 100644 --- a/res/cardsfolder/l/lich.txt +++ b/res/cardsfolder/l/lich.txt @@ -4,7 +4,7 @@ Types:Enchantment Text:As CARDNAME enters the battlefield, you lose life equal to your life total.\r\nWhenever you're dealt damage, sacrifice that many nontoken permanents. If you can't, you lose the game.\r\nWhen CARDNAME is put into a graveyard from the battlefield, you lose the game. S:Mode$ Continuous | Affected$ You | AddKeyword$ You don't lose the game for having 0 or less life. | Description$ You don't lose the game for having 0 or less life. R:Event$ GainLife | ValidPlayer$ You | ReplaceWith$ Draw | Description$ If you would gain life, draw that many cards instead. -SVar:Draw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ X +SVar:Draw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ X | References$ X SVar:X:ReplaceCount$LifeGained SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/l/lich_lord_of_unx.txt b/res/cardsfolder/l/lich_lord_of_unx.txt index 3526a437c9a..c09051ae67a 100644 --- a/res/cardsfolder/l/lich_lord_of_unx.txt +++ b/res/cardsfolder/l/lich_lord_of_unx.txt @@ -4,8 +4,8 @@ Types:Creature Zombie Wizard Text:no text PT:2/2 A:AB$ Token | Cost$ U B T | TokenAmount$ 1 | TokenName$ Zombie Wizard | TokenTypes$ Creature,Zombie,Wizard | TokenOwner$ You | TokenColors$ Blue,Black | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put a 1/1 blue and black Zombie Wizard creature token onto the battlefield. -A:AB$ Mill | Cost$ U U B B | ValidTgts$ Player | TgtPrompt$ Select a player | NumCards$ X | SubAbility$ DBLoseLife | SpellDescription$ Target player loses X life and puts the top X cards of his or her library into his or her graveyard, where X is the number of Zombies you control. -SVar:DBLoseLife:DB$LoseLife | LifeAmount$ X | Defined$ Targeted +A:AB$ Mill | Cost$ U U B B | ValidTgts$ Player | TgtPrompt$ Select a player | NumCards$ X | SubAbility$ DBLoseLife | References$ X | SpellDescription$ Target player loses X life and puts the top X cards of his or her library into his or her graveyard, where X is the number of Zombies you control. +SVar:DBLoseLife:DB$LoseLife | LifeAmount$ X | Defined$ Targeted | References$ X SVar:X:Count$Valid Zombie.YouCtrl SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/lich_lord_of_unx.jpg diff --git a/res/cardsfolder/l/lichenthrope.txt b/res/cardsfolder/l/lichenthrope.txt index 492f526b94e..756413d57c6 100644 --- a/res/cardsfolder/l/lichenthrope.txt +++ b/res/cardsfolder/l/lichenthrope.txt @@ -4,7 +4,7 @@ Types:Creature Plant Fungus Text:no text PT:5/5 R:Event$ DamageDone | ValidTarget$ Card.Self | ReplaceWith$ Counters | Description$ If damage would be dealt to CARDNAME, put that many -1/-1 counters on it instead. -SVar:Counters:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ M1M1 | CounterNum$ X +SVar:Counters:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ M1M1 | CounterNum$ X | References$ X SVar:X:ReplaceCount$DamageAmount T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigRem | TriggerDescription$ At the beginning of your upkeep, remove a -1/-1 counter from CARDNAME. SVar:TrigRem:AB$RemoveCounter | Cost$ 0 | Defined$ Self | CounterType$ M1M1 | CounterNum$ 1 diff --git a/res/cardsfolder/l/lichs_tomb.txt b/res/cardsfolder/l/lichs_tomb.txt index cd1d6d7e4b2..9797697b35a 100644 --- a/res/cardsfolder/l/lichs_tomb.txt +++ b/res/cardsfolder/l/lichs_tomb.txt @@ -4,7 +4,7 @@ Types:Artifact Text:no text S:Mode$ Continuous | Affected$ You | AddKeyword$ You don't lose the game for having 0 or less life. | Description$ You don't lose the game for having 0 or less life. T:Mode$ LifeLost | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ Whenever you lose life, sacrifice a permanent for each 1 life you lost. (Damage causes loss of life.) -SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Amount$ X | SacValid$ Permanent +SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Amount$ X | SacValid$ Permanent | References$ X SVar:X:TriggerCount$LifeAmount SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/l/liege_of_the_pit.txt b/res/cardsfolder/l/liege_of_the_pit.txt index 5b338265721..5e7d449dccf 100644 --- a/res/cardsfolder/l/liege_of_the_pit.txt +++ b/res/cardsfolder/l/liege_of_the_pit.txt @@ -8,7 +8,7 @@ K:Trample K:Morph:B B B B T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of your upkeep, sacrifice a creature other than CARDNAME. If you can't, Lord of the Pit deals 7 damage to you. SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ You | SacValid$ Creature.Other | SubAbility$ DBDamage | RememberSacrificed$ True -SVar:DBDamage:DB$ DealDamage | Cost$ 0 | Defined$ You | NumDmg$ 7 | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DBCleanup +SVar:DBDamage:DB$ DealDamage | Cost$ 0 | Defined$ You | NumDmg$ 7 | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:RemRandomDeck:True diff --git a/res/cardsfolder/l/liege_of_the_tangle.txt b/res/cardsfolder/l/liege_of_the_tangle.txt index a5759b10e3e..fbec1607da3 100644 --- a/res/cardsfolder/l/liege_of_the_tangle.txt +++ b/res/cardsfolder/l/liege_of_the_tangle.txt @@ -6,7 +6,7 @@ PT:8/8 K:Trample S:Mode$ Continuous | Affected$ Card.counters_GE1_AWAKENING | AddType$ Creature & Elemental | SetColor$ Green | SetPower$ 8 | SetToughness$ 8 T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you may choose any number of target lands you control and put an awakening counter on each of them. Each of those lands is an 8/8 green Elemental creature for as long as it has an awakening counter on it. They're still lands. -SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | ValidTgts$ Land.YouCtrl | OptionalDecider$ You | TargetMax$ X | TgtPrompt$ Select lands you control | CounterType$ AWAKENING | CounterNum$ 1 | SubAbility$ DBEffect +SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | ValidTgts$ Land.YouCtrl | OptionalDecider$ You | TargetMax$ X | TgtPrompt$ Select lands you control | CounterType$ AWAKENING | CounterNum$ 1 | SubAbility$ DBEffect | References$ X SVar:X:Count$Valid Land.YouCtrl SVar:DBEffect:DB$ Effect | Cost$ 0 | Name$ Awakening Effect | StaticAbilities$ KWAnimateAll | Unique$ True | Duration$ Permanent SVar:KWAnimateAll:Mode$ Continuous | Affected$ Card.counters_GE1_AWAKENING | SetPower$ 8 | SetToughness$ 8 | AddType$ Creature & Elemental | SetColor$ Green | Description$ Each of those lands is an 8/8 green Elemental creature for as long as it has an awakening counter on it. They're still lands. diff --git a/res/cardsfolder/l/life_burst.txt b/res/cardsfolder/l/life_burst.txt index 5592f916255..4d4491e2f53 100644 --- a/res/cardsfolder/l/life_burst.txt +++ b/res/cardsfolder/l/life_burst.txt @@ -3,7 +3,7 @@ ManaCost:1 W Types:Instant Text:no text A:SP$ GainLife | Cost$ 1 W | LifeAmount$ 4 | ValidTgts$ Player | TgtPrompt$ Select target player | SubAbility$ DBGainLife | SpellDescription$ Target player gains 4 life, then gains 4 life for each card named CARDNAME in each graveyard. -SVar:DBGainLife:DB$GainLife | Defined$ Targeted | LifeAmount$ X +SVar:DBGainLife:DB$GainLife | Defined$ Targeted | LifeAmount$ X | References$ X SVar:X:Count$NamedInAllYards.Life Burst/Times.4 SVar:Rarity:Common SVar:Picture:http://resources.wizards.com/magic/cards/od/en-us/card29704.jpg diff --git a/res/cardsfolder/l/life_chisel.txt b/res/cardsfolder/l/life_chisel.txt index fcba01c5892..27290093d3f 100644 --- a/res/cardsfolder/l/life_chisel.txt +++ b/res/cardsfolder/l/life_chisel.txt @@ -2,7 +2,7 @@ Name:Life Chisel ManaCost:4 Types:Artifact Text:no text -A:AB$ GainLife | Cost$ Sac<1/Creature> | LifeAmount$ X | PlayerTurn$ True | ActivationPhases$ Upkeep | SpellDescription$ You gain life equal to the sacrificed creature's toughness. Activate this ability only during your upkeep. +A:AB$ GainLife | Cost$ Sac<1/Creature> | LifeAmount$ X | PlayerTurn$ True | ActivationPhases$ Upkeep | References$ X | SpellDescription$ You gain life equal to the sacrificed creature's toughness. Activate this ability only during your upkeep. SVar:X:Sacrificed$CardToughness SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/l/lifeline.txt b/res/cardsfolder/l/lifeline.txt index ae5ade9a6d5..bc0e3f67876 100644 --- a/res/cardsfolder/l/lifeline.txt +++ b/res/cardsfolder/l/lifeline.txt @@ -3,7 +3,7 @@ ManaCost:5 Types:Artifact Text:no text T:Mode$ ChangesZone | ValidCard$ Card.Creature | Origin$ Battlefield | Destination$ Graveyard | Execute$ TrigLifelineEffect | TriggerZones$ Battlefield | TriggerDescription$ Whenever a creature dies, if another creature is on the battlefield, return the first card to the battlefield under its owner's control at the beginning of the next end step. -SVar:TrigLifelineEffect:AB$ Effect | Cost$ 0 | Name$ Lifeline Effect | ConditionCheckSVar$ LifelineX | ConditionSVarCompare$ GE1 | Triggers$ TrigLifelineDelay | SVars$ TrigLifelineReturn | RememberObjects$ TriggeredCard +SVar:TrigLifelineEffect:AB$ Effect | Cost$ 0 | Name$ Lifeline Effect | ConditionCheckSVar$ LifelineX | ConditionSVarCompare$ GE1 | Triggers$ TrigLifelineDelay | SVars$ TrigLifelineReturn | RememberObjects$ TriggeredCard | References$ LifelineX SVar:TrigLifelineDelay:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Player | Execute$ TrigLifelineReturn | TriggerDescription$ Return that creature to the battlefield. SVar:TrigLifelineReturn:DB$ ChangeZoneAll | ChangeType$ Creature.IsRemembered | Origin$ Graveyard | Destination$ Battlefield SVar:LifelineX:Count$Valid Creature diff --git a/res/cardsfolder/l/lightkeeper_of_emeria.txt b/res/cardsfolder/l/lightkeeper_of_emeria.txt index 147bbe3c06c..4ff16647af3 100644 --- a/res/cardsfolder/l/lightkeeper_of_emeria.txt +++ b/res/cardsfolder/l/lightkeeper_of_emeria.txt @@ -6,7 +6,7 @@ PT:2/4 K:Flying K:Multikicker W T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigGainLife | TriggerDescription$ When CARDNAME enters the battlefield, you gain 2 life for each time it was kicked. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | LifeAmount$ X +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | LifeAmount$ X | References$ X SVar:X:Count$TimesKicked/Times.2 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/lightkeeper_of_emeria.jpg diff --git a/res/cardsfolder/l/lightmine_field.txt b/res/cardsfolder/l/lightmine_field.txt index 41ea3d9f743..bc9dd9fe5ca 100644 --- a/res/cardsfolder/l/lightmine_field.txt +++ b/res/cardsfolder/l/lightmine_field.txt @@ -3,7 +3,7 @@ ManaCost:2 W W Types:Enchantment Text:no text T:Mode$ AttackersDeclared | Execute$ TrigDamage | TriggerZones$ Battlefield | TriggerDescription$ Whenever one or more creatures attack, CARDNAME deals damage to each of those creatures equal to the number of attacking creatures. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ TriggeredAttackers | NumDmg$ X +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ TriggeredAttackers | NumDmg$ X | References$ X SVar:X:Count$Valid Creature.attacking SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/lightmine_field.jpg diff --git a/res/cardsfolder/l/lightning_coils.txt b/res/cardsfolder/l/lightning_coils.txt index 93427f1e9f0..a70ad010848 100644 --- a/res/cardsfolder/l/lightning_coils.txt +++ b/res/cardsfolder/l/lightning_coils.txt @@ -5,7 +5,7 @@ Text:no text T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.nonToken+YouCtrl | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever a nontoken creature you control dies, put a charge counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | CounterType$ CHARGE | CounterNum$ 1 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | IsPresent$ Card.Self+counters_GE5_CHARGE | Execute$ TrigElementalParty | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, if CARDNAME has five or more charge counters on it, remove all of them from it and put that many 3/1 red Elemental creature tokens with haste onto the battlefield. Exile them at the beginning of the next end step. -SVar:TrigElementalParty:AB$Token | Cost$ 0 | TokenAmount$ VIP | TokenImage$ r 3 1 elemental | TokenName$ Elemental | TokenColors$ Red | TokenTypes$ Creature,Elemental | TokenKeywords$ Haste<>HIDDEN At the beginning of the end step, exile CARDNAME. | TokenPower$ 3 | TokenToughness$ 1 | SubAbility$ DBClearGuestList +SVar:TrigElementalParty:AB$Token | Cost$ 0 | TokenAmount$ VIP | TokenImage$ r 3 1 elemental | TokenName$ Elemental | TokenColors$ Red | TokenTypes$ Creature,Elemental | TokenKeywords$ Haste<>HIDDEN At the beginning of the end step, exile CARDNAME. | TokenPower$ 3 | TokenToughness$ 1 | SubAbility$ DBClearGuestList | References$ VIP SVar:DBClearGuestList:DB$RemoveCounter | Defined$ Self | CounterType$ CHARGE | CounterNum$ VIP | SpellDescription$ Remove counters SVar:VIP:Count$CardCounters.CHARGE SVar:Rarity:Rare diff --git a/res/cardsfolder/l/lightning_reaver.txt b/res/cardsfolder/l/lightning_reaver.txt index cb1318a3e24..5eb17365719 100644 --- a/res/cardsfolder/l/lightning_reaver.txt +++ b/res/cardsfolder/l/lightning_reaver.txt @@ -8,7 +8,7 @@ K:Fear T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | CombatDamage$ True | Execute$ TrigPutCounter | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, put a charge counter on it. T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDealDamage | TriggerDescription$ At the beginning of your end step, CARDNAME deals damage equal to the number of charge counters on it to each opponent. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | CounterType$ CHARGE | CounterNum$ 1 -SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ X +SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ X | References$ X SVar:X:Count$CardCounters.CHARGE SVar:Picture:http://www.wizards.com/global/images/magic/general/lightning_reaver.jpg SVar:Rarity:Rare diff --git a/res/cardsfolder/l/lightning_surge.txt b/res/cardsfolder/l/lightning_surge.txt index 88e2bb6bf39..30361734bee 100644 --- a/res/cardsfolder/l/lightning_surge.txt +++ b/res/cardsfolder/l/lightning_surge.txt @@ -3,8 +3,8 @@ ManaCost:3 R R Types:Sorcery Text:no text K:Flashback 5 R R -A:SP$ DealDamage | Cost$ 3 R R | Tgt$ TgtCP | NumDmg$ 4 | SubAbility$ DBDamage | ConditionCheckSVar$ X | ConditionSVarCompare$ LT7 | SpellDescription$ CARDNAME deals 4 damage to target creature or player. -SVar:DBDamage:DB$ DealDamage | Defined$ Targeted | NumDmg$ 6 | NoPrevention$ True | ConditionCheckSVar$ X | ConditionSVarCompare$ GE7 | SpellDescription$ Threshold - If seven or more cards are in your graveyard, instead CARDNAME deals 6 damage to that creature or player and the damage can't be prevented. +A:SP$ DealDamage | Cost$ 3 R R | Tgt$ TgtCP | NumDmg$ 4 | SubAbility$ DBDamage | ConditionCheckSVar$ X | ConditionSVarCompare$ LT7 | References$ X | SpellDescription$ CARDNAME deals 4 damage to target creature or player. +SVar:DBDamage:DB$ DealDamage | Defined$ Targeted | NumDmg$ 6 | NoPrevention$ True | ConditionCheckSVar$ X | ConditionSVarCompare$ GE7 | References$ X | SpellDescription$ Threshold - If seven or more cards are in your graveyard, instead CARDNAME deals 6 damage to that creature or player and the damage can't be prevented. SVar:X:Count$InYourYard SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/lightning_surge.jpg diff --git a/res/cardsfolder/l/lilting_refrain.txt b/res/cardsfolder/l/lilting_refrain.txt index a0e8191c0dc..e1e521113a3 100644 --- a/res/cardsfolder/l/lilting_refrain.txt +++ b/res/cardsfolder/l/lilting_refrain.txt @@ -2,7 +2,7 @@ Name:Lilting Refrain ManaCost:1 U Types:Enchantment Text:no text -A:AB$ Counter | Cost$ Sac<1/CARDNAME> | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | SpellDescription$ Sacrifice CARDNAME: Counter target spell unless its controller pays X, where X is the number of verse counters on CARDNAME. +A:AB$ Counter | Cost$ Sac<1/CARDNAME> | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | References$ X | SpellDescription$ Sacrifice CARDNAME: Counter target spell unless its controller pays X, where X is the number of verse counters on CARDNAME. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, you may put a verse counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ VERSE | CounterNum$ 1 SVar:X:Count$CardCounters.VERSE diff --git a/res/cardsfolder/l/lim_duls_paladin.txt b/res/cardsfolder/l/lim_duls_paladin.txt index 00e5bf7685e..2295ad855fc 100644 --- a/res/cardsfolder/l/lim_duls_paladin.txt +++ b/res/cardsfolder/l/lim_duls_paladin.txt @@ -6,8 +6,8 @@ PT:0/3 K:Trample T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigDiscard | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, you may discard a card. If you don't, sacrifice CARDNAME and draw a card. SVar:TrigDiscard:AB$ Discard | Cost$ 0 | NumCards$ 1 | Mode$ TgtChoose | Optional$ True | RememberDiscarded$ True | SubAbility$ DBSacrifice -SVar:DBSacrifice:DB$ Sacrifice | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBDraw -SVar:DBDraw:DB$ Draw | NumCards$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBCleanup +SVar:DBSacrifice:DB$ Sacrifice | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBDraw | References$ X +SVar:DBDraw:DB$ Draw | NumCards$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True T:Mode$ Blocks | ValidCard$ Creature | ValidBlocked$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigBlockedPump | TriggerDescription$ Whenever CARDNAME becomes blocked by a creature, CARDNAME get +6/+3 until end of turn. SVar:TrigBlockedPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ 6 | NumDef$ 3 diff --git a/res/cardsfolder/l/lin_sivvi_defiant_hero.txt b/res/cardsfolder/l/lin_sivvi_defiant_hero.txt index 9dd367f1f1f..0a2a856de72 100644 --- a/res/cardsfolder/l/lin_sivvi_defiant_hero.txt +++ b/res/cardsfolder/l/lin_sivvi_defiant_hero.txt @@ -3,7 +3,7 @@ ManaCost:1 W W Types:Legendary Creature Human Rebel Text:no text PT:1/3 -A:AB$ ChangeZone | Cost$ X T | Origin$ Library | Destination$ Battlefield | ChangeType$ Permanent.Rebel+cmcLEX | ChangeNum$ 1 | SpellDescription$ Search your library for a Rebel permanent card with converted mana cost X or less and put it onto the battlefield. Then shuffle your library. +A:AB$ ChangeZone | Cost$ X T | Origin$ Library | Destination$ Battlefield | ChangeType$ Permanent.Rebel+cmcLEX | ChangeNum$ 1 | References$ X | SpellDescription$ Search your library for a Rebel permanent card with converted mana cost X or less and put it onto the battlefield. Then shuffle your library. A:AB$ ChangeZone | Cost$ 3 | ValidTgts$ Rebel.YouCtrl | Origin$ Graveyard | Destination$ Library | LibraryPosition$ -1 | TgtPrompt$ Select target Rebel card in your graveyard | SpellDescription$ Put target Rebel card in your graveyard on the bottom of your library. SVar:X:Count$xPaid SVar:RemRandomDeck:True diff --git a/res/cardsfolder/l/linessa_zephyr_mage.txt b/res/cardsfolder/l/linessa_zephyr_mage.txt index 03100328763..64b10a02d86 100644 --- a/res/cardsfolder/l/linessa_zephyr_mage.txt +++ b/res/cardsfolder/l/linessa_zephyr_mage.txt @@ -3,7 +3,7 @@ ManaCost:3 U Types:Legendary Creature Human Wizard Text:no text PT:3/3 -A:AB$ ChangeZone | Cost$ X U U T | Origin$ Battlefield | Destination$ Hand | ValidTgts$ Creature | ChangeNum$ 1 | SpellDescription$ Return target creature with converted mana cost X to its owner's hand. +A:AB$ ChangeZone | Cost$ X U U T | Origin$ Battlefield | Destination$ Hand | ValidTgts$ Creature | ChangeNum$ 1 | References$ X | SpellDescription$ Return target creature with converted mana cost X to its owner's hand. SVar:X:Targeted$CardManaCost A:AB$ ChangeZone | Cost$ Discard<1/Card.namedLinessa, Zephyr Mage> | CostDesc$ Grandeur - Discard another card named CARDNAME:| ValidTgts$ Player | TgtPrompt$ Select target player | RememberTargets$ True | ForgetOtherTargets$ True | Chooser$ Targeted | Mandatory$ True | Hidden$ True | Origin$ Battlefield | Destination$ Hand | ChangeType$ Creature | SubAbility$ DBArtifact | SpellDescription$ Target player returns a creature he or she controls to its owner's hand, then repeats this process for an artifact, an enchantment, and a land. SVar:DBArtifact:DB$ ChangeZone | Cost$ 0 | Defined$ Remembered | ChangeType$ Artifact | Origin$ Battlefield | Destination$ Hand | Chooser$ Remembered | Mandatory$ True | Hidden$ True | SubAbility$ DBEnchant diff --git a/res/cardsfolder/l/lithophage.txt b/res/cardsfolder/l/lithophage.txt index 6b3fad2f753..4c2d8a438ad 100644 --- a/res/cardsfolder/l/lithophage.txt +++ b/res/cardsfolder/l/lithophage.txt @@ -5,7 +5,7 @@ Text:no text PT:7/7 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigSac | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, sacrifice CARDNAME unless you sacrifice a Mountain. SVar:TrigSac:AB$ Sacrifice | Cost$ 0 | Amount$ 1 | SacValid$ Mountain | RememberSacrificed$ True | Optional$ True | SubAbility$ DBSacSelf -SVar:DBSacSelf:DB$ Sacrifice | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 +SVar:DBSacSelf:DB$ Sacrifice | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:NeedsToPlay:Mountain.YouCtrl diff --git a/res/cardsfolder/l/living_armor.txt b/res/cardsfolder/l/living_armor.txt index 6cf3fdcbfb4..3055d8eda3b 100644 --- a/res/cardsfolder/l/living_armor.txt +++ b/res/cardsfolder/l/living_armor.txt @@ -2,7 +2,7 @@ Name:Living Armor ManaCost:4 Types:Artifact Text:no text -A:AB$ PutCounter | Cost$ T Sac<1/CARDNAME> | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterType$ P0P1 | CounterNum$ X | SpellDescription$ Put X +0/+1 counters on target creature, where X is that creature's converted mana cost. +A:AB$ PutCounter | Cost$ T Sac<1/CARDNAME> | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterType$ P0P1 | CounterNum$ X | References$ X | SpellDescription$ Put X +0/+1 counters on target creature, where X is that creature's converted mana cost. SVar:X:Targeted$CardManaCost SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/living_armor.jpg diff --git a/res/cardsfolder/l/living_artifact.txt b/res/cardsfolder/l/living_artifact.txt index f73035c94d1..1a8ebb081dc 100644 --- a/res/cardsfolder/l/living_artifact.txt +++ b/res/cardsfolder/l/living_artifact.txt @@ -5,7 +5,7 @@ Text:no text K:Enchant artifact A:SP$ Attach | Cost$ G | ValidTgts$ Artifact | AILogic$ Pump T:Mode$ DamageDone | ValidTarget$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever you're dealt damage, put that many vitality counters on CARDNAME. -SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ VITALITY | CounterNum$ X +SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ VITALITY | CounterNum$ X | References$ X SVar:X:TriggerCount$DamageAmount T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigGainLife | IsPresent$ Card.Self+counters_GE1_VITALITY | OptionalDecider$ You | TriggerDescription$ At the beginning of your upkeep, you may remove a vitality counter from CARDNAME. If you do, you gain 1 life. SVar:TrigGainLife:AB$GainLife | Cost$ SubCounter<1/VITALITY> | Defined$ You | LifeAmount$ 1 diff --git a/res/cardsfolder/l/living_destiny.txt b/res/cardsfolder/l/living_destiny.txt index 1d20bf4e7f4..ab762308293 100644 --- a/res/cardsfolder/l/living_destiny.txt +++ b/res/cardsfolder/l/living_destiny.txt @@ -2,7 +2,7 @@ Name:Living Destiny ManaCost:3 G Types:Instant Text:no text -A:SP$ GainLife | Cost$ 3 G Reveal<1/Creature> | LifeAmount$ X | SpellDescription$ You gain life equal to the revealed card's converted mana cost. +A:SP$ GainLife | Cost$ 3 G Reveal<1/Creature> | LifeAmount$ X | References$ X | SpellDescription$ You gain life equal to the revealed card's converted mana cost. SVar:X:Revealed$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/l/living_hive.txt b/res/cardsfolder/l/living_hive.txt index 3cf007746b9..b86c58ba453 100644 --- a/res/cardsfolder/l/living_hive.txt +++ b/res/cardsfolder/l/living_hive.txt @@ -5,7 +5,7 @@ Text:no text PT:6/6 K:Trample T:Mode$ DamageDone | ValidSource$ Card.Self | Execute$ TrigToken | ValidTarget$ Player | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, put that many 1/1 green Insect creature tokens onto the battlefield. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Insect | TokenTypes$ Creature,Insect | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 +SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Insect | TokenTypes$ Creature,Insect | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/living_hive.jpg diff --git a/res/cardsfolder/l/living_tsunami.txt b/res/cardsfolder/l/living_tsunami.txt index 91a15f1f7aa..54e9b312cc1 100644 --- a/res/cardsfolder/l/living_tsunami.txt +++ b/res/cardsfolder/l/living_tsunami.txt @@ -6,7 +6,7 @@ PT:4/4 K:Flying T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigChangeZone | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, sacrifice CARDNAME unless you return a land you control to its owner's hand. SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | Origin$ Battlefield | Destination$ Hand | Hidden$ True | ChangeType$ Land.YouCtrl | RememberChanged$ True | SubAbility$ DBSac -SVar:DBSac:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 +SVar:DBSac:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:Rarity:Uncommon diff --git a/res/cardsfolder/l/loaming_shaman.txt b/res/cardsfolder/l/loaming_shaman.txt index 9f24a96a1e4..049a51e1d89 100644 --- a/res/cardsfolder/l/loaming_shaman.txt +++ b/res/cardsfolder/l/loaming_shaman.txt @@ -5,7 +5,7 @@ Text:no text PT:3/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ When CARDNAME enters the battlefield, target player shuffles any number of target cards from his or her graveyard into his or her library. SVar:TrigPump:AB$ Pump | Cost$ 0 | ValidTgts$ Player | TgtPrompt$ Select target Player | SubAbility$ DBChangeZone | IsCurse$ True -SVar:DBChangeZone:DB$ ChangeZone | TargetMin$ 0 | TargetMax$ X | TargetsWithDefinedController$ Targeted | Origin$ Graveyard | Destination$ Library | Shuffle$ True | TgtPrompt$ Choose target card | ValidTgts$ Card +SVar:DBChangeZone:DB$ ChangeZone | TargetMin$ 0 | TargetMax$ X | TargetsWithDefinedController$ Targeted | Origin$ Graveyard | Destination$ Library | Shuffle$ True | TgtPrompt$ Choose target card | ValidTgts$ Card | References$ X SVar:X:Count$InAllYards SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/loaming_shaman.jpg diff --git a/res/cardsfolder/l/lord_of_the_pit.txt b/res/cardsfolder/l/lord_of_the_pit.txt index b51551db37f..17a5dccfd67 100644 --- a/res/cardsfolder/l/lord_of_the_pit.txt +++ b/res/cardsfolder/l/lord_of_the_pit.txt @@ -7,7 +7,7 @@ K:Flying K:Trample T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of your upkeep, sacrifice a creature other than CARDNAME. If you can't, Lord of the Pit deals 7 damage to you. SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ You | SacValid$ Creature.Other | SubAbility$ DBDamage | RememberSacrificed$ True -SVar:DBDamage:DB$ DealDamage | Cost$ 0 | Defined$ You | NumDmg$ 7 | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DBCleanup +SVar:DBDamage:DB$ DealDamage | Cost$ 0 | Defined$ You | NumDmg$ 7 | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:RemRandomDeck:True diff --git a/res/cardsfolder/l/lost_in_the_woods.txt b/res/cardsfolder/l/lost_in_the_woods.txt index bf88a022fc5..3e5a5592837 100644 --- a/res/cardsfolder/l/lost_in_the_woods.txt +++ b/res/cardsfolder/l/lost_in_the_woods.txt @@ -4,7 +4,7 @@ Types:Enchantment Text:no text T:Mode$ Attacks | ValidCard$ Creature.YouDontCtrl | TriggerZones$ Battlefield | Execute$ TrigDig | TriggerDescription$ Whenever a creature attacks you or a planeswalker you control, reveal the top card of your library. If it's a Forest card, remove that creature from combat. Then put the revealed card on the bottom of your library. SVar:TrigDig:AB$Dig | Cost$ 0 | DigNum$ 1 | Reveal$ True | ChangeNum$ All | ChangeValid$ Card | DestinationZone$ Library | LibraryPosition$ -1 | LibraryPosition2$ -1 | RememberChanged$ True | SubAbility$ DBRemoveCombat -SVar:DBRemoveCombat:DB$ RemoveFromCombat | Defined$ TriggeredAttacker | ConditionCheckSVar$ IsForest | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup +SVar:DBRemoveCombat:DB$ RemoveFromCombat | Defined$ TriggeredAttacker | ConditionCheckSVar$ IsForest | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup | References$ IsForest SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:IsForest:Remembered$Valid Forest SVar:Picture:http://www.wizards.com/global/images/magic/general/lost_in_the_woods.jpg diff --git a/res/cardsfolder/l/lotus_blossom.txt b/res/cardsfolder/l/lotus_blossom.txt index 3e68d3e8571..319a9f1876b 100644 --- a/res/cardsfolder/l/lotus_blossom.txt +++ b/res/cardsfolder/l/lotus_blossom.txt @@ -3,7 +3,7 @@ ManaCost:2 Types:Artifact Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigPutCounter | TriggerZones$ Battlefield | OptionalDecider$ You | TriggerDescription$ During your upkeep, you may put a petal counter on CARDNAME. -A:AB$ Mana | Cost$ T Sac<1/CARDNAME> | Produced$ Any | Amount$ X | SpellDescription$ Add X mana of any one color to your mana pool, where X is the number of petal counters on Lotus Blossom. +A:AB$ Mana | Cost$ T Sac<1/CARDNAME> | Produced$ Any | Amount$ X | References$ X | SpellDescription$ Add X mana of any one color to your mana pool, where X is the number of petal counters on Lotus Blossom. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ PETAL | CounterNum$ 1 SVar:X:Count$CardCounters.PETAL SVar:RemAIDeck:True diff --git a/res/cardsfolder/l/ludevics_test_subject_ludevics_abomination.txt b/res/cardsfolder/l/ludevics_test_subject_ludevics_abomination.txt index ca44a7b11df..a88d36dd322 100644 --- a/res/cardsfolder/l/ludevics_test_subject_ludevics_abomination.txt +++ b/res/cardsfolder/l/ludevics_test_subject_ludevics_abomination.txt @@ -5,8 +5,8 @@ Text:no text PT:0/3 K:Defender A:AB$PutCounter | Cost$ 1 U | Defined$ Self | CounterType$ HATCHLING | CounterNum$ 1 | SubAbility$ DBTransform | SpellDescription$ Put a hatchling counter on CARDNAME. Then if there are five or more hatchling counters on it, remove all of them and transform it. -SVar:DBRemCounter:DB$ RemoveCounter | CounterType$ HATCHLING | CounterNum$ All | ConditionCheckSVar$ X -SVar:DBTransform:DB$SetState | Defined$ Self | ConditionCheckSVar$ X | SubAbility$ DBRemCounter | Mode$ Transform +SVar:DBRemCounter:DB$ RemoveCounter | CounterType$ HATCHLING | CounterNum$ All | ConditionCheckSVar$ X | References$ X +SVar:DBTransform:DB$SetState | Defined$ Self | ConditionCheckSVar$ X | SubAbility$ DBRemCounter | Mode$ Transform | References$ X SVar:X:Count$Valid Card.Self+counters_GE5_HATCHLING SVar:All:Count$CardCounters.HATCHLING SVar:Picture:http://www.wizards.com/global/images/magic/general/ludevics_test_subject.jpg diff --git a/res/cardsfolder/l/lurking_evil.txt b/res/cardsfolder/l/lurking_evil.txt index 7fa68adad45..ce7aab13e89 100644 --- a/res/cardsfolder/l/lurking_evil.txt +++ b/res/cardsfolder/l/lurking_evil.txt @@ -2,7 +2,7 @@ Name:Lurking Evil ManaCost:B B B Types:Enchantment Text:no text -A:AB$ Animate | Cost$ PayLife | Types$ Creature,Horror | Power$ 4 | Toughness$ 4 | Keywords$ Flying | OverwriteTypes$ True | Permanent$ True |CostDesc$ Pay half your life, rounded up: | SpellDescription$ CARDNAME becomes a 4/4 Horror creature with flying. +A:AB$ Animate | Cost$ PayLife | Types$ Creature,Horror | Power$ 4 | Toughness$ 4 | Keywords$ Flying | OverwriteTypes$ True | Permanent$ True | CostDesc$ Pay half your life, rounded up: | References$ X | SpellDescription$ CARDNAME becomes a 4/4 Horror creature with flying. SVar:X:Count$YourLifeTotal/HalfUp SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/l/lurking_predators.txt b/res/cardsfolder/l/lurking_predators.txt index 688c32e9fad..25a47e3e9e4 100644 --- a/res/cardsfolder/l/lurking_predators.txt +++ b/res/cardsfolder/l/lurking_predators.txt @@ -4,7 +4,7 @@ Types:Enchantment Text:no text T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ Opponent | TriggerZones$ Battlefield | Execute$ TrigDig | TriggerDescription$ Whenever an opponent casts a spell, reveal the top card of your library. If it's a creature card, put it onto the battlefield. Otherwise, you may put that card on the bottom of your library. SVar:TrigDig:DB$ Dig | DigNum$ 1 | Reveal$ True | ChangeNum$ All | ChangeValid$ Creature | DestinationZone$ Battlefield | LibraryPosition2$ 0 | RememberChanged$ True | SubAbility$ DBDig -SVar:DBDig:DB$ Dig | DigNum$ 1 | DestinationZone$ Library | Optional$ True | LibraryPosition$ -1 | LibraryPosition2$ 0 | CheckSVar$ X | SVarCompare$ EQ0 | SubAbility$ DBCleanup +SVar:DBDig:DB$ Dig | DigNum$ 1 | DestinationZone$ Library | Optional$ True | LibraryPosition$ -1 | LibraryPosition2$ 0 | CheckSVar$ X | SVarCompare$ EQ0 | SubAbility$ DBCleanup | References$ X SVar:X:Remembered$Amount SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:Rarity:Rare diff --git a/res/cardsfolder/l/lys_alana_scarblade.txt b/res/cardsfolder/l/lys_alana_scarblade.txt index 518ef230162..5ce2d6a34e1 100644 --- a/res/cardsfolder/l/lys_alana_scarblade.txt +++ b/res/cardsfolder/l/lys_alana_scarblade.txt @@ -3,7 +3,7 @@ ManaCost:2 B Types:Creature Elf Assassin Text:no text PT:1/1 -A:AB$ Pump | Cost$ T Discard<1/Card.Elf> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | SpellDescription$ Target creature gets -X/-X until end of turn, where X is the number of Elves you control. +A:AB$ Pump | Cost$ T Discard<1/Card.Elf> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | References$ X | SpellDescription$ Target creature gets -X/-X until end of turn, where X is the number of Elves you control. SVar:X:Count$Valid Elf.YouCtrl SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/lys_alana_scarblade.jpg diff --git a/res/cardsfolder/l/lyzolda_the_blood_witch.txt b/res/cardsfolder/l/lyzolda_the_blood_witch.txt index 97b3ef48382..d7f33c6832a 100644 --- a/res/cardsfolder/l/lyzolda_the_blood_witch.txt +++ b/res/cardsfolder/l/lyzolda_the_blood_witch.txt @@ -3,8 +3,8 @@ ManaCost:1 B R Types:Legendary Creature Human Cleric Text:no text PT:3/1 -A:AB$DealDamage | Cost$ 2 Sac<1/Creature> | Tgt$TgtCP | NumDmg$ 2 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBDraw | SpellDescription$ CARDNAME deals 2 damage to target creature or player if the sacrificed creature was red. Draw a card if the sacrificed creature was black. -SVar:DBDraw:DB$Draw | NumCards$ 1 | Defined$ You | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE1 +A:AB$DealDamage | Cost$ 2 Sac<1/Creature> | Tgt$TgtCP | NumDmg$ 2 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBDraw | References$ X | SpellDescription$ CARDNAME deals 2 damage to target creature or player if the sacrificed creature was red. Draw a card if the sacrificed creature was black. +SVar:DBDraw:DB$Draw | NumCards$ 1 | Defined$ You | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE1 | References$ Y SVar:X:Sacrificed$Valid Creature.Red SVar:Y:Sacrificed$Valid Creature.Black SVar:RemAIDeck:True diff --git a/res/cardsfolder/m/machinate.txt b/res/cardsfolder/m/machinate.txt index 993e95add0a..c9e66a75342 100644 --- a/res/cardsfolder/m/machinate.txt +++ b/res/cardsfolder/m/machinate.txt @@ -2,7 +2,7 @@ Name:Machinate ManaCost:1 U U Types:Instant Text:no text -A:SP$ Dig | Cost$ 1 U U | DigNum$ X | SpellDescription$ Look at the top X cards of your library, where X is the number of artifacts you control. Put one of those cards into your hand and the rest on the bottom of your library in any order. +A:SP$ Dig | Cost$ 1 U U | DigNum$ X | References$ X | SpellDescription$ Look at the top X cards of your library, where X is the number of artifacts you control. Put one of those cards into your hand and the rest on the bottom of your library in any order. SVar:X:Count$Valid Artifact.YouCtrl SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/m/mad_dog.txt b/res/cardsfolder/m/mad_dog.txt index c3a75a91fc0..03803848507 100644 --- a/res/cardsfolder/m/mad_dog.txt +++ b/res/cardsfolder/m/mad_dog.txt @@ -4,7 +4,7 @@ Types:Creature Hound Text:no text PT:2/2 T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | Execute$ TrigSacrifice | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your end step, if CARDNAME didn't attack or come under your control this turn, sacrifice it. -SVar:TrigSacrifice:AB$ Sacrifice | Cost$ 0 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 +SVar:TrigSacrifice:AB$ Sacrifice | Cost$ 0 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | References$ X,Y,Z SVar:Y:Count$ThisTurnEntered_Battlefield_Card.Self SVar:Z:Count$Valid Card.Self+attackedThisTurn SVar:X:SVar$Y/Plus.Z diff --git a/res/cardsfolder/m/maga_traitor_to_mortals.txt b/res/cardsfolder/m/maga_traitor_to_mortals.txt index 792335391dd..9144a382ad1 100644 --- a/res/cardsfolder/m/maga_traitor_to_mortals.txt +++ b/res/cardsfolder/m/maga_traitor_to_mortals.txt @@ -6,7 +6,7 @@ PT:0/0 K:etbCounter:P1P1:X SVar:X:Count$xPaid T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigDrain | TriggerDescription$ When CARDNAME enters the battlefield, target player loses life equal to the number of +1/+1 counters on it. -SVar:TrigDrain:AB$LoseLife | Cost$ 0 | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ Y +SVar:TrigDrain:AB$LoseLife | Cost$ 0 | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ Y | References$ Y SVar:Y:Count$CardCounters.P1P1 SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/maga_traitor_to_mortals.jpg diff --git a/res/cardsfolder/m/mage_slayer.txt b/res/cardsfolder/m/mage_slayer.txt index 5b04fdf85d1..b342a940d2e 100644 --- a/res/cardsfolder/m/mage_slayer.txt +++ b/res/cardsfolder/m/mage_slayer.txt @@ -4,7 +4,7 @@ Types:Artifact Equipment Text:no text K:eqPump 3:0/0 T:Mode$ Attacks | ValidCard$ Card.AttachedBy | Execute$ TrigDamage | TriggerDescription$ Whenever equipped creature attacks, it deals damage equal to its power to defending player. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Opponent,Planeswalker.YouDontCtrl | DamageSource$ Equipped | TgtPrompt$ Select target opponent or planeswalker | NumDmg$ X +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Opponent,Planeswalker.YouDontCtrl | DamageSource$ Equipped | TgtPrompt$ Select target opponent or planeswalker | NumDmg$ X | References$ X SVar:X:TriggeredAttacker$CardPower S:Mode$ Continuous | Affected$ Creature.AttachedBy | AddSVar$ AE SVar:AE:SVar:HasAttackEffect:TRUE diff --git a/res/cardsfolder/m/magma_mine.txt b/res/cardsfolder/m/magma_mine.txt index ca895bf9f84..5c0127c0394 100644 --- a/res/cardsfolder/m/magma_mine.txt +++ b/res/cardsfolder/m/magma_mine.txt @@ -3,7 +3,7 @@ ManaCost:1 Types:Artifact Text:no text A:AB$ PutCounter | Cost$ 4 | CounterType$ PRESSURE | CounterNum$ 1 | SpellDescription$ Put a pressure counter on CARDNAME. -A:AB$ DealDamage | Cost$ T Sac<1/CARDNAME> | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to the number of pressure counters on it to target creature or player. +A:AB$ DealDamage | Cost$ T Sac<1/CARDNAME> | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to the number of pressure counters on it to target creature or player. SVar:X:Count$CardCounters.PRESSURE SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/m/magma_sliver.txt b/res/cardsfolder/m/magma_sliver.txt index 21bc86bfa28..547063ddb6d 100644 --- a/res/cardsfolder/m/magma_sliver.txt +++ b/res/cardsfolder/m/magma_sliver.txt @@ -4,7 +4,7 @@ Types:Creature Sliver Text:no text PT:3/3 S:Mode$ Continuous | Affected$ Sliver | AddAbility$ Pump | AddSVar$ SliversOnBattlefield | Description$ All Slivers have "T: Target Sliver creature gets +X/+0 until end of turn, where X is the number of Slivers on the battlefield." -SVar:Pump:AB$Pump | Cost$ T | ValidTgts$ Creature.Sliver | TgtPrompt$ Select target Sliver creature | NumAtt$ SliversOnBattlefield | SpellDescription$ Target Sliver creature gets +X/+0 until end of turn, where X is the number of Slivers on the battlefield. +SVar:Pump:AB$Pump | Cost$ T | ValidTgts$ Creature.Sliver | TgtPrompt$ Select target Sliver creature | NumAtt$ SliversOnBattlefield | References$ SliversOnBattlefield | SpellDescription$ Target Sliver creature gets +X/+0 until end of turn, where X is the number of Slivers on the battlefield. SVar:SliversOnBattlefield:Count$Valid Sliver SVar:PlayMain1:TRUE SVar:BuffedBy:Sliver diff --git a/res/cardsfolder/m/magnigoth_treefolk.txt b/res/cardsfolder/m/magnigoth_treefolk.txt index ca03dd08e9a..408abfadbe3 100644 --- a/res/cardsfolder/m/magnigoth_treefolk.txt +++ b/res/cardsfolder/m/magnigoth_treefolk.txt @@ -3,11 +3,11 @@ ManaCost:4 G Types:Creature Treefolk Text:no text PT:2/6 -S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Plainswalk | CheckSVar$ P | SVarCompare$ GE1 | Description$ Domain - For each basic land type among lands you control, CARDNAME has landwalk of that type -S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Islandwalk | CheckSVar$ I | SVarCompare$ GE1 -S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Swampwalk | CheckSVar$ S | SVarCompare$ GE1 -S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Mountainwalk | CheckSVar$ M | SVarCompare$ GE1 -S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Forestwalk | CheckSVar$ F | SVarCompare$ GE1 +S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Plainswalk | CheckSVar$ P | SVarCompare$ GE1 | References$ P | Description$ Domain - For each basic land type among lands you control, CARDNAME has landwalk of that type +S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Islandwalk | CheckSVar$ I | SVarCompare$ GE1 | References$ I +S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Swampwalk | CheckSVar$ S | SVarCompare$ GE1 | References$ S +S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Mountainwalk | CheckSVar$ M | SVarCompare$ GE1 | References$ M +S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Forestwalk | CheckSVar$ F | SVarCompare$ GE1 | References$ F SVar:P:Count$Valid Plains.YouCtrl SVar:I:Count$Valid Island.YouCtrl SVar:S:Count$Valid Swamp.YouCtrl diff --git a/res/cardsfolder/m/magnivore.txt b/res/cardsfolder/m/magnivore.txt index 53077aa1e17..f61d35b34d2 100644 --- a/res/cardsfolder/m/magnivore.txt +++ b/res/cardsfolder/m/magnivore.txt @@ -4,7 +4,7 @@ Types:Creature Lhurgoyf Text:no text PT:*/* K:Haste -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of sorcery cards in all graveyards. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | References$ X | Description$ CARDNAME's power and toughness are each equal to the number of sorcery cards in all graveyards. SVar:X:Count$TypeInAllYards.Sorcery SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/m/magus_of_the_candelabra.txt b/res/cardsfolder/m/magus_of_the_candelabra.txt index bc5a85c1c33..01654221ecb 100644 --- a/res/cardsfolder/m/magus_of_the_candelabra.txt +++ b/res/cardsfolder/m/magus_of_the_candelabra.txt @@ -3,7 +3,7 @@ ManaCost:G Types:Creature Human Wizard Text:no text PT:1/2 -A:AB$ Untap | Cost$ X T | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Land | TgtPrompt$ Select target Land | SpellDescription$ Untap X target lands. +A:AB$ Untap | Cost$ X T | TargetMin$ 0 | TargetMax$ MaxTgts | References$ X,MaxTgts | ValidTgts$ Land | TgtPrompt$ Select target Land | SpellDescription$ Untap X target lands. # It may seem wrong to not use X in the target, but since the Targets are what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Land diff --git a/res/cardsfolder/m/magus_of_the_coffers.txt b/res/cardsfolder/m/magus_of_the_coffers.txt index b35b8fed902..badf29d3cc0 100644 --- a/res/cardsfolder/m/magus_of_the_coffers.txt +++ b/res/cardsfolder/m/magus_of_the_coffers.txt @@ -3,7 +3,7 @@ ManaCost:4 B Types:Creature Human Wizard Text:no text PT:4/4 -A:AB$ Mana | Cost$ 2 T | Produced$ B | Amount$ X | SpellDescription$ Add B to your mana pool for each Swamp you control. +A:AB$ Mana | Cost$ 2 T | Produced$ B | Amount$ X | References$ X | SpellDescription$ Add B to your mana pool for each Swamp you control. SVar:X:Count$Valid Swamp.YouCtrl SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/m/malakir_bloodwitch.txt b/res/cardsfolder/m/malakir_bloodwitch.txt index 44e01b4b577..495d96d2a25 100644 --- a/res/cardsfolder/m/malakir_bloodwitch.txt +++ b/res/cardsfolder/m/malakir_bloodwitch.txt @@ -6,8 +6,8 @@ PT:4/4 K:Flying K:Protection from white T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigLoseLife | TriggerDescription$ When CARDNAME enters the battlefield, each opponent loses life equal to the number of Vampires you control. You gain life equal to the life lost this way. -SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ Opponent | LifeAmount$ X | SubAbility$ DBGainLife -SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X +SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ Opponent | LifeAmount$ X | References$ X | SubAbility$ DBGainLife +SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Count$Valid Vampire.YouCtrl SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/m/malfegor.txt b/res/cardsfolder/m/malfegor.txt index 7b517b76643..1cc616cbff5 100644 --- a/res/cardsfolder/m/malfegor.txt +++ b/res/cardsfolder/m/malfegor.txt @@ -6,7 +6,7 @@ PT:6/6 K:Flying T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigDiscard | TriggerDescription$ When CARDNAME enters the battlefield, discard your hand. Each opponent sacrifices a creature for each card discarded this way. SVar:TrigDiscard:AB$ Discard | Cost$ 0 | Mode$ Hand | RememberDiscarded$ True | SubAbility$ DBSacrifice -SVar:DBSacrifice:DB$ Sacrifice | Defined$ Opponent | SacValid$ Creature | SacMessage$ Creature | Amount$ X | SubAbility$ DBCleanup +SVar:DBSacrifice:DB$ Sacrifice | Defined$ Opponent | SacValid$ Creature | SacMessage$ Creature | Amount$ X | References$ X | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:Rarity:Rare diff --git a/res/cardsfolder/m/malicious_advice.txt b/res/cardsfolder/m/malicious_advice.txt index d4f1498bb18..a1e15b9d5f5 100644 --- a/res/cardsfolder/m/malicious_advice.txt +++ b/res/cardsfolder/m/malicious_advice.txt @@ -2,8 +2,8 @@ Name:Malicious Advice ManaCost:X U B Types:Instant Text:no text -A:SP$ Tap | Cost$ X U B | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Artifact,Creature,Land | TgtPrompt$ Select target artifact, creature, or land | SpellDescription$ Tap X target artifacts, creatures, and/or lands. You lose X life. | SubAbility$ Drain -SVar:Drain:DB$LoseLife | LifeAmount$ X +A:SP$ Tap | Cost$ X U B | TargetMin$ 0 | TargetMax$ MaxTgts | References$ X,MaxTgts | ValidTgts$ Artifact,Creature,Land | TgtPrompt$ Select target artifact, creature, or land | SpellDescription$ Tap X target artifacts, creatures, and/or lands. You lose X life. | SubAbility$ Drain +SVar:Drain:DB$LoseLife | LifeAmount$ X | References$ X # It may seem wrong to not use X in the target, but since the Targets are what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Artifact,Creature,Land diff --git a/res/cardsfolder/m/malignant_growth.txt b/res/cardsfolder/m/malignant_growth.txt index 3565276faa1..37289fc7f01 100644 --- a/res/cardsfolder/m/malignant_growth.txt +++ b/res/cardsfolder/m/malignant_growth.txt @@ -6,8 +6,8 @@ K:Cumulative upkeep:1 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, put a growth counter on CARDNAME. T:Mode$ Phase | Phase$ Draw | ValidPlayer$ Opponent | Execute$ TrigDraw | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of each opponent's draw step, that player draws an additional card for each growth counter on CARDNAME, then CARDNAME deals damage to the player equal to the number of cards he or she drew this way. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ GROWTH | CounterNum$ 1 -SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ TriggeredPlayer | NumCards$ X | SubAbility$ DBDamage -SVar:DBDamage:DB$DealDamage | Defined$ TriggeredPlayer | NumDmg$ X +SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ TriggeredPlayer | NumCards$ X | References$ X | SubAbility$ DBDamage +SVar:DBDamage:DB$DealDamage | Defined$ TriggeredPlayer | NumDmg$ X | References$ X SVar:X:Count$CardCounters.GROWTH SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/m/malignus.txt b/res/cardsfolder/m/malignus.txt index 3cae16b036f..7c49b723483 100644 --- a/res/cardsfolder/m/malignus.txt +++ b/res/cardsfolder/m/malignus.txt @@ -4,7 +4,7 @@ Types:Creature Elemental Spirit Text:no text PT:*/* K:Damage that would be dealt by CARDNAME can't be prevented. -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to half the highest life total among your opponents, rounded up. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | References$ X | Description$ CARDNAME's power and toughness are each equal to half the highest life total among your opponents, rounded up. SVar:X:Count$OppLifeTotal/HalfUp SVar:Rarity:Mythic SVar:Picture:http://www.wizards.com/global/images/magic/general/malignus.jpg diff --git a/res/cardsfolder/m/mana_drain.txt b/res/cardsfolder/m/mana_drain.txt index 89895647e1f..c1688a46de1 100644 --- a/res/cardsfolder/m/mana_drain.txt +++ b/res/cardsfolder/m/mana_drain.txt @@ -4,7 +4,7 @@ Types:Instant Text:no text A:SP$Counter | Cost$ U U | TargetType$ Spell | RememberTargets$ True | ForgetOtherTargets$ True | ValidTgts$ Card | SubAbility$ DBDelTrig | SpellDescription$ Counter target spell. At the beginning of your next main phase, add X to your mana pool, where X is that spell's converted mana cost. SVar:DBDelTrig:DB$DelayedTrigger | Mode$ Phase | Phase$ Main1,Main2 | ValidPlayer$ You | Execute$ AddMana | TriggerDescription$ CARDNAME - At the beginning of your next main phase, add X to your mana pool, where X is the countered spell's converted mana cost. -SVar:AddMana:DB$ Mana | Cost$ 0 | Produced$ 1 | Amount$ X +SVar:AddMana:DB$ Mana | Cost$ 0 | Produced$ 1 | Amount$ X | References$ X SVar:X:Remembered$CardManaCost SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/mana_drain.jpg diff --git a/res/cardsfolder/m/mana_geyser.txt b/res/cardsfolder/m/mana_geyser.txt index f8e7a4e1d79..308814fbea1 100644 --- a/res/cardsfolder/m/mana_geyser.txt +++ b/res/cardsfolder/m/mana_geyser.txt @@ -2,7 +2,7 @@ Name:Mana Geyser ManaCost:3 R R Types:Sorcery Text:no text -A:SP$ Mana | Cost$ 3 R R | Produced$ R | Amount$ X | SpellDescription$ Add R to your mana pool for each tapped land your opponents control. +A:SP$ Mana | Cost$ 3 R R | Produced$ R | Amount$ X | References$ X | SpellDescription$ Add R to your mana pool for each tapped land your opponents control. SVar:X:Count$Valid Land.tapped+YouDontCtrl SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/m/mana_severance.txt b/res/cardsfolder/m/mana_severance.txt index 074acbc160c..008d380244e 100644 --- a/res/cardsfolder/m/mana_severance.txt +++ b/res/cardsfolder/m/mana_severance.txt @@ -2,7 +2,7 @@ Name:Mana Severance ManaCost:1 U Types:Sorcery Text:no text -A:SP$ ChangeZone | Cost$ 1 U | Origin$ Library | Destination$ Exile | ChangeType$ Land | ChangeNum$ XFetch | SpellDescription$ Search your library for any number of land cards and exile them. Then shuffle your library. +A:SP$ ChangeZone | Cost$ 1 U | Origin$ Library | Destination$ Exile | ChangeType$ Land | ChangeNum$ XFetch | References$ XFetch | SpellDescription$ Search your library for any number of land cards and exile them. Then shuffle your library. SVar:XFetch:Count$TypeInYourLibrary.Land SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/m/manaforce_mace.txt b/res/cardsfolder/m/manaforce_mace.txt index 9bdd7fd8b45..e2ad279aa7c 100644 --- a/res/cardsfolder/m/manaforce_mace.txt +++ b/res/cardsfolder/m/manaforce_mace.txt @@ -3,7 +3,7 @@ ManaCost:4 Types:Artifact Equipment Text:no text K:eqPump 3:+0/+0 -S:Mode$ Continuous | Affected$ Card.EquippedBy | AddPower$ X | AddToughness$ X | Description$ Domain - Equipped creature gets +1/+1 for each basic land type among lands you control. +S:Mode$ Continuous | Affected$ Card.EquippedBy | AddPower$ X | AddToughness$ X | References$ X | Description$ Domain - Equipped creature gets +1/+1 for each basic land type among lands you control. SVar:X:Count$Domain SVar:BuffedBy:Plains,Island,Swamp,Mountain,Forest SVar:Rarity:Uncommon diff --git a/res/cardsfolder/m/manaplasm.txt b/res/cardsfolder/m/manaplasm.txt index 77402b2f4dd..134d8fa1752 100644 --- a/res/cardsfolder/m/manaplasm.txt +++ b/res/cardsfolder/m/manaplasm.txt @@ -4,7 +4,7 @@ Types:Creature Ooze Text:no text PT:1/1 T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever you cast a spell, CARDNAME gets +X/+X until end of turn, where X is that spell's converted mana cost. -SVar:TrigPump:AB$Pump | Cost$ 0 | NumAtt$ +X | NumDef$ +X +SVar:TrigPump:AB$Pump | Cost$ 0 | NumAtt$ +X | NumDef$ +X | References$ X SVar:X:TriggeredCard$CardManaCost SVar:BuffedBy:Card SVar:Rarity:Rare diff --git a/res/cardsfolder/m/manor_gargoyle.txt b/res/cardsfolder/m/manor_gargoyle.txt index 367b5b17f0a..4e34a848a7d 100644 --- a/res/cardsfolder/m/manor_gargoyle.txt +++ b/res/cardsfolder/m/manor_gargoyle.txt @@ -4,7 +4,7 @@ Types:Artifact Creature Gargoyle Text:no text PT:4/4 K:Defender -S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Indestructible | CheckSVar$ X | SVarCompare$ GE1 | Description$ CARDNAME is indestructible as long as it has defender. +S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Indestructible | CheckSVar$ X | SVarCompare$ GE1 | References$ X | Description$ CARDNAME is indestructible as long as it has defender. SVar:X:Count$Valid Card.Self+withDefender A:AB$ Debuff | Cost$ 1 | Keywords$ Defender | Defined$ Self | SubAbility$ DBFlight | SpellDescription$ Until end of turn, CARDNAME loses defender and gains flying. SVar:DBFlight:DB$ Pump | Defined$ Self | KW$ Flying diff --git a/res/cardsfolder/m/marauding_knight.txt b/res/cardsfolder/m/marauding_knight.txt index 8024109735a..0b9fc2598c4 100644 --- a/res/cardsfolder/m/marauding_knight.txt +++ b/res/cardsfolder/m/marauding_knight.txt @@ -4,7 +4,7 @@ Types:Creature Zombie Knight Text:no text PT:2/2 K:Protection from white -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | Description$ CARDNAME gets +1/+1 for each Plains your opponents control. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | References$ X | Description$ CARDNAME gets +1/+1 for each Plains your opponents control. SVar:X:Count$Valid Plains.YouDontCtrl SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/m/maraxus_of_keld.txt b/res/cardsfolder/m/maraxus_of_keld.txt index 3876a5a1687..aed5d5d90d5 100644 --- a/res/cardsfolder/m/maraxus_of_keld.txt +++ b/res/cardsfolder/m/maraxus_of_keld.txt @@ -3,7 +3,7 @@ ManaCost:4 R R Types:Legendary Creature Human Warrior Text:no text PT:*/* -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of untapped artifacts, creatures, and lands you control. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | References$ X | Description$ CARDNAME's power and toughness are each equal to the number of untapped artifacts, creatures, and lands you control. SVar:X:Count$Valid Artifact.untapped+YouCtrl,Creature.untapped+YouCtrl,Land.untapped+YouCtrl SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/m/marcadian_bazaar.txt b/res/cardsfolder/m/marcadian_bazaar.txt index 5d947f06f54..13e540aa273 100644 --- a/res/cardsfolder/m/marcadian_bazaar.txt +++ b/res/cardsfolder/m/marcadian_bazaar.txt @@ -4,7 +4,7 @@ Types:Land Text:no text K:CARDNAME enters the battlefield tapped. A:AB$ PutCounter | Cost$ T | Defined$ Self | CounterType$ STORAGE | CounterNum$ 1 | SpellDescription$ Put a storage counter on CARDNAME. -A:AB$ Mana | Cost$ T SubCounter | Produced$ R | Amount$ ChosenX | CostDesc$ Tap, Remove any number of storage counters from CARDNAME: | SpellDescription$ Add R to your mana pool for each storage counter removed this way. +A:AB$ Mana | Cost$ T SubCounter | Produced$ R | Amount$ ChosenX | References$ X | CostDesc$ Tap, Remove any number of storage counters from CARDNAME: | SpellDescription$ Add R to your mana pool for each storage counter removed this way. SVar:X:XChoice #ChosenX SVar created by Cost payment SVar:RemAIDeck:True diff --git a/res/cardsfolder/m/march_of_souls.txt b/res/cardsfolder/m/march_of_souls.txt index bcf6a7f3bb9..65cf79bd49c 100644 --- a/res/cardsfolder/m/march_of_souls.txt +++ b/res/cardsfolder/m/march_of_souls.txt @@ -3,9 +3,9 @@ ManaCost:4 W Types:Sorcery Text:no text A:SP$ DestroyAll | Cost$ 4 W | ValidCards$ Creature.YouCtrl | RememberDestroyed$ True | NoRegen$ True | SubAbility$ DBTokenYou | SpellDescription$ Destroy all creatures. They can't be regenerated. For each creature destroyed this way, its controller puts a 1/1 white Spirit creature token with flying onto the battlefield. -SVar:DBTokenYou:DB$Token | TokenAmount$ X | TokenName$ Spirit | TokenTypes$ Creature,Spirit | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying | SubAbility$ DBDestroyOpp +SVar:DBTokenYou:DB$Token | TokenAmount$ X | References$ X | TokenName$ Spirit | TokenTypes$ Creature,Spirit | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying | SubAbility$ DBDestroyOpp SVar:DBDestroyOpp:DB$DestroyAll | ValidCards$ Creature.YouDontCtrl | RememberDestroyed$ True | NoRegen$ True | SubAbility$ DBTokenOpp -SVar:DBTokenOpp:DB$Token | TokenAmount$ Y | TokenName$ Spirit | TokenTypes$ Creature,Spirit | TokenOwner$ Opponent | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying +SVar:DBTokenOpp:DB$Token | TokenAmount$ Y | References$ Y | TokenName$ Spirit | TokenTypes$ Creature,Spirit | TokenOwner$ Opponent | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying SVar:X:Remembered$Amount SVar:Y:Remembered$Amount SVar:RemAIDeck:True diff --git a/res/cardsfolder/m/march_of_the_machines.txt b/res/cardsfolder/m/march_of_the_machines.txt index 220e6f86f32..b85a833dc92 100644 --- a/res/cardsfolder/m/march_of_the_machines.txt +++ b/res/cardsfolder/m/march_of_the_machines.txt @@ -2,7 +2,7 @@ Name:March of the Machines ManaCost:3 U Types:Enchantment Text:no text -S:Mode$ Continuous | Affected$ Artifact.nonCreature | SetPower$ AffectedX | SetToughness$ AffectedX | AddType$ Creature | Description$ Each noncreature artifact is an artifact creature with power and toughness each equal to its converted mana cost. (Equipment that's a creature can't equip a creature.) +S:Mode$ Continuous | Affected$ Artifact.nonCreature | SetPower$ AffectedX | SetToughness$ AffectedX | References$ AffectedX | AddType$ Creature | Description$ Each noncreature artifact is an artifact creature with power and toughness each equal to its converted mana cost. (Equipment that's a creature can't equip a creature.) SVar:AffectedX:Count$CardManaCost SVar:PlayMain1:TRUE SVar:RemRandomDeck:True diff --git a/res/cardsfolder/m/maro.txt b/res/cardsfolder/m/maro.txt index 719a8ca64a0..bb249c63040 100644 --- a/res/cardsfolder/m/maro.txt +++ b/res/cardsfolder/m/maro.txt @@ -3,7 +3,7 @@ ManaCost:2 G G Types:Creature Elemental Text:no text PT:*/* -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of cards in your hand. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | References$ X | Description$ CARDNAME's power and toughness are each equal to the number of cards in your hand. SVar:X:Count$InYourHand SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/m/marrow_chomper.txt b/res/cardsfolder/m/marrow_chomper.txt index 36102fcd34a..93c600dfdf5 100644 --- a/res/cardsfolder/m/marrow_chomper.txt +++ b/res/cardsfolder/m/marrow_chomper.txt @@ -5,7 +5,7 @@ Text:no text PT:3/3 K:Devour:2 T:Mode$ ChangesZone | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigGainLife | TriggerDescription$ When CARDNAME enters the battlefield, you gain 2 life for each creature it devoured. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:Count$Devoured Card SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/marrow_chomper.jpg diff --git a/res/cardsfolder/m/marrow_gnawer.txt b/res/cardsfolder/m/marrow_gnawer.txt index 8f3b6116d6f..8f782014df8 100644 --- a/res/cardsfolder/m/marrow_gnawer.txt +++ b/res/cardsfolder/m/marrow_gnawer.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Rat Rogue Text:no text PT:2/3 S:Mode$ Continuous | Affected$ Creature.Rat | AddKeyword$ Fear | Description$ Rat creatures have fear. (They can't be blocked except by artifact creatures and/or black creatures.) -A:AB$ Token | Cost$ T Sac<1/Rat> | TokenAmount$ X | TokenName$ Rat | TokenTypes$ Creature,Rat | TokenOwner$ You | TokenColors$ Black | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put X 1/1 black Rat creature tokens onto the battlefield, where X is the number of Rats you control. +A:AB$ Token | Cost$ T Sac<1/Rat> | TokenAmount$ X | References$ X | TokenName$ Rat | TokenTypes$ Creature,Rat | TokenOwner$ You | TokenColors$ Black | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put X 1/1 black Rat creature tokens onto the battlefield, where X is the number of Rats you control. SVar:X:Count$TypeYouCtrl.Rat SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/m/marshals_anthem.txt b/res/cardsfolder/m/marshals_anthem.txt index e563257da73..b28b36ac281 100644 --- a/res/cardsfolder/m/marshals_anthem.txt +++ b/res/cardsfolder/m/marshals_anthem.txt @@ -5,7 +5,7 @@ Text:no text S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddPower$ 1 | AddToughness$ 1 | Description$ Creatures you control get +1/+1. K:Multikicker 1 W T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigReturn | TriggerDescription$ When CARDNAME enters the battlefield, return up to X target creature cards from your graveyard to the battlefield, where X is the number of times CARDNAME was kicked. -SVar:TrigReturn:AB$ ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Battlefield | TargetMin$ 0 | TargetMax$ X | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature card from your graveyard. +SVar:TrigReturn:AB$ ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Battlefield | TargetMin$ 0 | TargetMax$ X | References$ X | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature card from your graveyard. SVar:X:Count$TimesKicked SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/m/martial_coup.txt b/res/cardsfolder/m/martial_coup.txt index 69e199fb70a..46677ff8d9a 100644 --- a/res/cardsfolder/m/martial_coup.txt +++ b/res/cardsfolder/m/martial_coup.txt @@ -4,6 +4,7 @@ Types:Sorcery Text:Put X 1/1 white Soldier creature tokens onto the battlefield. If X is 5 or more, destroy all other creatures. SVar:X:Count$xPaid SVar:PayX:5 +# Should have the References param added when converted to script. SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/martial_coup.jpg SetInfo:CFX|Rare|http://magiccards.info/scans/en/cfx/11.jpg diff --git a/res/cardsfolder/m/marton_stromgald.txt b/res/cardsfolder/m/marton_stromgald.txt index 094b7a03d6c..64148affa40 100644 --- a/res/cardsfolder/m/marton_stromgald.txt +++ b/res/cardsfolder/m/marton_stromgald.txt @@ -4,10 +4,10 @@ Types:Legendary Creature Human Knight Text:no text PT:1/1 T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigPumpAttack | TriggerDescription$ Whenever CARDNAME attacks, other attacking creatures get +1/+1 until end of turn for each attacking creature other than CARDNAME. -SVar:TrigPumpAttack:AB$PumpAll | Cost$ 0 | ValidCards$ Creature.attacking+Other | NumAtt$ X | NumDef$ X +SVar:TrigPumpAttack:AB$PumpAll | Cost$ 0 | ValidCards$ Creature.attacking+Other | NumAtt$ X | NumDef$ X | References$ X SVar:X:Count$Valid Creature.attacking+Other T:Mode$ Blocks | ValidCard$ Card.Self | Triggerzones$ Battlefield | Execute$ TrigPumpBlock | TriggerDescription$ Whenever CARDNAME blocks, other blocking creatures get +1/+1 until end of turn for each blocking creature other than CARDNAME. -SVar:TrigPumpBlock:AB$PumpAll | Cost$ 0 | ValidCards$ Creature.blocking+Other | NumAtt$ Y | NumDef$ Y +SVar:TrigPumpBlock:AB$PumpAll | Cost$ 0 | ValidCards$ Creature.blocking+Other | NumAtt$ Y | NumDef$ Y | References$ Y SVar:Y:Count$Valid Creature.blocking+Other SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/marton_stromgald.jpg diff --git a/res/cardsfolder/m/martyr_of_ashes.txt b/res/cardsfolder/m/martyr_of_ashes.txt index 8d3ffa42167..f31823c45f0 100644 --- a/res/cardsfolder/m/martyr_of_ashes.txt +++ b/res/cardsfolder/m/martyr_of_ashes.txt @@ -3,7 +3,7 @@ ManaCost:R Types:Creature Human Shaman Text:no text PT:1/1 -A:AB$ DamageAll | Cost$ 2 Reveal Sac<1/CARDNAME> | CostDesc$ 2, Reveal X red cards from your hand, Sacrifice Martyr of Ashes: | ValidCards$ Creature.withoutFlying | NumDmg$ ChosenX | ValidDescription$ each creature without flying | SpellDescription$ CARDNAME deals X damage to each creature without flying. +A:AB$ DamageAll | Cost$ 2 Reveal Sac<1/CARDNAME> | CostDesc$ 2, Reveal X red cards from your hand, Sacrifice Martyr of Ashes: | ValidCards$ Creature.withoutFlying | NumDmg$ ChosenX | References$ X | ValidDescription$ each creature without flying | SpellDescription$ CARDNAME deals X damage to each creature without flying. SVar:X:XChoice SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/m/martyr_of_sands.txt b/res/cardsfolder/m/martyr_of_sands.txt index 3f1b0c7e5d7..f8865001167 100644 --- a/res/cardsfolder/m/martyr_of_sands.txt +++ b/res/cardsfolder/m/martyr_of_sands.txt @@ -3,7 +3,7 @@ ManaCost:W Types:Creature Human Cleric Text:no text PT:1/1 -A:AB$ GainLife | Cost$ 1 Reveal Sac<1/CARDNAME> | CostDesc$ 1, Reveal X white cards from your hand, Sacrifice Martyr of Sands: | LifeAmount$ Y | SpellDescription$ You gain three times X life. +A:AB$ GainLife | Cost$ 1 Reveal Sac<1/CARDNAME> | CostDesc$ 1, Reveal X white cards from your hand, Sacrifice Martyr of Sands: | LifeAmount$ Y | References$ X,Y | SpellDescription$ You gain three times X life. SVar:X:XChoice SVar:Y:Number$3/Times.ChosenX SVar:RemAIDeck:True diff --git a/res/cardsfolder/m/martyr_of_spores.txt b/res/cardsfolder/m/martyr_of_spores.txt index 0af98baf573..ab31b941257 100644 --- a/res/cardsfolder/m/martyr_of_spores.txt +++ b/res/cardsfolder/m/martyr_of_spores.txt @@ -3,7 +3,7 @@ ManaCost:G Types:Creature Human Shaman Text:no text PT:1/1 -A:AB$ Pump | Cost$ 1 Reveal Sac<1/CARDNAME> | CostDesc$ 1, Reveal X green cards from your hand, Sacrifice Martyr of Spores: | NumAtt$ ChosenX | NumDef$ ChosenX | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Target creature gets +X/+X until end of turn. +A:AB$ Pump | Cost$ 1 Reveal Sac<1/CARDNAME> | CostDesc$ 1, Reveal X green cards from your hand, Sacrifice Martyr of Spores: | NumAtt$ ChosenX | NumDef$ ChosenX | References$ X | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Target creature gets +X/+X until end of turn. SVar:X:XChoice SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/m/martyrs_cry.txt b/res/cardsfolder/m/martyrs_cry.txt index 2419332e21b..490716f58c3 100644 --- a/res/cardsfolder/m/martyrs_cry.txt +++ b/res/cardsfolder/m/martyrs_cry.txt @@ -3,9 +3,9 @@ ManaCost:W W Types:Sorcery Text:no text A:SP$ ChangeZoneAll | Cost$ W W | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | ForgetOtherRemembered$ True | ChangeType$ Creature.White+YouCtrl | SubAbility$ DBDrawYou | SpellDescription$ Exile all white creatures. For each creature exiled this way, its controller draws a card. -SVar:DBDrawYou:DB$Draw | NumCards$ X | SubAbility$ DBExileOpp +SVar:DBDrawYou:DB$Draw | NumCards$ X | References$ X | SubAbility$ DBExileOpp SVar:DBExileOpp:DB$ChangeZoneAll | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | ForgetOtherRemembered$ True | ChangeType$ Creature.White+YouDontCtrl | SubAbility$ DBDrawOpp -SVar:DBDrawOpp:DB$Draw | Defined$ Opponent | NumCards$ Y | SubAbility$ DBCleanup +SVar:DBDrawOpp:DB$Draw | Defined$ Opponent | NumCards$ Y | References$ Y | SubAbility$ DBCleanup SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:Y:Remembered$Amount diff --git a/res/cardsfolder/m/martyrs_of_korlis.txt b/res/cardsfolder/m/martyrs_of_korlis.txt index d0653d902cb..43a7d3f929d 100644 --- a/res/cardsfolder/m/martyrs_of_korlis.txt +++ b/res/cardsfolder/m/martyrs_of_korlis.txt @@ -5,8 +5,8 @@ Text:no text PT:1/6 R:Event$ DamageDone | ValidSource$ Artifact | ValidTarget$ You | ReplaceWith$ DmgMartyrsofKorlisSelf | IsCombat$ False | IsPresent$ Card.Self+untapped | Description$ As long as CARDNAME is untapped, all damage that would be dealt to you by artifacts is dealt to CARDNAME instead. R:Event$ DamageDone | ValidSource$ Artifact | ValidTarget$ You | ReplaceWith$ DmgMartyrsofKorlisSelfCombat | IsCombat$ True | IsPresent$ Card.Self+untapped | Secondary$ True | Description$ As long as CARDNAME is untapped, all damage that would be dealt to you by artifacts is dealt to CARDNAME instead. -SVar:DmgMartyrsofKorlisSelf:AB$DealDamage | Cost$ 0 | Defined$ Self | DamageSource$ ReplacedSource | NumDmg$ MartyrsofKorlisX -SVar:DmgMartyrsofKorlisSelfCombat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ Self | DamageSource$ ReplacedSource | NumDmg$ MartyrsofKorlisX +SVar:DmgMartyrsofKorlisSelf:AB$DealDamage | Cost$ 0 | Defined$ Self | DamageSource$ ReplacedSource | NumDmg$ MartyrsofKorlisX | References$ MartyrsofKorlisX +SVar:DmgMartyrsofKorlisSelfCombat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ Self | DamageSource$ ReplacedSource | NumDmg$ MartyrsofKorlisX | References$ MartyrsofKorlisX SVar:MartyrsofKorlisX:ReplaceCount$DamageAmount SVar:Picture:http://www.wizards.com/global/images/magic/general/martyrs_of_korlis.jpg Oracle:As long as Martyrs of Korlis is untapped, all damage that would be dealt to you by artifacts is dealt to Martyrs of Korlis instead. diff --git a/res/cardsfolder/m/mass_appeal.txt b/res/cardsfolder/m/mass_appeal.txt index c0ce1ed1192..6588db27ecf 100644 --- a/res/cardsfolder/m/mass_appeal.txt +++ b/res/cardsfolder/m/mass_appeal.txt @@ -2,7 +2,7 @@ Name:Mass Appeal ManaCost:2 U Types:Sorcery Text:no text -A:SP$ Draw | Cost$ 2 U | NumCards$ X | SpellDescription$ Draw a card for each Human you control. +A:SP$ Draw | Cost$ 2 U | NumCards$ X | References$ X | SpellDescription$ Draw a card for each Human you control. SVar:X:Count$TypeYouCtrl.Human SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/m/mass_polymorph.txt b/res/cardsfolder/m/mass_polymorph.txt index 7464e2da61d..f1a7b11fbf5 100644 --- a/res/cardsfolder/m/mass_polymorph.txt +++ b/res/cardsfolder/m/mass_polymorph.txt @@ -3,7 +3,7 @@ ManaCost:5 U Types:Sorcery Text:no text A:SP$ ChangeZoneAll | Cost$ 5 U | ChangeType$ Creature.YouCtrl | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DBMassReveal | SpellDescription$ Exile all creatures you control, then reveal cards from the top of your library until you reveal that many creature cards. Put all creature cards revealed this way onto the battlefield, then shuffle the rest of the revealed cards into your library. -SVar:DBMassReveal:DB$ DigUntil | Amount$ MassX | Valid$ Creature.YouOwn | ValidDescription$ creature | RevealedDestination$ Library | RevealedLibraryPosition$ 0 | FoundDestination$ Battlefield | SubAbility$ DBMassCleanup +SVar:DBMassReveal:DB$ DigUntil | Amount$ MassX | References$ MassX | Valid$ Creature.YouOwn | ValidDescription$ creature | RevealedDestination$ Library | RevealedLibraryPosition$ 0 | FoundDestination$ Battlefield | SubAbility$ DBMassCleanup SVar:DBMassCleanup:DB$ Cleanup | ClearRemembered$ True | SubAbility$ DBMassShuffle SVar:DBMassShuffle:DB$ Shuffle SVar:MassX:Remembered$Amount diff --git a/res/cardsfolder/m/massacre.txt b/res/cardsfolder/m/massacre.txt index 1b639ad37b2..82dab9c6b79 100644 --- a/res/cardsfolder/m/massacre.txt +++ b/res/cardsfolder/m/massacre.txt @@ -2,7 +2,7 @@ Name:Massacre ManaCost:2 B B Types:Sorcery Text:no text -S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ All | AddHiddenKeyword$ HIDDEN Alternative Cost 0 | CheckSVar$ X | CheckSecondSVar$ Y | Description$ If an opponent controls a Plains and you control a Swamp, you may cast CARDNAME without paying its mana cost. +S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ All | AddHiddenKeyword$ HIDDEN Alternative Cost 0 | CheckSVar$ X | CheckSecondSVar$ Y | References$ X,Y | Description$ If an opponent controls a Plains and you control a Swamp, you may cast CARDNAME without paying its mana cost. SVar:X:Count$Valid Plains.YouDontCtrl SVar:Y:Count$Valid Swamp.YouCtrl A:SP$ PumpAll | Cost$ 2 B B | ValidCards$ Creature | NumAtt$ -2 | NumDef$ -2 | IsCurse$ True | SpellDescription$ All creatures get -2/-2 until end of turn. diff --git a/res/cardsfolder/m/master_of_etherium.txt b/res/cardsfolder/m/master_of_etherium.txt index 7c3f6a4d365..5d0d02815a5 100644 --- a/res/cardsfolder/m/master_of_etherium.txt +++ b/res/cardsfolder/m/master_of_etherium.txt @@ -4,7 +4,7 @@ Types:Artifact Creature Vedalken Wizard Text:no text PT:*/* S:Mode$ Continuous | Affected$ Creature.Artifact+Other+YouCtrl | AddPower$ 1 | AddToughness$ 1 | Description$ Other artifact creatures you control get +1/+1. -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of artifacts you control. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | References$ X | Description$ CARDNAME's power and toughness are each equal to the number of artifacts you control. SVar:X:Count$Valid Artifact.YouCtrl SVar:PlayMain1:TRUE SVar:BuffedBy:Artifact diff --git a/res/cardsfolder/m/masticore.txt b/res/cardsfolder/m/masticore.txt index fc5767d5b1b..543520c2f41 100644 --- a/res/cardsfolder/m/masticore.txt +++ b/res/cardsfolder/m/masticore.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigDiscard | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, sacrifice CARDNAME unless you discard a card. SVar:TrigDiscard:AB$ Discard | Cost$ 0 | NumCards$ 1 | Mode$ TgtChoose | Optional$ True | RememberDiscarded$ True | SubAbility$ DBSacrifice -SVar:DBSacrifice:DB$ Sacrifice | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBCleanup +SVar:DBSacrifice:DB$ Sacrifice | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | References$ X | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount A:AB$ Regenerate | Cost$ 2 | SpellDescription$ Regenerate CARDNAME. diff --git a/res/cardsfolder/m/masumaro_first_to_live.txt b/res/cardsfolder/m/masumaro_first_to_live.txt index dc8b779859f..e90bb10e8e0 100644 --- a/res/cardsfolder/m/masumaro_first_to_live.txt +++ b/res/cardsfolder/m/masumaro_first_to_live.txt @@ -3,7 +3,7 @@ ManaCost:3 G G G Types:Legendary Creature Spirit Text:no text PT:*/* -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to twice the number of cards in your hand. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | References$ X | Description$ CARDNAME's power and toughness are each equal to twice the number of cards in your hand. SVar:X:Count$InYourHand/Times.2 SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/m/matca_rioters.txt b/res/cardsfolder/m/matca_rioters.txt index 361f3cdb701..8197260da03 100644 --- a/res/cardsfolder/m/matca_rioters.txt +++ b/res/cardsfolder/m/matca_rioters.txt @@ -3,7 +3,7 @@ ManaCost:2 G Types:Creature Human Warrior Text:no text PT:*/* -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ Domain - CARDNAME's power and toughness are each equal to the number of basic land types among lands you control. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | References$ X | Description$ Domain - CARDNAME's power and toughness are each equal to the number of basic land types among lands you control. SVar:X:Count$Domain SVar:BuffedBy:Plains,Island,Swamp,Mountain,Forest SVar:RemRandomDeck:True diff --git a/res/cardsfolder/m/megatherium.txt b/res/cardsfolder/m/megatherium.txt index 1308778355f..576d7b2de74 100644 --- a/res/cardsfolder/m/megatherium.txt +++ b/res/cardsfolder/m/megatherium.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 K:Trample T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSac | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you pay 1 for each card in your hand. -SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ Self | UnlessCost$ X | UnlessPayer$ You +SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ Self | UnlessCost$ X | UnlessPayer$ You | References$ X SVar:X:Count$InYourHand SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/m/meglonoth.txt b/res/cardsfolder/m/meglonoth.txt index 79ac8225486..ccac33253ab 100644 --- a/res/cardsfolder/m/meglonoth.txt +++ b/res/cardsfolder/m/meglonoth.txt @@ -6,7 +6,7 @@ PT:6/6 K:Vigilance K:Trample T:Mode$ Blocks | ValidCard$ Card.Self | ValidBlocked$ Creature | TriggerZones$ Battlefield | Execute$ TrigDealDamage | TriggerDescription$ Whenever CARDNAME blocks a creature, CARDNAME deals damage to that creature's controller equal to CARDNAME's power. -SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Defined$ TriggeredAttackerController | NumDmg$ X +SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Defined$ TriggeredAttackerController | NumDmg$ X | References$ X SVar:X:Count$CardPower SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/meglonoth.jpg diff --git a/res/cardsfolder/m/meishin_the_mind_cage.txt b/res/cardsfolder/m/meishin_the_mind_cage.txt index 6a55fdc0c61..bb21627f537 100644 --- a/res/cardsfolder/m/meishin_the_mind_cage.txt +++ b/res/cardsfolder/m/meishin_the_mind_cage.txt @@ -2,7 +2,7 @@ Name:Meishin, the Mind Cage ManaCost:4 U U U Types:Legendary Enchantment Text:no text -S:Mode$ Continuous | Affected$ Creature | AddPower$ X | Description$ All creatures get -X/-0, where X is the number of cards in your hand. +S:Mode$ Continuous | Affected$ Creature | AddPower$ X | References$ X | Description$ All creatures get -X/-0, where X is the number of cards in your hand. SVar:X:Count$InYourHand/Negative SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/m/meltdown.txt b/res/cardsfolder/m/meltdown.txt index 5358ee4c837..b706537574e 100644 --- a/res/cardsfolder/m/meltdown.txt +++ b/res/cardsfolder/m/meltdown.txt @@ -2,7 +2,7 @@ Name:Meltdown ManaCost:X R Types:Sorcery Text:no text -A:SP$ DestroyAll | Cost$ X R | ValidCards$ Artifact.cmcLEX | SpellDescription$ Destroy each artifact with converted mana cost X or less. +A:SP$ DestroyAll | Cost$ X R | ValidCards$ Artifact.cmcLEX | References$ X | SpellDescription$ Destroy each artifact with converted mana cost X or less. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/m/mephitic_ooze.txt b/res/cardsfolder/m/mephitic_ooze.txt index e8131cec00a..229dac1288c 100644 --- a/res/cardsfolder/m/mephitic_ooze.txt +++ b/res/cardsfolder/m/mephitic_ooze.txt @@ -3,7 +3,7 @@ ManaCost:4 B Types:Creature Ooze Text:no text PT:0/5 -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | Description$ CARDNAME gets +1/+0 for each artifact you control. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | References$ X | Description$ CARDNAME gets +1/+0 for each artifact you control. SVar:X:Count$Valid Artifact.YouCtrl T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Creature | CombatDamage$ True | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ Whenever CARDNAME deals combat damage to a creature, destroy that creature. It can't be regenerated. SVar:TrigDestroy:AB$Destroy | Cost$ 0 | Defined$ TriggeredTarget | NoRegen$ True diff --git a/res/cardsfolder/m/mercenary_knight.txt b/res/cardsfolder/m/mercenary_knight.txt index b5f39c3e068..d06955b296c 100644 --- a/res/cardsfolder/m/mercenary_knight.txt +++ b/res/cardsfolder/m/mercenary_knight.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDiscard | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you discard a creature card. SVar:TrigDiscard:AB$ Discard | Cost$ 0 | NumCards$ 1 | DiscardValid$ Creature | Mode$ TgtChoose | Optional$ True | RememberDiscarded$ True | SubAbility$ DBSacSelf -SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 +SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:NeedsToPlayVar:Y GE2 diff --git a/res/cardsfolder/m/mercy_killing.txt b/res/cardsfolder/m/mercy_killing.txt index 307a1534636..d6671794d26 100644 --- a/res/cardsfolder/m/mercy_killing.txt +++ b/res/cardsfolder/m/mercy_killing.txt @@ -3,7 +3,7 @@ ManaCost:2 GW Types:Instant Text:no text A:SP$ Destroy | Cost$ 2 GW | ValidTgts$ Creature | TgtPrompt$ Select target creature | Sacrifice$ True | SubAbility$ DBToken | SpellDescription$ Target creature's controller sacrifices it, then puts X 1/1 green and white Elf Warrior creature tokens onto the battlefield, where X is that creature's power. -SVar:DBToken:DB$ Token | TokenAmount$ X | TokenPower$ 1 | TokenToughness$ 1 | TokenName$ Elf Warrior | TokenTypes$ Creature,Elf,Warrior | TokenColors$ Green,White | TokenOwner$ TargetedController +SVar:DBToken:DB$ Token | TokenAmount$ X | References$ X | TokenPower$ 1 | TokenToughness$ 1 | TokenName$ Elf Warrior | TokenTypes$ Creature,Elf,Warrior | TokenColors$ Green,White | TokenOwner$ TargetedController SVar:X:Targeted$CardPower SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/mercy_killing.jpg diff --git a/res/cardsfolder/m/metalworker.txt b/res/cardsfolder/m/metalworker.txt index 0a36491636f..18547bf7e3d 100644 --- a/res/cardsfolder/m/metalworker.txt +++ b/res/cardsfolder/m/metalworker.txt @@ -4,7 +4,7 @@ Types:Artifact Creature Construct Text:no text PT:1/2 A:AB$ Reveal | Cost$ T | RevealValid$ Card.Artifact+YouCtrl | AnyNumber$ True | RememberRevealed$ True | SubAbility$ DBMetalWorkerMana | SpellDescription$ Reveal any number of artifact cards in your hand. Add 2 to your mana pool for each card revealed this way. -SVar:DBMetalWorkerMana:DB$ Mana | Produced$ 1 | Amount$ MetalWorkerX | SubAbility$ DBMetalWorkerCleanup +SVar:DBMetalWorkerMana:DB$ Mana | Produced$ 1 | Amount$ MetalWorkerX | References$ X | SubAbility$ DBMetalWorkerCleanup SVar:DBMetalWorkerCleanup:DB$ Cleanup | ClearRemembered$ True SVar:MetalWorkerX:Remembered$Amount.Twice SVar:RemAIDeck:True diff --git a/res/cardsfolder/m/metamorphosis.txt b/res/cardsfolder/m/metamorphosis.txt index 87c56eed453..7487916b949 100644 --- a/res/cardsfolder/m/metamorphosis.txt +++ b/res/cardsfolder/m/metamorphosis.txt @@ -2,7 +2,7 @@ Name:Metamorphosis ManaCost:G Types:Sorcery Text:no text -A:SP$ Mana | Cost$ G Sac<1/Creature> | Produced$ Any | Amount$ X | RestrictValid$ Card.Creature | SpellDescription$ Add X mana of any one color to your mana pool, where X is one plus the sacrificed creature's converted mana cost. Spend this mana only to cast creature spells. +A:SP$ Mana | Cost$ G Sac<1/Creature> | Produced$ Any | Amount$ X | References$ X | RestrictValid$ Card.Creature | SpellDescription$ Add X mana of any one color to your mana pool, where X is one plus the sacrificed creature's converted mana cost. Spend this mana only to cast creature spells. SVar:X:Sacrificed$CardManaCost/Plus.1 SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/m/metathran_aerostat.txt b/res/cardsfolder/m/metathran_aerostat.txt index 4036364fc9c..d8f72d2e86c 100644 --- a/res/cardsfolder/m/metathran_aerostat.txt +++ b/res/cardsfolder/m/metathran_aerostat.txt @@ -4,7 +4,7 @@ Types:Creature Metathran Text:no text PT:2/2 K:Flying -A:AB$ ChangeZone | Cost$ X U | Origin$ Hand | Destination$ Battlefield | ChangeType$ Creature.cmcEQX | ChangeNum$ 1 | RememberChanged$ True | SubAbility$ DBReturn | SpellDescription$ You may put a creature card with converted mana cost X from your hand onto the battlefield. If you do, return CARDNAME to its owner's hand. +A:AB$ ChangeZone | Cost$ X U | Origin$ Hand | Destination$ Battlefield | ChangeType$ Creature.cmcEQX | References$ X | ChangeNum$ 1 | RememberChanged$ True | SubAbility$ DBReturn | SpellDescription$ You may put a creature card with converted mana cost X from your hand onto the battlefield. If you do, return CARDNAME to its owner's hand. SVar:DBReturn:DB$ ChangeZone | Origin$ Battlefield | Destination$ Hand | Defined$ Self | ConditionDefined$ Remembered | ConditionPresent$ Creature | ConditionCompare$ EQ1 | SubAbility$ Cleanup SVar:X:Count$xPaid SVar:Cleanup:DB$ Cleanup | ClearRemembered$ True diff --git a/res/cardsfolder/m/midnight_ritual.txt b/res/cardsfolder/m/midnight_ritual.txt index 6c79e6ebb76..d78ddc04766 100644 --- a/res/cardsfolder/m/midnight_ritual.txt +++ b/res/cardsfolder/m/midnight_ritual.txt @@ -2,8 +2,8 @@ Name:Midnight Ritual ManaCost:X 2 B Types:Instant Text:no text -A:SP$ ChangeZone | Cost$ X 2 B | Origin$ Graveyard | Destination$ Exile | TgtPrompt$ Choose target card in a graveyard | ValidTgts$ Creature.YouCtrl | TargetMin$ 0 | TargetMax$ MaxTgts | SubAbility$ DBToken | SpellDescription$ Exile X target creature cards from your graveyard. For each creature card exiled this way, put a 2/2 black Zombie creature token onto the battlefield. -SVar:DBToken:DB$Token | TokenImage$ B 2 2 Zombie | TokenName$ Zombie | TokenColors$ Black | TokenTypes$ Creature,Zombie | TokenPower$ 2 | TokenToughness$ 2 | TokenOwner$ You | TokenAmount$ X +A:SP$ ChangeZone | Cost$ X 2 B | Origin$ Graveyard | Destination$ Exile | TgtPrompt$ Choose target card in a graveyard | ValidTgts$ Creature.YouCtrl | TargetMin$ 0 | TargetMax$ MaxTgts | References$ MaxTgts | SubAbility$ DBToken | SpellDescription$ Exile X target creature cards from your graveyard. For each creature card exiled this way, put a 2/2 black Zombie creature token onto the battlefield. +SVar:DBToken:DB$Token | TokenImage$ B 2 2 Zombie | TokenName$ Zombie | TokenColors$ Black | TokenTypes$ Creature,Zombie | TokenPower$ 2 | TokenToughness$ 2 | TokenOwner$ You | TokenAmount$ X | References$ X SVar:X:Targeted$Amount SVar:MaxTgts:Count$TypeInYourYard.Creature SVar:RemAIDeck:True diff --git a/res/cardsfolder/m/midsummer_revel.txt b/res/cardsfolder/m/midsummer_revel.txt index 11df4c74d90..5e31bcca4d3 100644 --- a/res/cardsfolder/m/midsummer_revel.txt +++ b/res/cardsfolder/m/midsummer_revel.txt @@ -3,7 +3,7 @@ ManaCost:3 G G Types:Enchantment Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, you may put a verse counter on CARDNAME. -A:AB$ Token | Cost$ G Sac<1/CARDNAME> | TokenImage$ G 3 3 Beast | TokenAmount$ X | TokenName$ Beast | TokenTypes$ Creature,Beast | TokenOwner$ You | TokenColors$ Green | TokenPower$ 3 | TokenToughness$ 3 | SpellDescription$ Put X 3/3 green Beast creature tokens onto the battlefield. +A:AB$ Token | Cost$ G Sac<1/CARDNAME> | TokenImage$ G 3 3 Beast | TokenAmount$ X | References$ X | TokenName$ Beast | TokenTypes$ Creature,Beast | TokenOwner$ You | TokenColors$ Green | TokenPower$ 3 | TokenToughness$ 3 | SpellDescription$ Put X 3/3 green Beast creature tokens onto the battlefield. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ VERSE | CounterNum$ 1 SVar:RemAIDeck:True SVar:X:Count$CardCounters.VERSE diff --git a/res/cardsfolder/m/might_of_alara.txt b/res/cardsfolder/m/might_of_alara.txt index 54a4243974b..0d03d3e3313 100644 --- a/res/cardsfolder/m/might_of_alara.txt +++ b/res/cardsfolder/m/might_of_alara.txt @@ -2,7 +2,7 @@ Name:Might of Alara ManaCost:G Types:Instant Text:no text -A:SP$ Pump | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | SpellDescription$ Domain - Target creature gets +1/+1 until end of turn for each basic land type among lands you control. +A:SP$ Pump | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | References$ X | SpellDescription$ Domain - Target creature gets +1/+1 until end of turn for each basic land type among lands you control. SVar:X:Count$Domain SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/m/might_of_old_krosa.txt b/res/cardsfolder/m/might_of_old_krosa.txt index cbbc3072df9..c763eb43c54 100644 --- a/res/cardsfolder/m/might_of_old_krosa.txt +++ b/res/cardsfolder/m/might_of_old_krosa.txt @@ -2,7 +2,7 @@ Name:Might of Old Krosa ManaCost:G Types:Instant Text:no text -A:SP$ Pump | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ X | NumDef$ X | SpellDescription$ Target creature gets +2/+2 until end of turn. If you cast this spell during your main phase, that creature gets +4/+4 until end of turn instead. +A:SP$ Pump | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ X | NumDef$ X | References$ X | SpellDescription$ Target creature gets +2/+2 until end of turn. If you cast this spell during your main phase, that creature gets +4/+4 until end of turn instead. SVar:X:Count$IfMainPhase.4.2 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/might_of_old_krosa.jpg diff --git a/res/cardsfolder/m/might_of_the_masses.txt b/res/cardsfolder/m/might_of_the_masses.txt index f69b73b58c9..8d83ff0f7c1 100644 --- a/res/cardsfolder/m/might_of_the_masses.txt +++ b/res/cardsfolder/m/might_of_the_masses.txt @@ -2,7 +2,7 @@ Name:Might of the Masses ManaCost:G Types:Instant Text:no text -A:SP$ Pump | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | SpellDescription$ Target creature gets +1/+1 until end of turn for each creature you control. +A:SP$ Pump | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | References$ X | SpellDescription$ Target creature gets +1/+1 until end of turn for each creature you control. SVar:X:Count$TypeYouCtrl.Creature SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/might_of_the_masses.jpg diff --git a/res/cardsfolder/m/might_of_the_nephilim.txt b/res/cardsfolder/m/might_of_the_nephilim.txt index 31dde1fb7c5..9491acfb79d 100644 --- a/res/cardsfolder/m/might_of_the_nephilim.txt +++ b/res/cardsfolder/m/might_of_the_nephilim.txt @@ -2,7 +2,7 @@ Name:Might of the Nephilim ManaCost:1 G Types:Instant Text:no text -A:SP$ Pump | Cost$ 1 G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | SpellDescription$ Target creature gets +2/+2 until end of turn for each of its colors. +A:SP$ Pump | Cost$ 1 G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | References$ X | SpellDescription$ Target creature gets +2/+2 until end of turn for each of its colors. SVar:X:Targeted$CardNumColors/Times.2 SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/m/minamo_sightbender.txt b/res/cardsfolder/m/minamo_sightbender.txt index f2fb04b1e0e..7dda5e21d79 100644 --- a/res/cardsfolder/m/minamo_sightbender.txt +++ b/res/cardsfolder/m/minamo_sightbender.txt @@ -3,7 +3,7 @@ ManaCost:1 U Types:Creature Human Wizard Text:no text PT:1/2 -A:AB$ Pump | Cost$ X T | KW$ HIDDEN Unblockable | TgtPrompt$ Select target creature | ValidTgts$ Creature | SpellDescription$ Target creature with power X or less is unblockable this turn. +A:AB$ Pump | Cost$ X T | KW$ HIDDEN Unblockable | TgtPrompt$ Select target creature | ValidTgts$ Creature | References$ X | SpellDescription$ Target creature with power X or less is unblockable this turn. SVar:X:Targeted$CardPower SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/m/mind_burst.txt b/res/cardsfolder/m/mind_burst.txt index 3c7ff329c61..ab04187ecc0 100644 --- a/res/cardsfolder/m/mind_burst.txt +++ b/res/cardsfolder/m/mind_burst.txt @@ -2,7 +2,7 @@ Name:Mind Burst ManaCost:1 B Types:Sorcery Text:no text -A:SP$ Discard | Cost$ 1 B | ValidTgts$ Player | NumCards$ X | Mode$ TgtChoose | SpellDescription$ Target player discards X cards, where X is one plus the number of cards named Mind Burst in all graveyards. +A:SP$ Discard | Cost$ 1 B | ValidTgts$ Player | NumCards$ X | References$ X | Mode$ TgtChoose | SpellDescription$ Target player discards X cards, where X is one plus the number of cards named Mind Burst in all graveyards. SVar:X:Count$NamedInAllYards.Mind Burst/Plus.1 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/mind_burst.jpg diff --git a/res/cardsfolder/m/mind_maggots.txt b/res/cardsfolder/m/mind_maggots.txt index 1993219c325..699487d602a 100644 --- a/res/cardsfolder/m/mind_maggots.txt +++ b/res/cardsfolder/m/mind_maggots.txt @@ -4,10 +4,10 @@ Types:Creature Insect Text:no text PT:2/2 T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ ChooseDiscardCount | TriggerDescription$ When CARDNAME enters the battlefield, discard any number of creature cards. For each card discarded this way, put two +1/+1 counters on CARDNAME. -SVar:ChooseDiscardCount:AB$ ChooseNumber | Cost$ 0 | Defined$ You | Min$ 0 | Max$ MaxChoice | ListTitle$ Discard how many creatures? | SubAbility$ MindMaggotsDiscard +SVar:ChooseDiscardCount:AB$ ChooseNumber | Cost$ 0 | Defined$ You | Min$ 0 | Max$ MaxChoice | References$ MaxChoice | ListTitle$ Discard how many creatures? | SubAbility$ MindMaggotsDiscard # Used ChooseNumber here because otherwise the user must cancel for every valid card not discarded which can make it seem slow or broken. -SVar:MindMaggotsDiscard:DB$ Discard | DiscardValid$ Creature | NumCards$ ChosenMaggots | Optional$ True | Mode$ TgtChoose | RememberDiscarded$ True | SubAbility$ MindMaggotsPutCounter -SVar:MindMaggotsPutCounter:DB$ PutCounter | CounterType$ P1P1 | CounterNum$ MindMaggotsCount | SubAbility$ MindMaggotsCleanup +SVar:MindMaggotsDiscard:DB$ Discard | DiscardValid$ Creature | NumCards$ ChosenMaggots | References$ ChosenMaggots | Optional$ True | Mode$ TgtChoose | RememberDiscarded$ True | SubAbility$ MindMaggotsPutCounter +SVar:MindMaggotsPutCounter:DB$ PutCounter | CounterType$ P1P1 | CounterNum$ MindMaggotsCount | References$ MindMaggotsCount,DiscardedMind | SubAbility$ MindMaggotsCleanup SVar:MindMaggotsCleanup:DB$ Cleanup | ClearRemembered$ True SVar:MaxChoice:Count$TypeInYourHand.Creature SVar:ChosenMaggots:Count$ChosenNumber diff --git a/res/cardsfolder/m/mind_shatter.txt b/res/cardsfolder/m/mind_shatter.txt index 4b17cf90495..37d7172c946 100644 --- a/res/cardsfolder/m/mind_shatter.txt +++ b/res/cardsfolder/m/mind_shatter.txt @@ -2,7 +2,7 @@ Name:Mind Shatter ManaCost:X B B Types:Sorcery Text:no text -A:SP$ Discard | Cost$ X B B | ValidTgts$ Player | NumCards$ X | Mode$ Random | SpellDescription$ Target player discards X cards at random. +A:SP$ Discard | Cost$ X B B | ValidTgts$ Player | NumCards$ X | References$ X | Mode$ Random | SpellDescription$ Target player discards X cards at random. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/m/mind_sludge.txt b/res/cardsfolder/m/mind_sludge.txt index 47424be96dc..8345b402257 100644 --- a/res/cardsfolder/m/mind_sludge.txt +++ b/res/cardsfolder/m/mind_sludge.txt @@ -2,7 +2,7 @@ Name:Mind Sludge ManaCost:4 B Types:Sorcery Text:no text -A:SP$ Discard | Cost$ 4 B | ValidTgts$ Player | NumCards$ X | Mode$ TgtChoose | SpellDescription$ Target player discards a card for each Swamp you control. +A:SP$ Discard | Cost$ 4 B | ValidTgts$ Player | NumCards$ X | References$ X | Mode$ TgtChoose | SpellDescription$ Target player discards a card for each Swamp you control. SVar:X:Count$TypeYouCtrl.Swamp SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/mind_sludge.jpg diff --git a/res/cardsfolder/m/mind_spring.txt b/res/cardsfolder/m/mind_spring.txt index 01907a9b779..354b971aa1c 100644 --- a/res/cardsfolder/m/mind_spring.txt +++ b/res/cardsfolder/m/mind_spring.txt @@ -2,7 +2,7 @@ Name:Mind Spring ManaCost:X U U Types:Sorcery Text:no text -A:SP$ Draw | Cost$ X U U | NumCards$ X | SpellDescription$ Draw X cards. +A:SP$ Draw | Cost$ X U U | NumCards$ X | References$ X | SpellDescription$ Draw X cards. SVar:X:Count$xPaid SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/mind_spring.jpg diff --git a/res/cardsfolder/m/mind_twist.txt b/res/cardsfolder/m/mind_twist.txt index 07e99489dbd..97316a6d5cb 100644 --- a/res/cardsfolder/m/mind_twist.txt +++ b/res/cardsfolder/m/mind_twist.txt @@ -2,7 +2,7 @@ Name:Mind Twist ManaCost:X B Types:Sorcery Text:no text -A:SP$ Discard | Cost$ X B | ValidTgts$ Player | NumCards$ X | Mode$ Random | SpellDescription$ Target player discards X cards at random. +A:SP$ Discard | Cost$ X B | ValidTgts$ Player | NumCards$ X | References$ X | Mode$ Random | SpellDescription$ Target player discards X cards at random. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/m/mind_unbound.txt b/res/cardsfolder/m/mind_unbound.txt index 2a6405159bc..ec7fe90483d 100644 --- a/res/cardsfolder/m/mind_unbound.txt +++ b/res/cardsfolder/m/mind_unbound.txt @@ -4,7 +4,7 @@ Types:Enchantment Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, put a lore counter on CARDNAME, then draw a card for each lore counter on CARDNAME. SVar:TrigPutCounter:AB$ PutCounter | Cost$ 0 | Defined$ Self | CounterType$ LORE | CounterNum$ 1 | SubAbility$ DBDraw -SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X +SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X | References$ X SVar:X:Count$CardCounters.LORE SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/mind_unbound.jpg diff --git a/res/cardsfolder/m/mind_warp.txt b/res/cardsfolder/m/mind_warp.txt index af6908b478e..46d2bea293a 100644 --- a/res/cardsfolder/m/mind_warp.txt +++ b/res/cardsfolder/m/mind_warp.txt @@ -2,7 +2,7 @@ Name:Mind Warp ManaCost:X 3 B Types:Sorcery Text:no text -A:SP$ Discard | Cost$ X 3 B | ValidTgts$ Player | Mode$ RevealYouChoose | NumCards$ X | SpellDescription$ Target player reveals his or her hand. You choose X cards from it. That player discards those cards. +A:SP$ Discard | Cost$ X 3 B | ValidTgts$ Player | Mode$ RevealYouChoose | NumCards$ X | References$ X | SpellDescription$ Target player reveals his or her hand. You choose X cards from it. That player discards those cards. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/m/mindblaze.txt b/res/cardsfolder/m/mindblaze.txt index 88c691428db..d8e8f86fcb5 100644 --- a/res/cardsfolder/m/mindblaze.txt +++ b/res/cardsfolder/m/mindblaze.txt @@ -4,8 +4,8 @@ Types:Sorcery Text:no text A:SP$ NameCard | Cost$ 5 R | ValidCards$ Card.nonLand | ValidDesc$ nonland | SubAbility$ DBChooseNumber | SpellDescription$ Name a nonland card and choose a number greater than 0. Target player reveals his or her library. If that library contains exactly the chosen number of the named card, CARDNAME deals 8 damage to that player. Then that player shuffles his or her library. SVar:DBChooseNumber:DB$ ChooseNumber | Min$ 1 | SubAbility$ DBDig -SVar:DBDig:DB$ Dig | DigNum$ X | ValidTgts$ Player | TgtPrompt$ Select target player | Reveal$ True | NoMove$ True | RememberRevealed$ True | DestinationZone$ Library | LibraryPosition$ 0 | LibraryPosition2$ 0 | SubAbility$ DBDamage -SVar:DBDamage:DB$ DealDamage | NumDmg$ 8 | Defined$ Targeted | ConditionCheckSVar$ Y | ConditionSVarCompare$ EQZ | SubAbility$ DBCleanup +SVar:DBDig:DB$ Dig | DigNum$ X | References$ X | ValidTgts$ Player | TgtPrompt$ Select target player | Reveal$ True | NoMove$ True | RememberRevealed$ True | DestinationZone$ Library | LibraryPosition$ 0 | LibraryPosition2$ 0 | SubAbility$ DBDamage +SVar:DBDamage:DB$ DealDamage | NumDmg$ 8 | Defined$ Targeted | ConditionCheckSVar$ Y | ConditionSVarCompare$ EQZ | References$ Y,Z | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:TargetedPlayer$CardsInLibrary SVar:Y:Remembered$Valid Card.NamedCard diff --git a/res/cardsfolder/m/mindcrank.txt b/res/cardsfolder/m/mindcrank.txt index 94090391516..d392a9d1e2d 100644 --- a/res/cardsfolder/m/mindcrank.txt +++ b/res/cardsfolder/m/mindcrank.txt @@ -3,7 +3,7 @@ ManaCost:2 Types:Artifact Text:no text T:Mode$ LifeLost | ValidPlayer$ Opponent | TriggerZones$ Battlefield | Execute$ TrigMill | TriggerDescription$ Whenever an opponent loses life, that player puts that many cards from the top of his or her library into his or her graveyard. (Damage dealt by sources without infect causes loss of life.) -SVar:TrigMill:AB$Mill | Cost$ 0 | Defined$ Opponent | NumCards$ X +SVar:TrigMill:AB$Mill | Cost$ 0 | Defined$ Opponent | NumCards$ X | References$ X SVar:X:TriggerCount$LifeAmount SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/m/mindmoil.txt b/res/cardsfolder/m/mindmoil.txt index b20950d4f0e..e98232cf1e2 100644 --- a/res/cardsfolder/m/mindmoil.txt +++ b/res/cardsfolder/m/mindmoil.txt @@ -3,8 +3,8 @@ ManaCost:4 R Types:Enchantment Text:no text T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ You | Execute$ TrigChangeZone | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast a spell, put the cards in your hand on the bottom of your library in any order, then draw that many cards. -SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | Origin$ Hand | Destination$ Library | ChangeType$ Card | ChangeNum$ Tossed | RememberChanged$ True | LibraryPosition$ -1 | SubAbility$ DBDraw -SVar:DBDraw:DB$ Draw | NumCards$ RemTossed | SubAbility$ DBCleanup +SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | Origin$ Hand | Destination$ Library | ChangeType$ Card | ChangeNum$ Tossed | References$ Tossed | RememberChanged$ True | LibraryPosition$ -1 | SubAbility$ DBDraw +SVar:DBDraw:DB$ Draw | NumCards$ RemTossed | References$ RemTossed | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:Tossed:Count$InYourHand SVar:RemTossed:Remembered$Amount diff --git a/res/cardsfolder/m/mindshrieker.txt b/res/cardsfolder/m/mindshrieker.txt index 7b181a6cb3e..f4c4bb5be5b 100644 --- a/res/cardsfolder/m/mindshrieker.txt +++ b/res/cardsfolder/m/mindshrieker.txt @@ -5,7 +5,7 @@ Text:no text PT:1/1 K:Flying A:AB$ Mill | Cost$ 2 | ValidTgts$ Player | TgtPrompt$ Select target player | NumCards$ 1 | SubAbility$ DBPump | RememberMilled$ True | SpellDescription$ Target player puts the top card of his or her library into his or her graveyard. Mindshrieker gets +X/+X until end of turn, where X is that card's converted mana cost. -SVar:DBPump:DB$ Pump | Cost$ 0 | Defined$ Self | NumAtt$ +X | NumDef$ +X | SubAbility$ DBCleanup +SVar:DBPump:DB$ Pump | Cost$ 0 | Defined$ Self | NumAtt$ +X | NumDef$ +X | References$ X | SubAbility$ DBCleanup SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:X:Remembered$CardManaCost SVar:Rarity:Uncommon diff --git a/res/cardsfolder/m/minions_murmurs.txt b/res/cardsfolder/m/minions_murmurs.txt index f15612c8036..092788f5e97 100644 --- a/res/cardsfolder/m/minions_murmurs.txt +++ b/res/cardsfolder/m/minions_murmurs.txt @@ -2,8 +2,8 @@ Name:Minions' Murmurs ManaCost:2 B B Types:Sorcery Text:no text -A:SP$ Draw | Cost$ 2 B B | NumCards$ X | SpellDescription$ You draw X cards and you lose X life, where X is the number of creatures you control. | SubAbility$ DB1 -SVar:DB1:DB$LoseLife | LifeAmount$ X +A:SP$ Draw | Cost$ 2 B B | NumCards$ X | References$ X | SpellDescription$ You draw X cards and you lose X life, where X is the number of creatures you control. | SubAbility$ DB1 +SVar:DB1:DB$LoseLife | LifeAmount$ X | References$ X SVar:X:Count$TypeYouCtrl.Creature SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/m/minotaur_illusionist.txt b/res/cardsfolder/m/minotaur_illusionist.txt index 885f4085fda..73fa11f58db 100644 --- a/res/cardsfolder/m/minotaur_illusionist.txt +++ b/res/cardsfolder/m/minotaur_illusionist.txt @@ -4,7 +4,7 @@ Types:Creature Minotaur Wizard Text:no text PT:3/4 A:AB$ Pump | Cost$ 1 U | KW$ Shroud | SpellDescription$ CARDNAME gains shroud until end of turn. -A:AB$ DealDamage | Cost$ R Sac<1/CARDNAME> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to its power to target creature. +A:AB$ DealDamage | Cost$ R Sac<1/CARDNAME> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to its power to target creature. SVar:X:Count$CardPower SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/minotaur_illusionist.jpg diff --git a/res/cardsfolder/m/minotaur_tactician.txt b/res/cardsfolder/m/minotaur_tactician.txt index 8e6b8578bf9..524a7c580dd 100644 --- a/res/cardsfolder/m/minotaur_tactician.txt +++ b/res/cardsfolder/m/minotaur_tactician.txt @@ -4,8 +4,8 @@ Types:Creature Minotaur Text:no text PT:1/1 K:Haste -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 1 | AddToughness$ 1 | CheckSVar$ X | SVarCompare$ GE1 | Description$ CARDNAME gets +1/+1 as long as you control a white creature. -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 1 | AddToughness$ 1 | CheckSVar$ Y | SVarCompare$ GE1 | Description$ CARDNAME gets +1/+1 as long as you control a blue creature. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 1 | AddToughness$ 1 | CheckSVar$ X | SVarCompare$ GE1 | References$ X | Description$ CARDNAME gets +1/+1 as long as you control a white creature. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 1 | AddToughness$ 1 | CheckSVar$ Y | SVarCompare$ GE1 | References$ Y | Description$ CARDNAME gets +1/+1 as long as you control a blue creature. SVar:X:Count$Valid Creature.YouCtrl+White SVar:Y:Count$Valid Creature.YouCtrl+Blue SVar:RemAIDeck:True diff --git a/res/cardsfolder/m/mire_kavu.txt b/res/cardsfolder/m/mire_kavu.txt index 9e6463a1180..c8be2e3055e 100644 --- a/res/cardsfolder/m/mire_kavu.txt +++ b/res/cardsfolder/m/mire_kavu.txt @@ -3,7 +3,7 @@ ManaCost:3 R Types:Creature Kavu Text:no text PT:3/2 -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 1 | AddToughness$ 1 | CheckSVar$ X | SVarCompare$ GE1 | Description$ CARDNAME gets +1/+1 as long as you control a Swamp. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 1 | AddToughness$ 1 | CheckSVar$ X | SVarCompare$ GE1 | References$ X | Description$ CARDNAME gets +1/+1 as long as you control a Swamp. SVar:X:Count$Valid Swamp.YouCtrl SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/m/miren_the_moaning_well.txt b/res/cardsfolder/m/miren_the_moaning_well.txt index c57d80eb0ed..2546f062a20 100644 --- a/res/cardsfolder/m/miren_the_moaning_well.txt +++ b/res/cardsfolder/m/miren_the_moaning_well.txt @@ -2,7 +2,7 @@ Name:Miren, the Moaning Well ManaCost:no cost Types:Legendary Land A:AB$ Mana | Cost$ T | Produced$ 1 | SpellDescription$ Add 1 to your mana pool. -A:AB$ GainLife | Cost$ 3 T Sac<1/Creature> | LifeAmount$ X | SpellDescription$ You gain life equal to the sacrificed creature's toughness. +A:AB$ GainLife | Cost$ 3 T Sac<1/Creature> | LifeAmount$ X | References$ X | SpellDescription$ You gain life equal to the sacrificed creature's toughness. SVar:X:Sacrificed$CardToughness SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/m/mires_toll.txt b/res/cardsfolder/m/mires_toll.txt index ebffd76fe3e..34b60764a9a 100644 --- a/res/cardsfolder/m/mires_toll.txt +++ b/res/cardsfolder/m/mires_toll.txt @@ -2,7 +2,7 @@ Name:Mire's Toll ManaCost:B Types:Sorcery Text:no text -A:SP$ Discard | Cost$ B | ValidTgts$ Player | Mode$ RevealYouChoose | RevealNumber$ X | NumCards$ 1 | SpellDescription$ Target player reveals a number of cards from his or her hand equal to the number of Swamps you control. You choose one of them. That player discards that card. +A:SP$ Discard | Cost$ B | ValidTgts$ Player | Mode$ RevealYouChoose | RevealNumber$ X | References$ X | NumCards$ 1 | SpellDescription$ Target player reveals a number of cards from his or her hand equal to the number of Swamps you control. You choose one of them. That player discards that card. SVar:X:Count$TypeYouCtrl.Swamp SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/mires_toll.jpg diff --git a/res/cardsfolder/m/mirran_mettle.txt b/res/cardsfolder/m/mirran_mettle.txt index 6aac8bd8dc2..32d5c0b5e4b 100644 --- a/res/cardsfolder/m/mirran_mettle.txt +++ b/res/cardsfolder/m/mirran_mettle.txt @@ -2,7 +2,7 @@ Name:Mirran Mettle ManaCost:G Types:Instant Text:no text -A:SP$ Pump | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | SpellDescription$ Target creature gets +2/+2 until end of turn. Metalcraft - That creature gets +4/+4 until end of turn instead if you control three or more artifacts. +A:SP$ Pump | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | References$ X | SpellDescription$ Target creature gets +2/+2 until end of turn. Metalcraft - That creature gets +4/+4 until end of turn instead if you control three or more artifacts. SVar:X:Count$Metalcraft.4.2 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/mirran_mettle.jpg diff --git a/res/cardsfolder/m/mirror_entity.txt b/res/cardsfolder/m/mirror_entity.txt index 7c17f27a312..58f18b9061f 100644 --- a/res/cardsfolder/m/mirror_entity.txt +++ b/res/cardsfolder/m/mirror_entity.txt @@ -4,7 +4,7 @@ Types:Creature Shapeshifter Text:no text PT:1/1 S:Mode$ Continuous | EffectZone$ All | Affected$ Card.Self | CharacteristicDefining$ True | AddType$ AllCreatureTypes | Description$ Changeling (This card is every creature type at all times.) -A:AB$ AnimateAll | Cost$ X | Power$ X | Toughness$ X | Types$ AllCreatureTypes | ValidCards$ Creature.YouCtrl | SpellDescription$ Creatures you control become X/X and gain all creature types until end of turn. +A:AB$ AnimateAll | Cost$ X | Power$ X | Toughness$ X | References$ X | Types$ AllCreatureTypes | ValidCards$ Creature.YouCtrl | SpellDescription$ Creatures you control become X/X and gain all creature types until end of turn. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/m/mirror_mad_phantasm.txt b/res/cardsfolder/m/mirror_mad_phantasm.txt index aaeb0bd79cb..97fdb112c0c 100644 --- a/res/cardsfolder/m/mirror_mad_phantasm.txt +++ b/res/cardsfolder/m/mirror_mad_phantasm.txt @@ -5,7 +5,7 @@ Text:no text PT:5/1 K:Flying A:AB$ ChangeZone | Cost$ 1 U | Defined$ Self | Origin$ Battlefield | Destination $ Library | Shuffle$ True | RememberChanged$ True | SubAbility$ DBDig | SpellDescription$ CARDNAME's owner shuffles it into his or her library. If that player does, he or she reveals cards from the top of that library until a card named CARDNAME is revealed. That player puts that card onto the battlefield and all other cards revealed this way into his or her graveyard. -SVar:DBDig:DB$ DigUntil | Cost$ G T | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | Valid$ Card.namedMirror-Mad Phantasm | ValidDescription$ Mirror-Mad Phantasm | FoundDestination$ Battlefield | RevealedDestination$ Graveyard | SubAbility$ DBCleanup +SVar:DBDig:DB$ DigUntil | Cost$ G T | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X | Valid$ Card.namedMirror-Mad Phantasm | ValidDescription$ Mirror-Mad Phantasm | FoundDestination$ Battlefield | RevealedDestination$ Graveyard | SubAbility$ DBCleanup SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:Rarity:Mythic diff --git a/res/cardsfolder/m/mirror_strike.txt b/res/cardsfolder/m/mirror_strike.txt index a5a9d9a2363..44d04b3533f 100644 --- a/res/cardsfolder/m/mirror_strike.txt +++ b/res/cardsfolder/m/mirror_strike.txt @@ -4,7 +4,7 @@ Types:Instant Text:no text A:SP$ Effect | Cost$ 3 W W | Name$ Mirror Strike Effect | ReplacementEffects$ DamageEvent | SVars$ MirrorStrikeDmg,MirroredX | RememberObjects$ TargetedController | ImprintCards$ Targeted | ValidTgts$ Creature.attacking+unblocked | TgtPrompt$ Select target unblocked creature | IsCurse$ True | SpellDescription$ All combat damage that would be dealt to you this turn by target unblocked creature is dealt to its controller instead. SVar:DamageEvent:Event$ DamageDone | ValidSource$ Creature.IsImprinted | ValidTarget$ You | ReplaceWith$ MirrorStrikeDmg | IsCombat$ True | Description$ All combat damage that would be dealt to you this turn by target unblocked creature is dealt to its controller instead. -SVar:MirrorStrikeDmg:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ Remembered | DamageSource$ ReplacedSource | NumDmg$ MirroredX +SVar:MirrorStrikeDmg:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ Remembered | DamageSource$ ReplacedSource | NumDmg$ MirroredX | References$ MirroredX SVar:MirroredX:ReplaceCount$DamageAmount SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/m/mishras_helix.txt b/res/cardsfolder/m/mishras_helix.txt index eb1a5b1daa7..ddd98c7c51e 100644 --- a/res/cardsfolder/m/mishras_helix.txt +++ b/res/cardsfolder/m/mishras_helix.txt @@ -2,7 +2,7 @@ Name:Mishra's Helix ManaCost:5 Types:Artifact Text:no text -A:AB$ Tap | Cost$ X T | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Land | TgtPrompt$ Select target Land | SpellDescription$ Tap X target lands. +A:AB$ Tap | Cost$ X T | TargetMin$ 0 | TargetMax$ MaxTgts | References$ X,MaxTgts | ValidTgts$ Land | TgtPrompt$ Select target Land | SpellDescription$ Tap X target lands. # It may seem wrong to not use X in the target, but since the Targets are what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Land diff --git a/res/cardsfolder/m/mob_justice.txt b/res/cardsfolder/m/mob_justice.txt index db226df2d31..f4e1cae06f8 100644 --- a/res/cardsfolder/m/mob_justice.txt +++ b/res/cardsfolder/m/mob_justice.txt @@ -2,7 +2,7 @@ Name:Mob Justice ManaCost:1 R Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ 1 R | Tgt$ TgtP | NumDmg$ X | SpellDescription$ CARDNAME deals damage to target player equal to the number of creatures you control. +A:SP$ DealDamage | Cost$ 1 R | Tgt$ TgtP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage to target player equal to the number of creatures you control. SVar:X:Count$TypeYouCtrl.Creature SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/mob_justice.jpg diff --git a/res/cardsfolder/m/mob_mentality.txt b/res/cardsfolder/m/mob_mentality.txt index 25b18dc2bd9..8b1fadb1fb0 100644 --- a/res/cardsfolder/m/mob_mentality.txt +++ b/res/cardsfolder/m/mob_mentality.txt @@ -5,8 +5,8 @@ Text:no text K:Enchant creature A:SP$ Attach | Cost$ R | ValidTgts$ Creature | AILogic$ Pump S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddKeyword$ Trample | Description$ Enchanted creature has trample. -T:Mode$ AttackersDeclared | AttackingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | IsPresent$ Creature.YouCtrl+attacking+nonWall | PresentCompare$ EQX | TriggerDescription$ Whenever all non-Wall creatures you control attack, enchanted creature gets +X/+0 until end of turn, where X is the number of attacking creatures. -SVar:TrigPump:AB$ Pump | Cost$ 0 | Defined$ Enchanted | NumAtt$ X +T:Mode$ AttackersDeclared | AttackingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | IsPresent$ Creature.YouCtrl+attacking+nonWall | PresentCompare$ EQX | References$ X | TriggerDescription$ Whenever all non-Wall creatures you control attack, enchanted creature gets +X/+0 until end of turn, where X is the number of attacking creatures. +SVar:TrigPump:AB$ Pump | Cost$ 0 | Defined$ Enchanted | NumAtt$ X | References$ X SVar:X:Count$Valid Creature.YouCtrl+nonWall SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/mob_mentality.jpg diff --git a/res/cardsfolder/m/mogg_conscripts.txt b/res/cardsfolder/m/mogg_conscripts.txt index a9e531b43f2..5c2f00d98d9 100644 --- a/res/cardsfolder/m/mogg_conscripts.txt +++ b/res/cardsfolder/m/mogg_conscripts.txt @@ -3,7 +3,7 @@ ManaCost:R Types:Creature Goblin Text:no text PT:2/2 -S:Mode$ Continuous | Affected$ Card.Self | AddHiddenKeyword$ HIDDEN CARDNAME can't attack. | CheckSVar$ X | SVarCompare$ EQ0 | Description$ CARDNAME can't attack unless you've cast a creature spell this turn. +S:Mode$ Continuous | Affected$ Card.Self | AddHiddenKeyword$ HIDDEN CARDNAME can't attack. | CheckSVar$ X | SVarCompare$ EQ0 | References$ X | Description$ CARDNAME can't attack unless you've cast a creature spell this turn. SVar:X:Count$ThisTurnCast_Creature.YouCtrl SVar:BuffedBy:Creature SVar:Rarity:Common diff --git a/res/cardsfolder/m/mogg_infestation.txt b/res/cardsfolder/m/mogg_infestation.txt index bd7ef1b7a23..bec52c01994 100644 --- a/res/cardsfolder/m/mogg_infestation.txt +++ b/res/cardsfolder/m/mogg_infestation.txt @@ -3,7 +3,7 @@ ManaCost:3 R R Types:Sorcery Text:no text A:SP$ DestroyAll | Cost$ 3 R R | ValidTgts$ Player | TgtPrompt$ Select target player | ValidCards$ Creature | ValidDescription$ all creatures targeted player controls | RememberDestroyed$ True | SubAbility$ DBTokenInfestation | SpellDescription$ Destroy all creatures target player controls. For each creature that died this way, put two 1/1 red Goblin creature tokens onto the battlefield under that player's control. -SVar:DBTokenInfestation:DB$ Token | TokenAmount$ X | TokenName$ Goblin | TokenTypes$ Creature,Goblin | TokenOwner$ Targeted | TokenColors$ Red | TokenPower$ 1 | TokenToughness$ 1 +SVar:DBTokenInfestation:DB$ Token | TokenAmount$ X | References$ X | TokenName$ Goblin | TokenTypes$ Creature,Goblin | TokenOwner$ Targeted | TokenColors$ Red | TokenPower$ 1 | TokenToughness$ 1 SVar:X:Remembered$Amount.Twice SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/mogg_infestation.jpg diff --git a/res/cardsfolder/m/mogg_maniac.txt b/res/cardsfolder/m/mogg_maniac.txt index a49f0f784ff..496198ba0ef 100644 --- a/res/cardsfolder/m/mogg_maniac.txt +++ b/res/cardsfolder/m/mogg_maniac.txt @@ -4,7 +4,7 @@ Types:Creature Goblin Text:no text PT:1/1 T:Mode$ DamageDone | ValidTarget$ Card.Self | Execute$ TrigDamage | TriggerDescription$ Whenever CARDNAME is dealt damage, it deals that much damage to target opponent. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | NumDmg$ X +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | NumDmg$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/mogg_maniac.jpg diff --git a/res/cardsfolder/m/mogg_salvage.txt b/res/cardsfolder/m/mogg_salvage.txt index a377916ef74..585ff65f44f 100644 --- a/res/cardsfolder/m/mogg_salvage.txt +++ b/res/cardsfolder/m/mogg_salvage.txt @@ -2,7 +2,7 @@ Name:Mogg Salvage ManaCost:2 R Types:Instant Text:no text -S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ All | AddHiddenKeyword$ HIDDEN Alternative Cost 0 | CheckSVar$ X | CheckSecondSVar$ Y | Description$ If an opponent controls an Island and you control a Mountain, you may cast CARDNAME without paying its mana cost. +S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ All | AddHiddenKeyword$ HIDDEN Alternative Cost 0 | CheckSVar$ X | CheckSecondSVar$ Y | References$ X,Y | Description$ If an opponent controls an Island and you control a Mountain, you may cast CARDNAME without paying its mana cost. SVar:X:Count$Valid Island.YouDontCtrl SVar:Y:Count$Valid Mountain.YouCtrl A:SP$ Destroy | Cost$ 2 R | ValidTgts$ Artifact | TgtPrompt$ Select target artifact | SpellDescription$ Destroy target artifact. diff --git a/res/cardsfolder/m/mogg_squad.txt b/res/cardsfolder/m/mogg_squad.txt index 973a844a11e..65504df1d04 100644 --- a/res/cardsfolder/m/mogg_squad.txt +++ b/res/cardsfolder/m/mogg_squad.txt @@ -3,7 +3,7 @@ ManaCost:1 R Types:Creature Goblin Text:no text PT:3/3 -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | Description$ CARDNAME gets -1/-1 for each other creature on the battlefield. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | References$ X | Description$ CARDNAME gets -1/-1 for each other creature on the battlefield. SVar:X:Count$Valid Creature.Other/Negative SVar:AntiBuffedBy:Creature SVar:RemAIDeck:True diff --git a/res/cardsfolder/m/mogg_toady.txt b/res/cardsfolder/m/mogg_toady.txt index 861b102a60c..3e41ddec071 100644 --- a/res/cardsfolder/m/mogg_toady.txt +++ b/res/cardsfolder/m/mogg_toady.txt @@ -3,7 +3,7 @@ ManaCost:1 R Types:Creature Goblin Text:no text PT:2/2 -S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ CARDNAME can't attack. & CARDNAME can't block. | CheckSVar$ X | SVarCompare$ LEY | Description$ CARDNAME can't attack unless you control more creatures than defending player.CARDNAME can't block unless you control more creatures than attacking player. +S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ CARDNAME can't attack. & CARDNAME can't block. | CheckSVar$ X | SVarCompare$ LEY | References$ X,Y | Description$ CARDNAME can't attack unless you control more creatures than defending player.CARDNAME can't block unless you control more creatures than attacking player. SVar:X:Count$Valid Creature.YouCtrl SVar:Y:Count$Valid Creature.YouDontCtrl SVar:BuffedBy:Creature diff --git a/res/cardsfolder/m/mold_demon.txt b/res/cardsfolder/m/mold_demon.txt index 1a4335e411a..69521c52c4b 100644 --- a/res/cardsfolder/m/mold_demon.txt +++ b/res/cardsfolder/m/mold_demon.txt @@ -5,7 +5,7 @@ Text:no text PT:6/6 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSac | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you sacrifice two Swamps. SVar:TrigSac:AB$ Sacrifice | Cost$ 0 | Amount$ 2 | SacValid$ Swamp | RememberSacrificed$ True | Optional$ True | SubAbility$ DBSacSelf -SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT2 +SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT2 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:NeedsToPlayVar:Y GE2 diff --git a/res/cardsfolder/m/molder.txt b/res/cardsfolder/m/molder.txt index b47aa3bd059..c225531a8d0 100644 --- a/res/cardsfolder/m/molder.txt +++ b/res/cardsfolder/m/molder.txt @@ -3,7 +3,7 @@ ManaCost:X G Types:Instant Text:no text A:SP$ Destroy | Cost$ X G | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact | NoRegen$ True | SubAbility$ DBGainLife | SpellDescription$ Destroy target artifact or enchantment with converted mana cost X. It can't be regenerated. You gain X life. -SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X +SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Targeted$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/m/molimo_maro_sorcerer.txt b/res/cardsfolder/m/molimo_maro_sorcerer.txt index 48649aad458..a2309abab7e 100644 --- a/res/cardsfolder/m/molimo_maro_sorcerer.txt +++ b/res/cardsfolder/m/molimo_maro_sorcerer.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Elemental Text:no text PT:*/* K:Trample -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of lands you control. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | References$ X | Description$ CARDNAME's power and toughness are each equal to the number of lands you control. SVar:X:Count$Valid Land.YouCtrl SVar:BuffedBy:Land SVar:Rarity:Rare diff --git a/res/cardsfolder/m/molten_psyche.txt b/res/cardsfolder/m/molten_psyche.txt index fe56ada8659..2edbc195ccb 100644 --- a/res/cardsfolder/m/molten_psyche.txt +++ b/res/cardsfolder/m/molten_psyche.txt @@ -3,11 +3,11 @@ ManaCost:1 R R Types:Sorcery Text:no text A:SP$ ChangeZoneAll | Cost$ 1 R R | Defined$ You | Origin$ Hand | Destination$ Library | LibraryPosition$ -1 | RememberChanged$ True | Shuffle$ True | SubAbility$ PsychoDraw | SpellDescription$ Each player shuffles the cards from his or her hand into his or her library, then draws that many cards. Metalcraft - If you control three or more artifacts, Molten Psyche deals damage to each opponent equal to the number of cards that player has drawn this turn. -SVar:PsychoDraw:DB$Draw | NumCards$ X | Defined$ You | SubAbility$ PsychOpp +SVar:PsychoDraw:DB$Draw | NumCards$ X | References$ X| Defined$ You | SubAbility$ PsychOpp SVar:PsychOpp:DB$ ChangeZoneAll | Defined$ Opponent | Origin$ Hand | Destination$ Library | LibraryPosition$ -1 | RememberChanged$ True | ForgetOtherRemembered$ True | Shuffle$ True | SubAbility$ PsychoDrawOpp -SVar:PsychoDrawOpp:DB$Draw | NumCards$ X | Defined$ Opponent | SubAbility$ DBCleanup +SVar:PsychoDrawOpp:DB$Draw | NumCards$ X | References$ X| Defined$ Opponent | SubAbility$ DBCleanup SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True | SubAbility$ MindFlame -SVar:MindFlame:DB$DealDamage | Defined$ Opponent | NumDmg$ Y | ConditionPresent$ Artifact.YouCtrl | ConditionCompare$ GE3 +SVar:MindFlame:DB$DealDamage | Defined$ Opponent | NumDmg$ Y | References$ Y| ConditionPresent$ Artifact.YouCtrl | ConditionCompare$ GE3 SVar:X:Remembered$Amount SVar:Y:Count$OppDrewThisTurn SVar:NeedsToPlayVar:Z LE2 diff --git a/res/cardsfolder/m/molten_tail_masticore.txt b/res/cardsfolder/m/molten_tail_masticore.txt index 2d3206e8d5d..327375013a6 100644 --- a/res/cardsfolder/m/molten_tail_masticore.txt +++ b/res/cardsfolder/m/molten_tail_masticore.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigDiscard | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, sacrifice CARDNAME unless you discard a card. SVar:TrigDiscard:AB$ Discard | Cost$ 0 | NumCards$ 1 | Mode$ TgtChoose | Optional$ True | RememberDiscarded$ True | SubAbility$ DBSacrifice -SVar:DBSacrifice:DB$ Sacrifice | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBCleanup +SVar:DBSacrifice:DB$ Sacrifice | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | References$ X | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount A:AB$DealDamage | Cost$ 4 ExileFromGrave<1/Creature> | NumDmg$ 4 | Tgt$ TgtCP | SpellDescription$ CARDNAME deals 4 damage to target creature or player. diff --git a/res/cardsfolder/m/momentous_fall.txt b/res/cardsfolder/m/momentous_fall.txt index 6ab3b2c048c..d3e4cb0e513 100644 --- a/res/cardsfolder/m/momentous_fall.txt +++ b/res/cardsfolder/m/momentous_fall.txt @@ -2,8 +2,8 @@ Name:Momentous Fall ManaCost:2 G G Types:Instant Text:no text -A:SP$ Draw | Cost$ 2 G G Sac<1/Creature> | NumCards$ XPower | SubAbility$ DBGainLife | SpellDescription$ You draw cards equal to the sacrificed creature's power, then you gain life equal to its toughness. -SVar:DBGainLife:DB$GainLife | LifeAmount$ XToughness +A:SP$ Draw | Cost$ 2 G G Sac<1/Creature> | NumCards$ XPower | References$ XPower | SubAbility$ DBGainLife | SpellDescription$ You draw cards equal to the sacrificed creature's power, then you gain life equal to its toughness. +SVar:DBGainLife:DB$GainLife | LifeAmount$ XToughness | References$ XToughness SVar:XPower:Sacrificed$CardPower SVar:XToughness:Sacrificed$CardToughness SVar:RemAIDeck:True diff --git a/res/cardsfolder/m/momentum.txt b/res/cardsfolder/m/momentum.txt index d8a6ac0e339..0a2f9595ae6 100644 --- a/res/cardsfolder/m/momentum.txt +++ b/res/cardsfolder/m/momentum.txt @@ -4,7 +4,7 @@ Types:Enchantment Aura Text:no text K:Enchant creature A:SP$ Attach | Cost$ 2 G | ValidTgts$ Creature | AILogic$ Pump -S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ X | AddToughness$ X | Description$ Enchanted creature gets +1/+1 for each growth counter on CARDNAME. +S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ X | AddToughness$ X | References$ X | Description$ Enchanted creature gets +1/+1 for each growth counter on CARDNAME. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, you may put a growth counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ GROWTH | CounterNum$ 1 SVar:X:Count$CardCounters.GROWTH diff --git a/res/cardsfolder/m/monkey_cage.txt b/res/cardsfolder/m/monkey_cage.txt index 67c132b0b25..5a1bd3ccfd7 100644 --- a/res/cardsfolder/m/monkey_cage.txt +++ b/res/cardsfolder/m/monkey_cage.txt @@ -4,7 +4,7 @@ Types:Artifact Text:no text T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature |TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ When a creature enters the battlefield, sacrifice Monkey Cage and put X 2/2 green Ape creature tokens onto the battlefield, where X is that creature's converted mana cost. SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBToken | RememberSacrificed$ True -SVar:DBToken:DB$Token | Cost$ 0 | ConditionDefined$ Remembered | ConditionPresent$ Card.Self | TokenAmount$ X | TokenName$ Ape | TokenTypes$ Creature,Ape | TokenOwner$ You | TokenColors$ Green | TokenPower$ 2 | TokenToughness$ 2 +SVar:DBToken:DB$Token | Cost$ 0 | ConditionDefined$ Remembered | ConditionPresent$ Card.Self | TokenAmount$ X | References$ X | TokenName$ Ape | TokenTypes$ Creature,Ape | TokenOwner$ You | TokenColors$ Green | TokenPower$ 2 | TokenToughness$ 2 SVar:X:TriggeredCard$CardManaCost SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/monkey_cage.jpg diff --git a/res/cardsfolder/m/monstrous_hound.txt b/res/cardsfolder/m/monstrous_hound.txt index fb959675966..32b17a59ea8 100644 --- a/res/cardsfolder/m/monstrous_hound.txt +++ b/res/cardsfolder/m/monstrous_hound.txt @@ -3,7 +3,7 @@ ManaCost:3 R Types:Creature Hound Text:no text PT:4/4 -S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ CARDNAME can't attack. & CARDNAME can't block. | CheckSVar$ X | SVarCompare$ LEY | Description$ CARDNAME can't attack unless you control more lands than defending player. CARDNAME can't block unless you control more lands than attacking player. +S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ CARDNAME can't attack. & CARDNAME can't block. | CheckSVar$ X | SVarCompare$ LEY | References$ X,Y | Description$ CARDNAME can't attack unless you control more lands than defending player. CARDNAME can't block unless you control more lands than attacking player. SVar:X:Count$Valid Land.YouCtrl SVar:Y:Count$Valid Land.YouDontCtrl SVar:Rarity:Rare diff --git a/res/cardsfolder/m/morbid_bloom.txt b/res/cardsfolder/m/morbid_bloom.txt index 33a38173a9b..a816c7c7cbc 100644 --- a/res/cardsfolder/m/morbid_bloom.txt +++ b/res/cardsfolder/m/morbid_bloom.txt @@ -3,7 +3,7 @@ ManaCost:4 B G Types:Sorcery Text:no text A:SP$ ChangeZone | Cost$ 4 B G | Origin$ Graveyard | Destination$ Exile | ValidTgts$ Creature | SubAbility$ DBToken | SpellDescription$ Exile target creature card from a graveyard, then put X 1/1 green Saproling creature tokens onto the battlefield, where X is the exiled card's toughness. -SVar:DBToken:DB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 +SVar:DBToken:DB$Token | Cost$ 0 | TokenAmount$ X | References$ X | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 SVar:X:Targeted$CardToughness SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/morbid_bloom.jpg diff --git a/res/cardsfolder/m/mordant_dragon.txt b/res/cardsfolder/m/mordant_dragon.txt index 4d79bc3f4f5..57898188671 100644 --- a/res/cardsfolder/m/mordant_dragon.txt +++ b/res/cardsfolder/m/mordant_dragon.txt @@ -6,7 +6,7 @@ PT:5/5 K:Flying A:AB$ Pump | Cost$ 1 R | NumAtt$ +1 | SpellDescription$ CARDNAME gets +1/+0 until end of turn. T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | OptionalDecider$ You | Execute$ TrigDamage | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you may have it deal that much damage to target creature that player controls. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature.YouDontCtrl | NumDmg$ X | TgtPrompt$ Select target creature. +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature.YouDontCtrl | NumDmg$ X | References$ X | TgtPrompt$ Select target creature. SVar:X:Count$CardPower SVar:MustBeBlocked:True SVar:Rarity:Rare diff --git a/res/cardsfolder/m/morkrut_banshee.txt b/res/cardsfolder/m/morkrut_banshee.txt index 64f574f13ee..13ee4bf5036 100644 --- a/res/cardsfolder/m/morkrut_banshee.txt +++ b/res/cardsfolder/m/morkrut_banshee.txt @@ -3,7 +3,7 @@ ManaCost:3 B B Types:Creature Spirit Text:no text PT:4/4 -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | CheckSVar$ Morbid | SVarCompare$ GE1 | Execute$ TrigPump | TriggerDescription$ Morbid - When CARDNAME enters the battlefield, if a creature died this turn, target creature gets -4/-4 until end of turn. +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | CheckSVar$ Morbid | SVarCompare$ GE1 | References$ Morbid | Execute$ TrigPump | TriggerDescription$ Morbid - When CARDNAME enters the battlefield, if a creature died this turn, target creature gets -4/-4 until end of turn. SVar:TrigPump:AB$ Pump | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | IsCurse$ True | NumAtt$ -4 | NumDef$ -4 SVar:Morbid:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature SVar:Rarity:Uncommon diff --git a/res/cardsfolder/m/mortis_dogs.txt b/res/cardsfolder/m/mortis_dogs.txt index d02d33fe148..8489af633fc 100644 --- a/res/cardsfolder/m/mortis_dogs.txt +++ b/res/cardsfolder/m/mortis_dogs.txt @@ -6,7 +6,7 @@ PT:2/2 T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, it gets +2/+0 until end of turn. SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ 2 T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigLoseLife | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME is put into a graveyard from the battlefield, target player loses life equal to its power. -SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ MortisX +SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ MortisX | References$ MortisX SVar:MortisX:TriggeredCard$CardPower SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/mortis_dogs.jpg diff --git a/res/cardsfolder/m/mortivore.txt b/res/cardsfolder/m/mortivore.txt index bbba074495a..c5a498e169d 100644 --- a/res/cardsfolder/m/mortivore.txt +++ b/res/cardsfolder/m/mortivore.txt @@ -3,7 +3,7 @@ ManaCost:2 B B Types:Creature Lhurgoyf Text:no text PT:*/* -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of creature cards in all graveyards. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | References$ X | Description$ CARDNAME's power and toughness are each equal to the number of creature cards in all graveyards. SVar:X:Count$TypeInAllYards.Creature A:AB$ Regenerate | Cost$ B | SpellDescription$ Regenerate CARDNAME. SVar:Rarity:Rare diff --git a/res/cardsfolder/m/mountain_titan.txt b/res/cardsfolder/m/mountain_titan.txt index a1378f557c9..72481826a56 100644 --- a/res/cardsfolder/m/mountain_titan.txt +++ b/res/cardsfolder/m/mountain_titan.txt @@ -3,7 +3,7 @@ ManaCost:2 B R Types:Creature Giant Text:no text PT:2/2 -A:AB$ Animate | Cost$ 1 R R | Triggers$ TrigSpellCast | sVars$ TrigPutCounter | SpellDescription$ Until end of turn, whenever you cast a black spell, put a +1/+1 counter on CARDNAME. +A:AB$ Animate | Cost$ 1 R R | Triggers$ TrigSpellCast | SpellDescription$ Until end of turn, whenever you cast a black spell, put a +1/+1 counter on CARDNAME. SVar:TrigSpellCast:Mode$ SpellCast | ValidCard$ Card.Black | ValidActivatingPlayer$ You | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast a black spell, put a +1/+1 counter on CARDNAME. SVar:TrigPutCounter:AB$ PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 SVar:BuffedBy:Card.Black diff --git a/res/cardsfolder/m/mourning_thrull.txt b/res/cardsfolder/m/mourning_thrull.txt index c36d5947016..65928190632 100644 --- a/res/cardsfolder/m/mourning_thrull.txt +++ b/res/cardsfolder/m/mourning_thrull.txt @@ -5,7 +5,7 @@ Text:no text PT:1/1 K:Flying T:Mode$ DamageDone | ValidSource$ Card.Self | Execute$ TrigGain | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals damage, you gain that much life. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/mourning_thrull.jpg diff --git a/res/cardsfolder/m/mudbrawler_cohort.txt b/res/cardsfolder/m/mudbrawler_cohort.txt index 4116b156ebe..717611854e4 100644 --- a/res/cardsfolder/m/mudbrawler_cohort.txt +++ b/res/cardsfolder/m/mudbrawler_cohort.txt @@ -4,7 +4,7 @@ Types:Creature Goblin Warrior Text:no text PT:1/1 K:Haste -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 1 | AddToughness$ 1 | CheckSVar$ X | SVarCompare$ GE1 | Description$ CARDNAME gets +1/+1 as long as you control another red creature. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 1 | AddToughness$ 1 | CheckSVar$ X | SVarCompare$ GE1 | References$ X | Description$ CARDNAME gets +1/+1 as long as you control another red creature. SVar:X:Count$Valid Creature.YouCtrl+Red+Other SVar:BuffedBy:Creature.Red SVar:Rarity:Common diff --git a/res/cardsfolder/m/multani_maro_sorcerer.txt b/res/cardsfolder/m/multani_maro_sorcerer.txt index 1e404404b22..eb143a8bc2c 100644 --- a/res/cardsfolder/m/multani_maro_sorcerer.txt +++ b/res/cardsfolder/m/multani_maro_sorcerer.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Elemental Text:no text PT:*/* K:Shroud -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the total number of cards in all players' hands. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | References$ X | Description$ CARDNAME's power and toughness are each equal to the total number of cards in all players' hands. SVar:X:Count$NumInAllHands SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/multani_maro_sorcerer.jpg diff --git a/res/cardsfolder/m/multanis_decree.txt b/res/cardsfolder/m/multanis_decree.txt index 3ee514d8545..83bcc79c8c8 100644 --- a/res/cardsfolder/m/multanis_decree.txt +++ b/res/cardsfolder/m/multanis_decree.txt @@ -2,7 +2,7 @@ Name:Multani's Decree ManaCost:3 G Types:Sorcery A:SP$ DestroyAll | Cost$ 3 G | ValidCards$ Enchantment | RememberDestroyed$ True | SubAbility$ DBGainLife | SpellDescription$ Destroy all enchantments. You gain 2 life for each enchantment destroyed this way. -SVar:DBGainLife:DB$GainLife | LifeAmount$ X +SVar:DBGainLife:DB$GainLife | LifeAmount$ X | References$ X SVar:X:Remembered$Amount.Twice SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/multanis_decree.jpg diff --git a/res/cardsfolder/m/murasa_pyromancer.txt b/res/cardsfolder/m/murasa_pyromancer.txt index a81f9fab53c..7afcb98adef 100644 --- a/res/cardsfolder/m/murasa_pyromancer.txt +++ b/res/cardsfolder/m/murasa_pyromancer.txt @@ -5,7 +5,7 @@ Text:no text PT:3/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | OptionalDecider$ You | Execute$ TrigDamage | TriggerDescription$ Whenever CARDNAME or another Ally enters the battlefield under your control, you may have CARDNAME deal damage to target creature equal to the number of Allies you control. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Ally.Other+YouCtrl | OptionalDecider$ You | TriggerZones$ Battlefield | Execute$ TrigDamage | Secondary$ True | TriggerDescription$ Whenever CARDNAME or another Ally enters the battlefield under your control, you may have CARDNAME deal damage to target creature equal to the number of Allies you control. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ NumAllies +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ NumAllies | References$ NumAllies SVar:NumAllies:Count$Valid Ally.YouCtrl SVar:PlayMain1:TRUE SVar:BuffedBy:Ally diff --git a/res/cardsfolder/m/murder_of_crows.txt b/res/cardsfolder/m/murder_of_crows.txt index 856c4a2a435..89b9bfc1317 100644 --- a/res/cardsfolder/m/murder_of_crows.txt +++ b/res/cardsfolder/m/murder_of_crows.txt @@ -6,7 +6,7 @@ PT:4/4 K:Flying T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.Other | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ Whenever another creature dies, you may draw a card. If you do, discard a card. SVar:TrigDraw:AB$ Draw | Cost$ 0 | NumCards$ 1 | SubAbility$ DBDiscard | OptionalDecider$ You | RememberDrawn$ True -SVar:DBDiscard:DB$Discard | Defined$ You | NumCards$ 1 | Mode$ TgtChoose | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup +SVar:DBDiscard:DB$Discard | Defined$ You | NumCards$ 1 | Mode$ TgtChoose | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X | SubAbility$ DBCleanup SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:Rarity:Uncommon diff --git a/res/cardsfolder/m/murderous_betrayal.txt b/res/cardsfolder/m/murderous_betrayal.txt index 360c856ceb1..ed21a5a052f 100644 --- a/res/cardsfolder/m/murderous_betrayal.txt +++ b/res/cardsfolder/m/murderous_betrayal.txt @@ -2,7 +2,7 @@ Name:Murderous Betrayal ManaCost:B B B Types:Enchantment Text:no text -A:AB$ Destroy | Cost$ B B PayLife | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target non black creature | NoRegen$ True | CostDesc$ B B, Pay half your life, rounded up: | SpellDescription$ Destroy target nonblack creature. It can't be regenerated. +A:AB$ Destroy | Cost$ B B PayLife | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target non black creature | NoRegen$ True | CostDesc$ B B, Pay half your life, rounded up: | References$ X | SpellDescription$ Destroy target nonblack creature. It can't be regenerated. SVar:X:Count$YourLifeTotal/HalfUp SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/m/murderous_redcap.txt b/res/cardsfolder/m/murderous_redcap.txt index 5c34a1547f2..b3bed303f0e 100644 --- a/res/cardsfolder/m/murderous_redcap.txt +++ b/res/cardsfolder/m/murderous_redcap.txt @@ -5,7 +5,7 @@ Text:no text PT:2/2 K:Persist T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDealDamage | TriggerDescription$ When CARDNAME enters the battlefield, it deals damage equal to its power to target creature or player. -SVar:TrigDealDamage:DB$DealDamage | Cost$ 0 | Tgt$ TgtCP | NumDmg$ X +SVar:TrigDealDamage:DB$DealDamage | Cost$ 0 | Tgt$ TgtCP | NumDmg$ X | References$ X SVar:X:Count$CardPower SVar:PlayMain1:TRUE SVar:Rarity:Uncommon diff --git a/res/cardsfolder/m/muscle_burst.txt b/res/cardsfolder/m/muscle_burst.txt index 4f63f8a0362..cc955f70485 100644 --- a/res/cardsfolder/m/muscle_burst.txt +++ b/res/cardsfolder/m/muscle_burst.txt @@ -2,7 +2,7 @@ Name:Muscle Burst ManaCost:1 G Types:Instant Text:no text -A:SP$ Pump | Cost$ 1 G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | SpellDescription$ Target creature gets +X/+X until end of turn, where X is 3 plus the number of cards named CARDNAME in all graveyards. +A:SP$ Pump | Cost$ 1 G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | References$ X,Y | SpellDescription$ Target creature gets +X/+X until end of turn, where X is 3 plus the number of cards named CARDNAME in all graveyards. SVar:X:Count$NamedInAllYards.Muscle Burst/Plus.Y SVar:Y:Count$NamedInAllYards.Diligent Farmhand/Plus.3 SVar:Rarity:Common diff --git a/res/cardsfolder/m/mutilate.txt b/res/cardsfolder/m/mutilate.txt index e6ace86e6f4..8eef72e42b0 100644 --- a/res/cardsfolder/m/mutilate.txt +++ b/res/cardsfolder/m/mutilate.txt @@ -2,7 +2,7 @@ Name:Mutilate ManaCost:2 B B Types:Sorcery Text:no text -A:SP$ PumpAll | Cost$ 2 B B | ValidCards$ Creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | SpellDescription$ All creatures get -1/-1 until end of turn for each Swamp you control. +A:SP$ PumpAll | Cost$ 2 B B | ValidCards$ Creature | NumAtt$ -X | NumDef$ -X | References$ X | IsCurse$ True | SpellDescription$ All creatures get -1/-1 until end of turn for each Swamp you control. SVar:X:Count$Valid Swamp.YouCtrl SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/m/mwonvuli_ooze.txt b/res/cardsfolder/m/mwonvuli_ooze.txt index c01173ed399..ca14fcf6ddf 100644 --- a/res/cardsfolder/m/mwonvuli_ooze.txt +++ b/res/cardsfolder/m/mwonvuli_ooze.txt @@ -4,7 +4,7 @@ Types:Creature Ooze Text:no text PT:1+*/1+* K:Cumulative upkeep:2 -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ Y | SetToughness$ Y | Description$ CARDNAME's power and toughness are each equal to 1 plus twice the number of age counters on it. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ Y | SetToughness$ Y | References$ X,Y | Description$ CARDNAME's power and toughness are each equal to 1 plus twice the number of age counters on it. SVar:Y:Number$1/Plus.X SVar:X:Count$CardCounters.AGE/Times.2 SVar:Rarity:Rare diff --git a/res/cardsfolder/m/mycoloth.txt b/res/cardsfolder/m/mycoloth.txt index dc2c02daa53..00420bfb7a6 100644 --- a/res/cardsfolder/m/mycoloth.txt +++ b/res/cardsfolder/m/mycoloth.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 K:Devour:2 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ At the beginning of your upkeep, put a 1/1 green Saproling creature token onto the battlefield for each +1/+1 counter on CARDNAME. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenPower$ 1 | TokenToughness$ 1 | TokenColors$ Green +SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | References$ X | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenPower$ 1 | TokenToughness$ 1 | TokenColors$ Green SVar:X:Count$NumCounters.P1P1 SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/mycoloth.jpg diff --git a/res/cardsfolder/m/mycosynth_fiend.txt b/res/cardsfolder/m/mycosynth_fiend.txt index cf1ef9b1ef4..35c0f4d84b3 100644 --- a/res/cardsfolder/m/mycosynth_fiend.txt +++ b/res/cardsfolder/m/mycosynth_fiend.txt @@ -3,7 +3,7 @@ ManaCost:2 G Types:Creature Horror Text:no text PT:2/2 -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | Description$ CARDNAME gets +1/+1 for each poison counter your opponents have. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | References$ X | Description$ CARDNAME gets +1/+1 for each poison counter your opponents have. SVar:X:Count$OppPoisonCounters SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/m/myojin_of_lifes_web.txt b/res/cardsfolder/m/myojin_of_lifes_web.txt index fa2f2848f3a..95bde60bb38 100644 --- a/res/cardsfolder/m/myojin_of_lifes_web.txt +++ b/res/cardsfolder/m/myojin_of_lifes_web.txt @@ -6,7 +6,7 @@ PT:8/8 T:Mode$ ChangesZone | ValidCard$ Card.wasCastFromHand+Self | Destination$ Battlefield | Static$ True | Execute$ ETBCounter | TriggerDescription$ CARDNAME enters the battlefield with a divinity counter on it if you cast it from your hand. SVar:ETBCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ DIVINITY | CounterNum$ 1 S:Mode$ Continuous | Affected$ Card.Self+counters_GE1_DIVINITY | AddKeyword$ Indestructible | Description$ CARDNAME is indestructible as long as it has a divinity counter on it. -A:AB$ ChangeZone | Cost$ SubCounter<1/DIVINITY> | Origin$ Hand | Destination$ Battlefield | ChangeType$ Creature | ChangeNum$ X | SpellDescription$ Put any number of creature cards from your hand onto the battlefield. +A:AB$ ChangeZone | Cost$ SubCounter<1/DIVINITY> | Origin$ Hand | Destination$ Battlefield | ChangeType$ Creature | ChangeNum$ X | References$ X | SpellDescription$ Put any number of creature cards from your hand onto the battlefield. SVar:X:Count$InYourHand.Creature SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/m/myojin_of_seeing_winds.txt b/res/cardsfolder/m/myojin_of_seeing_winds.txt index a59f63870c7..3510cc7c788 100644 --- a/res/cardsfolder/m/myojin_of_seeing_winds.txt +++ b/res/cardsfolder/m/myojin_of_seeing_winds.txt @@ -6,7 +6,7 @@ PT:3/3 T:Mode$ ChangesZone | ValidCard$ Card.wasCastFromHand+Self | Destination$ Battlefield | Static$ True | Execute$ ETBCounter | TriggerDescription$ CARDNAME enters the battlefield with a divinity counter on it if you cast it from your hand. SVar:ETBCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ DIVINITY | CounterNum$ 1 S:Mode$ Continuous | Affected$ Card.Self+counters_GE1_DIVINITY | AddKeyword$ Indestructible | Description$ CARDNAME is indestructible as long as it has a divinity counter on it. -A:AB$ Draw | Cost$ SubCounter<1/DIVINITY> | NumCards$ X | SpellDescription$ Draw a card for each permanent you control. +A:AB$ Draw | Cost$ SubCounter<1/DIVINITY> | NumCards$ X | References$ X | SpellDescription$ Draw a card for each permanent you control. SVar:X:Count$Valid Permanent.YouCtrl SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/m/myr_adapter.txt b/res/cardsfolder/m/myr_adapter.txt index a9a232c1a19..b9d04981d16 100644 --- a/res/cardsfolder/m/myr_adapter.txt +++ b/res/cardsfolder/m/myr_adapter.txt @@ -3,7 +3,7 @@ ManaCost:3 Types:Artifact Creature Myr Text:no text PT:1/1 -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | Description$ CARDNAME gets +1/+1 for each Equipment attached to it. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | References$ X | Description$ CARDNAME gets +1/+1 for each Equipment attached to it. SVar:X:Count$Valid Equipment.Attached SVar:EquipMe:Multiple SVar:Rarity:Common diff --git a/res/cardsfolder/m/myr_battlesphere.txt b/res/cardsfolder/m/myr_battlesphere.txt index 5e7aa66b5ca..67a4f2bc2d6 100644 --- a/res/cardsfolder/m/myr_battlesphere.txt +++ b/res/cardsfolder/m/myr_battlesphere.txt @@ -5,7 +5,7 @@ PT:4/7 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters the battlefield, put four 1/1 colorless Myr artifact creature tokens onto the battlefield. SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ 4 | TokenName$ Myr | TokenTypes$ Artifact,Creature,Myr | TokenOwner$ You | TokenColors$ Colorless | TokenPower$ 1 | TokenToughness$ 1 T:Mode$ Attacks | ValidCard$ Card.Self | OptionalDecider$ You | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, you may tap X untapped Myr you control. If you do, CARDNAME gets +X/+0 until end of turn and deals X damage to defending player. -SVar:TrigPump:AB$ Pump | Cost$ tapXType | NumAtt$ +ChosenX | NumDef$ +0 | SubAbility$ DBDealDamage +SVar:TrigPump:AB$ Pump | Cost$ tapXType | References$ X | NumAtt$ +ChosenX | NumDef$ +0 | SubAbility$ DBDealDamage SVar:DBDealDamage:DB$ DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ ChosenX | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearChosenX$ True SVar:X:XChoice diff --git a/res/cardsfolder/m/myr_incubator.txt b/res/cardsfolder/m/myr_incubator.txt index cf4f0006533..c1cbfa9b9ff 100644 --- a/res/cardsfolder/m/myr_incubator.txt +++ b/res/cardsfolder/m/myr_incubator.txt @@ -2,8 +2,8 @@ Name:Myr Incubator ManaCost:6 Types:Artifact Text:no text -A:AB$ ChangeZone | Cost$ 6 Sac<1/CARDNAME> | Origin$ Library | Destination$ Exile | ChangeType$ Artifact | ChangeNum$ X | RememberChanged$ True | ForgetOtherRemembered$ True | Shuffle$ True | SubAbility$ Token | SpellDescription$ Search your library for any number of artifact cards, exile them, then put that many 1/1 colorless Myr artifact creature tokens onto the battlefield. Then shuffle your library. -SVar:Token:DB$Token | TokenAmount$ Y | TokenName$ Myr | TokenTypes$ Artifact,Creature,Myr | TokenOwner$ You | TokenColors$ Colorless | TokenPower$ 1 | TokenToughness$ 1 | SubAbility$ DBCleanup +A:AB$ ChangeZone | Cost$ 6 Sac<1/CARDNAME> | Origin$ Library | Destination$ Exile | ChangeType$ Artifact | ChangeNum$ X | References$ X | RememberChanged$ True | ForgetOtherRemembered$ True | Shuffle$ True | SubAbility$ Token | SpellDescription$ Search your library for any number of artifact cards, exile them, then put that many 1/1 colorless Myr artifact creature tokens onto the battlefield. Then shuffle your library. +SVar:Token:DB$Token | TokenAmount$ Y | References$ Y | TokenName$ Myr | TokenTypes$ Artifact,Creature,Myr | TokenOwner$ You | TokenColors$ Colorless | TokenPower$ 1 | TokenToughness$ 1 | SubAbility$ DBCleanup SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:X:Count$InYourLibrary.Artifact SVar:Y:Remembered$Amount diff --git a/res/cardsfolder/m/mysteries_of_the_deep.txt b/res/cardsfolder/m/mysteries_of_the_deep.txt index 39f90d677db..f77e3246806 100644 --- a/res/cardsfolder/m/mysteries_of_the_deep.txt +++ b/res/cardsfolder/m/mysteries_of_the_deep.txt @@ -2,7 +2,7 @@ Name:Mysteries of the Deep ManaCost:4 U Types:Instant Text:no text -A:SP$ Draw | Cost$ 4 U | NumCards$ X | SpellDescription$ Draw two cards. Landfall - If you had a land enter the battlefield under your control this turn, draw three cards instead. +A:SP$ Draw | Cost$ 4 U | NumCards$ X | References$ X | SpellDescription$ Draw two cards. Landfall - If you had a land enter the battlefield under your control this turn, draw three cards instead. SVar:X:Count$Landfall.3.2 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/mysteries_of_the_deep.jpg diff --git a/res/cardsfolder/n/nameless_one.txt b/res/cardsfolder/n/nameless_one.txt index f9e5a0a0e59..30a9ff9a69d 100644 --- a/res/cardsfolder/n/nameless_one.txt +++ b/res/cardsfolder/n/nameless_one.txt @@ -4,7 +4,7 @@ Types:Creature Wizard Avatar Text:no text PT:*/* K:Morph:2 U -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | CheckSVar$ Y | SVarCompare$ EQ1 | Description$ CARDNAME's power and toughness are each equal to the number of Wizards on the battlefield. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | CheckSVar$ Y | SVarCompare$ EQ1 | References$ X,Y | Description$ CARDNAME's power and toughness are each equal to the number of Wizards on the battlefield. SVar:X:Count$Valid Wizard SVar:Y:Count$Valid Card.Self+faceUp SVar:BuffedBy:Wizard diff --git a/res/cardsfolder/n/nantuko_blightcutter.txt b/res/cardsfolder/n/nantuko_blightcutter.txt index 074d6565950..ea696cfe6d6 100644 --- a/res/cardsfolder/n/nantuko_blightcutter.txt +++ b/res/cardsfolder/n/nantuko_blightcutter.txt @@ -4,7 +4,7 @@ Types:Creature Insect Druid Text:no text PT:2/2 K:Protection from black -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | Threshold$ True | Description$ Threshold - CARDNAME gets +1/+1 for each black permanent your opponents control as long as seven or more cards are in your graveyard. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | References$ X | Threshold$ True | Description$ Threshold - CARDNAME gets +1/+1 for each black permanent your opponents control as long as seven or more cards are in your graveyard. SVar:X:Count$Valid Permanent.Black+YouDontCtrl SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/nantuko_blightcutter.jpg diff --git a/res/cardsfolder/n/nantuko_cultivator.txt b/res/cardsfolder/n/nantuko_cultivator.txt index 3c14c155a36..294f4aa13be 100644 --- a/res/cardsfolder/n/nantuko_cultivator.txt +++ b/res/cardsfolder/n/nantuko_cultivator.txt @@ -4,9 +4,9 @@ Types:Creature Insect Druid Text:no text PT:2/2 T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigNantukoDiscardLand | TriggerDescription$ When CARDNAME enters the battlefield, you may discard any number of land cards. Put that many +1/+1 counters on CARDNAME and draw that many cards. -SVar:TrigNantukoDiscardLand:AB$ Discard | Cost$ 0 | DiscardValid$ Land | NumCards$ NantukoX | Optional$ True | Mode$ TgtChoose | RememberDiscarded$ True | SubAbility$ DBNantukoPutCounter -SVar:DBNantukoPutCounter:DB$ PutCounter | CounterType$ P1P1 | CounterNum$ NantukoY | SubAbility$ DBNantukoDraw -SVar:DBNantukoDraw:DB$ Draw | NumCards$ NantukoY | SubAbility$ DBNantukoCleanup +SVar:TrigNantukoDiscardLand:AB$ Discard | Cost$ 0 | DiscardValid$ Land | NumCards$ NantukoX | References$ NantukoX | Optional$ True | Mode$ TgtChoose | RememberDiscarded$ True | SubAbility$ DBNantukoPutCounter +SVar:DBNantukoPutCounter:DB$ PutCounter | CounterType$ P1P1 | CounterNum$ NantukoY | References$ NantukoY | SubAbility$ DBNantukoDraw +SVar:DBNantukoDraw:DB$ Draw | NumCards$ NantukoY | References$ NantukoY | SubAbility$ DBNantukoCleanup SVar:DBNantukoCleanup:DB$ Cleanup | ClearRemembered$ True SVar:NantukoX:Count$TypeInYourHand.Land SVar:NantukoY:Remembered$Amount diff --git a/res/cardsfolder/n/nantuko_mentor.txt b/res/cardsfolder/n/nantuko_mentor.txt index b77ca9044c6..2b36bede4b1 100644 --- a/res/cardsfolder/n/nantuko_mentor.txt +++ b/res/cardsfolder/n/nantuko_mentor.txt @@ -3,7 +3,7 @@ ManaCost:2 G Types:Creature Insect Druid Text:no text PT:1/1 -A:AB$ Pump | Cost$ 2 G T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ X | NumDef$ X | SpellDescription$ Target creature gets +X/+X until end of turn, where X is that creature's power. +A:AB$ Pump | Cost$ 2 G T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ X | NumDef$ X | References$ X | SpellDescription$ Target creature gets +X/+X until end of turn, where X is that creature's power. SVar:X:Targeted$CardPower SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/n/natures_resurgence.txt b/res/cardsfolder/n/natures_resurgence.txt index 7ecba210a23..c01d74575fe 100644 --- a/res/cardsfolder/n/natures_resurgence.txt +++ b/res/cardsfolder/n/natures_resurgence.txt @@ -2,8 +2,8 @@ Name:Nature's Resurgence ManaCost:2 G G Types:Sorcery Text:no text -A:SP$ Draw | Cost$ 2 G G | Defined$ You | NumCards$ X | SubAbility$ DBDrawOpp | SpellDescription$ Each player draws a card for each creature card in his or her graveyard. -SVar:DBDrawOpp:DB$Draw | Defined$ Opponent | NumCards$ Y +A:SP$ Draw | Cost$ 2 G G | Defined$ You | NumCards$ X | References$ X| SubAbility$ DBDrawOpp | SpellDescription$ Each player draws a card for each creature card in his or her graveyard. +SVar:DBDrawOpp:DB$Draw | Defined$ Opponent | NumCards$ Y | References$ Y SVar:X:Count$TypeInYourYard.Creature SVar:Y:Count$TypeInOppYard.Creature SVar:Rarity:Rare diff --git a/res/cardsfolder/n/naya_hushblade.txt b/res/cardsfolder/n/naya_hushblade.txt index 3cf37ddf120..efe220a7457 100644 --- a/res/cardsfolder/n/naya_hushblade.txt +++ b/res/cardsfolder/n/naya_hushblade.txt @@ -3,7 +3,7 @@ ManaCost:RW G Types:Creature Elf Rogue Text:no text PT:2/1 -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 1 | AddToughness$ 1 | AddKeyword$ Shroud | CheckSVar$ X | SVarCompare$ GE1 | Description$ As long as you control another multicolored permanent, CARDNAME gets +1/+1 and has shroud. (It can't be the target of spells or abilities.) +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 1 | AddToughness$ 1 | AddKeyword$ Shroud | CheckSVar$ X | SVarCompare$ GE1 | References$ X | Description$ As long as you control another multicolored permanent, CARDNAME gets +1/+1 and has shroud. (It can't be the target of spells or abilities.) SVar:X:Count$Valid Permanent.MultiColor+Other+YouCtrl SVar:BuffedBy:Permanent.MultiColor SVar:Rarity:Common diff --git a/res/cardsfolder/n/necra_sanctuary.txt b/res/cardsfolder/n/necra_sanctuary.txt index 8f7a6bd11eb..f8dd7d36772 100644 --- a/res/cardsfolder/n/necra_sanctuary.txt +++ b/res/cardsfolder/n/necra_sanctuary.txt @@ -2,9 +2,9 @@ Name:Necra Sanctuary ManaCost:2 B Types:Enchantment Text:no text -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | CheckSVar$ X | SVarCompare$ GE1 | Execute$ TrigLoseLife | TriggerDescription$ At the beginning of your upkeep, if you control a green or white permanent, target player loses 1 life. If you control a green permanent and a white permanent, that player loses 3 life instead. -SVar:TrigLoseLife:DB$LoseLife | Cost$ 0 | ValidTgts$ Player | TgtPrompt$ Select target player to lose life | LifeAmount$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | SubAbility$ DBLoseLife -SVar:DBLoseLife:DB$LoseLife | Cost$ 0 | Defined$ Targeted | LifeAmount$ 3 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE2 +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigLoseLife | TriggerDescription$ At the beginning of your upkeep, if you control a green or white permanent, target player loses 1 life. If you control a green permanent and a white permanent, that player loses 3 life instead. +SVar:TrigLoseLife:DB$LoseLife | Cost$ 0 | ValidTgts$ Player | TgtPrompt$ Select target player to lose life | LifeAmount$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | References$ X,Y,Z | SubAbility$ DBLoseLife +SVar:DBLoseLife:DB$LoseLife | Cost$ 0 | Defined$ Targeted | LifeAmount$ 3 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE2 | References$ X,Y,Z SVar:Y:Count$Valid Permanent.Green+YouCtrl/LimitMax.1 SVar:Z:Count$Valid Permanent.White+YouCtrl/LimitMax.1 SVar:X:SVar$Y/Plus.Z diff --git a/res/cardsfolder/n/necrologia.txt b/res/cardsfolder/n/necrologia.txt index aded3357ab0..37ce2ebf39a 100644 --- a/res/cardsfolder/n/necrologia.txt +++ b/res/cardsfolder/n/necrologia.txt @@ -2,7 +2,7 @@ Name:Necrologia ManaCost:3 B B Types:Instant Text:Cast CARDNAME only during your end step.\r\n -A:SP$ Draw | Cost$ 3 B B PayLife | NumCards$ ChosenX | Defined$ You | ActivationPhases$ End of Turn | PlayerTurn$ True | SpellDescription$ Draw X cards. +A:SP$ Draw | Cost$ 3 B B PayLife | NumCards$ ChosenX | Defined$ You | ActivationPhases$ End of Turn | PlayerTurn$ True | References$ X | SpellDescription$ Draw X cards. SVar:X:XChoice #ChosenX SVar created by Cost payment SVar:RemAIDeck:True diff --git a/res/cardsfolder/n/necromancers_covenant.txt b/res/cardsfolder/n/necromancers_covenant.txt index 6c959fcc655..d7ec567cdbd 100644 --- a/res/cardsfolder/n/necromancers_covenant.txt +++ b/res/cardsfolder/n/necromancers_covenant.txt @@ -4,7 +4,7 @@ Types:Enchantment Text:no text T:Mode$ ChangesZone | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChange | TriggerDescription$ When CARDNAME enters the battlefield, exile all creature cards from target player's graveyard, then put a 2/2 black Zombie creature token onto the battlefield for each card exiled this way. SVar:TrigChange:DB$ ChangeZoneAll | Cost$ 0 | ValidTgts$ Player | TgtPrompt$ Select target player | Origin$ Graveyard | Destination$ Exile | ChangeType$ Creature | RememberChanged$ True | ForgetOtherRemembered$ True | SubAbility$ DBToken -SVar:DBToken:DB$ Token | TokenImage$ B 2 2 Zombie | TokenName$ Zombie | TokenColors$ Black | TokenTypes$ Creature,Zombie | TokenPower$ 2 | TokenToughness$ 2 | TokenOwner$ You | TokenAmount$ X | SubAbility$ DBClearRemember +SVar:DBToken:DB$ Token | TokenImage$ B 2 2 Zombie | TokenName$ Zombie | TokenColors$ Black | TokenTypes$ Creature,Zombie | TokenPower$ 2 | TokenToughness$ 2 | TokenOwner$ You | TokenAmount$ X | References$ X | SubAbility$ DBClearRemember S:Mode$ Continuous | Affected$ Zombie.YouCtrl | AddKeyword$ Lifelink | Description$ Zombies you control have lifelink. SVar:DBClearRemember:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount diff --git a/res/cardsfolder/n/necroplasm.txt b/res/cardsfolder/n/necroplasm.txt index a59f7dc93b0..c16d48ff6b6 100644 --- a/res/cardsfolder/n/necroplasm.txt +++ b/res/cardsfolder/n/necroplasm.txt @@ -7,7 +7,7 @@ K:Dredge 2 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, put a +1/+1 counter on CARDNAME. T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ At the beginning of your end step, destroy each creature with converted mana cost equal to the number of +1/+1 counters on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 -SVar:TrigDestroy:AB$DestroyAll | Cost$ 0 | ValidCards$ Creature.cmcEQX +SVar:TrigDestroy:AB$DestroyAll | Cost$ 0 | ValidCards$ Creature.cmcEQX | References$ X SVar:X:Count$CardCounters.P1P1 SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/n/necropolis.txt b/res/cardsfolder/n/necropolis.txt index 3d2bae3a8d8..6d587c4b00a 100644 --- a/res/cardsfolder/n/necropolis.txt +++ b/res/cardsfolder/n/necropolis.txt @@ -4,7 +4,7 @@ Types:Artifact Creature Wall Text:no text PT:0/1 K:Defender -A:AB$ PutCounter | Cost$ ExileFromGrave<1/Creature> | CounterType$ P0P1 | CounterNum$ X | SpellDescription$ Put X +0/+1 counters on CARDNAME, where X is the exiled card's converted mana cost. +A:AB$ PutCounter | Cost$ ExileFromGrave<1/Creature> | CounterType$ P0P1 | CounterNum$ X | References$ X | SpellDescription$ Put X +0/+1 counters on CARDNAME, where X is the exiled card's converted mana cost. SVar:X:Exiled$CardManaCost SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/necropolis.jpg diff --git a/res/cardsfolder/n/needle_specter.txt b/res/cardsfolder/n/needle_specter.txt index 94da358ac21..3f24a319d7a 100644 --- a/res/cardsfolder/n/needle_specter.txt +++ b/res/cardsfolder/n/needle_specter.txt @@ -6,7 +6,7 @@ PT:1/1 K:Flying K:Wither T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigDiscard | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, that player discards that many cards. -SVar:TrigDiscard:AB$Discard | Cost$ 0 | Defined$ TriggeredTarget | NumCards$ X | Mode$ TgtChoose +SVar:TrigDiscard:AB$Discard | Cost$ 0 | Defined$ TriggeredTarget | NumCards$ X | References$ X | Mode$ TgtChoose SVar:X:TriggerCount$DamageAmount SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/needle_specter.jpg diff --git a/res/cardsfolder/n/netherborn_phalanx.txt b/res/cardsfolder/n/netherborn_phalanx.txt index fe1a6ccae7d..abf97352465 100644 --- a/res/cardsfolder/n/netherborn_phalanx.txt +++ b/res/cardsfolder/n/netherborn_phalanx.txt @@ -5,7 +5,7 @@ Text:no text PT:2/4 K:Transmute:1 B B T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigLoseLife | TriggerDescription$ When CARDNAME enters the battlefield, each opponent loses 1 life for each creature he or she controls. -SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ Opponent | LifeAmount$ X +SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ Opponent | LifeAmount$ X | References$ X SVar:X:Count$Valid Creature.YouDontCtrl SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/netherborn_phalanx.jpg diff --git a/res/cardsfolder/n/neurok_spy.txt b/res/cardsfolder/n/neurok_spy.txt index 7f0232598d3..2df9166c9f4 100644 --- a/res/cardsfolder/n/neurok_spy.txt +++ b/res/cardsfolder/n/neurok_spy.txt @@ -3,7 +3,7 @@ ManaCost:2 U Types:Creature Human Rogue Text:no text PT:2/2 -S:Mode$ Continuous | Affected$ Card.Self | AddHiddenKeyword$ HIDDEN Unblockable | CheckSVar$ X | SVarCompare$ GE1 | Description$ CARDNAME is unblockable as long as defending player controls an artifact. +S:Mode$ Continuous | Affected$ Card.Self | AddHiddenKeyword$ HIDDEN Unblockable | CheckSVar$ X | SVarCompare$ GE1 | References$ X | Description$ CARDNAME is unblockable as long as defending player controls an artifact. SVar:X:Count$Valid Artifact.YouDontCtrl SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/neurok_spy.jpg diff --git a/res/cardsfolder/n/neverending_torment.txt b/res/cardsfolder/n/neverending_torment.txt index 1bb32021af2..23487b9de82 100644 --- a/res/cardsfolder/n/neverending_torment.txt +++ b/res/cardsfolder/n/neverending_torment.txt @@ -3,7 +3,7 @@ ManaCost:4 B B Types:Sorcery Text:no text K:Epic -A:SP$ ChangeZone | Cost$ 4 B B | Origin$ Library | Destination$ Exile | ValidTgts$ Player | ChangeType$ Card | ChangeNum$ X | IsCurse$ True | SpellDescription$ Search target player's library for X cards, where X is the number of cards in your hand, and exile it. Then that player shuffles his or her library. +A:SP$ ChangeZone | Cost$ 4 B B | Origin$ Library | Destination$ Exile | ValidTgts$ Player | ChangeType$ Card | ChangeNum$ X | References$ X | IsCurse$ True | SpellDescription$ Search target player's library for X cards, where X is the number of cards in your hand, and exile it. Then that player shuffles his or her library. SVar:X:Count$InYourHand SVar:Rarity:Rare SVar:RemAIDeck:True diff --git a/res/cardsfolder/n/nezumi_graverobber_nighteyes_the_desecrator.txt b/res/cardsfolder/n/nezumi_graverobber_nighteyes_the_desecrator.txt index 75b19e55d24..b35ac57457a 100644 --- a/res/cardsfolder/n/nezumi_graverobber_nighteyes_the_desecrator.txt +++ b/res/cardsfolder/n/nezumi_graverobber_nighteyes_the_desecrator.txt @@ -4,12 +4,12 @@ Types:Creature Rat Rogue Text:no text PT:2/1 A:AB$ ChangeZone | Cost$ 1 B | Origin$ Graveyard | Destination$ Exile | ValidTgts$ Card.YouDontCtrl | SubAbility$ DBFlip | SpellDescription$ Exile target card from an opponent's graveyard. If no cards are in that graveyard, flip CARDNAME. -SVar:DBFlip:DB$SetState | Defined$ Self | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | Mode$ Flip +SVar:DBFlip:DB$SetState | Defined$ Self | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | References$ X | Mode$ Flip SVar:X:Count$InOppYard AlternateMode:Flip SVar:Picture:http://www.wizards.com/global/images/magic/general/nezumi_graverobber.jpg -SetInfo:CHK|Uncommon|http://magiccards.info/scans/en/chk/129.jpg -#SetInfo:COM|Uncommon|http://magiccards.info/scans/en/cmd/92.jpg +SetInfo:CHK|Uncommon|http://magiccards.info/scans/en/chk/129a.jpg +#SetInfo:COM|Uncommon|http://magiccards.info/scans/en/cmd/92a.jpg Oracle:{1}{B}: Exile target card from an opponent's graveyard. If no cards are in that graveyard, flip Nezumi Graverobber. #I removed the Commander SetInfo because magiccards doesn't have a properly flipped image for COM Nighteyes. @@ -23,7 +23,7 @@ Text:no text PT:4/2 A:AB$ ChangeZone | Cost$ 4 B | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | ValidTgts$ Creature | TgtPrompt$ Select target creature. | SpellDescription$ Put target creature card from a graveyard onto the battlefield under your control. SVar:Picture:http://www.wizards.com/global/images/magic/general/nighteyes_the_desecrator.jpg -SetInfo:CHK|Uncommon|http://magiccards.info/scans/en/chk/311.jpg -#SetInfo:COM|Uncommon|http://magiccards.info/scans/en/cmd/92.jpg +SetInfo:CHK|Uncommon|http://magiccards.info/scans/en/chk/129b.jpg +#SetInfo:COM|Uncommon|http://magiccards.info/scans/en/cmd/92b.jpg Oracle:{4}{B}: Put target creature card from a graveyard onto the battlefield under your control. End \ No newline at end of file diff --git a/res/cardsfolder/n/nezumi_shortfang_stabwhisker_the_odious.txt b/res/cardsfolder/n/nezumi_shortfang_stabwhisker_the_odious.txt index 3b8cc52528e..a77fd4d6268 100644 --- a/res/cardsfolder/n/nezumi_shortfang_stabwhisker_the_odious.txt +++ b/res/cardsfolder/n/nezumi_shortfang_stabwhisker_the_odious.txt @@ -4,11 +4,11 @@ Types:Creature Rat Rogue Text:no text PT:1/1 A:AB$ Discard | Cost$ 1 B T | ValidTgts$ Opponent | NumCards$ 1 | Mode$ TgtChoose | SubAbility$ DBFlip | SpellDescription$ Target opponent discards a card. Then if that player has no cards in hand, flip Nezumi Shortfang. -SVar:DBFlip:DB$SetState | Defined$ Self | ConditionCheckSVar$ A | ConditionSVarCompare$ EQ0 | Mode$ Flip +SVar:DBFlip:DB$SetState | Defined$ Self | ConditionCheckSVar$ A | ConditionSVarCompare$ EQ0 | References$ A | Mode$ Flip SVar:A:Count$InOppHand SVar:Picture:http://www.wizards.com/global/images/magic/general/nezumi_shortfang.jpg AlternateMode:Flip -SetInfo:CHK|Rare|http://magiccards.info/scans/en/chk/131.jpg +SetInfo:CHK|Rare|http://magiccards.info/scans/en/chk/131a.jpg Oracle:{1}{B}, {T}: Target opponent discards a card. Then if that player has no cards in hand, flip Nezumi Shortfang. ALTERNATE @@ -20,11 +20,11 @@ Types:Legendary Creature Rat Shaman Text:no text PT:3/3 T:Mode$Phase | Phase$ Upkeep | ValidPlayer$ Opponent | TriggerZones$ Battlefield | Execute$ TrigLoseLife | TriggerDescription$ At the beginning of each opponent's upkeep, that player loses 1 life for each card fewer than three in his or her hand. -SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ TriggeredPlayer | LifeAmount$ X +SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ TriggeredPlayer | LifeAmount$ X | References$ X,Y,Z SVar:X:SVar$Z/Minus.Y SVar:Y:Count$InOppHand SVar:Z:Number$3 SVar:Picture:http://www.wizards.com/global/images/magic/general/stabwhisker_the_odious.jpg -SetInfo:CHK|Rare|http://magiccards.info/scans/en/chk/312.jpg +SetInfo:CHK|Rare|http://magiccards.info/scans/en/chk/131b.jpg Oracle:At the beginning of each opponent's upkeep, that player loses 1 life for each card fewer than three in his or her hand. End \ No newline at end of file diff --git a/res/cardsfolder/n/night_dealings.txt b/res/cardsfolder/n/night_dealings.txt index 16b9e825ab4..8c1004e6ea0 100644 --- a/res/cardsfolder/n/night_dealings.txt +++ b/res/cardsfolder/n/night_dealings.txt @@ -3,8 +3,8 @@ ManaCost:2 B B Types:Enchantment Text:no text T:Mode$ DamageDone | ValidSource$ Card.YouCtrl | ValidTarget$ Opponent | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever a source you control deals damage to another player, put that many theft counters on CARDNAME. -SVar:TrigPutCounter:AB$ PutCounter | Cost$ 0 | CounterType$ THEFT | CounterNum$ Y -A:AB$ ChangeZone | Cost$ 2 B B SubCounter | Origin$ Library | Destination$ Hand | ChangeType$ Card.nonLand+YouCtrl+cmcEQChosenX | ChangeNum$ 1 | Reveal$ True | Shuffle$ True | SpellDescription$ Search your library for a nonland card with converted mana cost X, reveal it, and put it into your hand. Then shuffle your library. +SVar:TrigPutCounter:AB$ PutCounter | Cost$ 0 | CounterType$ THEFT | CounterNum$ Y | References$ Y +A:AB$ ChangeZone | Cost$ 2 B B SubCounter | Origin$ Library | Destination$ Hand | ChangeType$ Card.nonLand+YouCtrl+cmcEQChosenX | ChangeNum$ 1 | Reveal$ True | Shuffle$ True | References$ X | SpellDescription$ Search your library for a nonland card with converted mana cost X, reveal it, and put it into your hand. Then shuffle your library. SVar:X:XChoice SVar:Y:TriggerCount$DamageAmount SVar:RemAIDeck:True diff --git a/res/cardsfolder/n/night_revelers.txt b/res/cardsfolder/n/night_revelers.txt index 23b2a5e2047..7536ff3e535 100644 --- a/res/cardsfolder/n/night_revelers.txt +++ b/res/cardsfolder/n/night_revelers.txt @@ -3,7 +3,7 @@ ManaCost:4 R Types:Creature Vampire Text:no text PT:4/4 -S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Haste | CheckSVar$ X | SVarCompare$ GE1 | Description$ CARDNAME has haste as long as an opponent controls a human. +S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Haste | CheckSVar$ X | SVarCompare$ GE1 | References$ X | Description$ CARDNAME has haste as long as an opponent controls a human. SVar:X:Count$Valid Human.YouDontCtrl SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/night_revelers.jpg diff --git a/res/cardsfolder/n/nightmare.txt b/res/cardsfolder/n/nightmare.txt index 24291f62ba8..1fc331d974f 100644 --- a/res/cardsfolder/n/nightmare.txt +++ b/res/cardsfolder/n/nightmare.txt @@ -4,7 +4,7 @@ Types:Creature Nightmare Horse Text:no text PT:*/* K:Flying -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of Swamps you control. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | References$ X | Description$ CARDNAME's power and toughness are each equal to the number of Swamps you control. SVar:X:Count$Valid Swamp.YouCtrl SVar:BuffedBy:Swamp SVar:Rarity:Rare diff --git a/res/cardsfolder/n/nightmare_incursion.txt b/res/cardsfolder/n/nightmare_incursion.txt index 315dc1fcda1..b2aafed7bd1 100644 --- a/res/cardsfolder/n/nightmare_incursion.txt +++ b/res/cardsfolder/n/nightmare_incursion.txt @@ -2,7 +2,7 @@ Name:Nightmare Incursion ManaCost:5 B Types:Sorcery Text:no text -A:SP$ ChangeZone | Cost$ 5 B | Origin$ Library | Destination$ Exile | ValidTgts$ Player | ChangeType$ Card | ChangeNum$ X | IsCurse$ True | Shuffle$ True | SpellDescription$ Search target player's library for up to X cards, where X is the number of Swamps you control, and exile them. Then that player shuffles his or her library. +A:SP$ ChangeZone | Cost$ 5 B | Origin$ Library | Destination$ Exile | ValidTgts$ Player | ChangeType$ Card | ChangeNum$ X | References$ X | IsCurse$ True | Shuffle$ True | SpellDescription$ Search target player's library for up to X cards, where X is the number of Swamps you control, and exile them. Then that player shuffles his or her library. SVar:X:Count$Valid Swamp.YouCtrl SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/nightmare_incursion.jpg diff --git a/res/cardsfolder/n/nightmare_lash.txt b/res/cardsfolder/n/nightmare_lash.txt index 9bbe98c0fc0..8689a48f75f 100644 --- a/res/cardsfolder/n/nightmare_lash.txt +++ b/res/cardsfolder/n/nightmare_lash.txt @@ -3,7 +3,7 @@ ManaCost:4 Types:Artifact Equipment Text:no text K:eqPump PayLife<3>:+0/+0 -S:Mode$ Continuous | Affected$ Card.EquippedBy | AddPower$ X | AddToughness$ X | Description$ Equipped creature gets +1/+1 for each Swamp you control. +S:Mode$ Continuous | Affected$ Card.EquippedBy | AddPower$ X | AddToughness$ X | References$ X | Description$ Equipped creature gets +1/+1 for each Swamp you control. SVar:X:Count$Valid Swamp.YouCtrl SVar:BuffedBy:Swamp SVar:RemRandomDeck:True diff --git a/res/cardsfolder/n/nightstalker_engine.txt b/res/cardsfolder/n/nightstalker_engine.txt index 4431ee94c55..67fbf17048f 100644 --- a/res/cardsfolder/n/nightstalker_engine.txt +++ b/res/cardsfolder/n/nightstalker_engine.txt @@ -3,7 +3,7 @@ ManaCost:4 B Types:Creature Nightstalker Text:no text PT:*/3 -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | Description$ CARDNAME's power is equal to the number of creature cards in your graveyard. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | References$ X | Description$ CARDNAME's power is equal to the number of creature cards in your graveyard. SVar:X:Count$TypeInYourYard.Creature SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/nightstalker_engine.jpg diff --git a/res/cardsfolder/n/nim_devourer.txt b/res/cardsfolder/n/nim_devourer.txt index c177712d91e..b4078678a83 100644 --- a/res/cardsfolder/n/nim_devourer.txt +++ b/res/cardsfolder/n/nim_devourer.txt @@ -3,7 +3,7 @@ ManaCost:3 B B Types:Creature Zombie Text:no text PT:4/1 -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | Description$ CARDNAME gets +1/+0 for each artifact you control. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | References$ X | Description$ CARDNAME gets +1/+0 for each artifact you control. SVar:X:Count$Valid Artifact.YouCtrl A:AB$ ChangeZone | Cost$ B B | Origin$ Graveyard | Destination$ Battlefield | ActivationZone$ Graveyard | PlayerTurn$ True | ActivationPhases$ Upkeep | SubAbility$ DBSac | SpellDescription$ Return CARDNAME from your graveyard to the battlefield, then sacrifice a creature. Activate this ability only during your upkeep. SVar:DBSac:DB$Sacrifice | Defined$ You | SacValid$ Creature diff --git a/res/cardsfolder/n/nim_grotesque.txt b/res/cardsfolder/n/nim_grotesque.txt index 583070c9757..81026a67bcc 100644 --- a/res/cardsfolder/n/nim_grotesque.txt +++ b/res/cardsfolder/n/nim_grotesque.txt @@ -3,7 +3,7 @@ ManaCost:6 B Types:Creature Zombie Text:no text PT:3/6 -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | Description$ CARDNAME gets +1/+0 for each artifact you control. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | References$ X | Description$ CARDNAME gets +1/+0 for each artifact you control. SVar:X:Count$Valid Artifact.YouCtrl SVar:BuffedBy:Artifact SVar:RemRandomDeck:True diff --git a/res/cardsfolder/n/nim_lasher.txt b/res/cardsfolder/n/nim_lasher.txt index b1e9c59f4f6..dcd99f0b977 100644 --- a/res/cardsfolder/n/nim_lasher.txt +++ b/res/cardsfolder/n/nim_lasher.txt @@ -3,7 +3,7 @@ ManaCost:2 B Types:Creature Zombie Text:no text PT:1/1 -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | Description$ CARDNAME gets +1/+0 for each artifact you control. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | References$ X | Description$ CARDNAME gets +1/+0 for each artifact you control. SVar:X:Count$Valid Artifact.YouCtrl SVar:BuffedBy:Artifact SVar:RemRandomDeck:True diff --git a/res/cardsfolder/n/nim_shambler.txt b/res/cardsfolder/n/nim_shambler.txt index 191ae562931..e7b99a28d10 100644 --- a/res/cardsfolder/n/nim_shambler.txt +++ b/res/cardsfolder/n/nim_shambler.txt @@ -3,7 +3,7 @@ ManaCost:2 B B Types:Creature Zombie Text:no text PT:2/1 -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | Description$ CARDNAME gets +1/+0 for each artifact you control. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | References$ X | Description$ CARDNAME gets +1/+0 for each artifact you control. A:AB$ Regenerate | Cost$ Sac<1/Artifact> | SpellDescription$ Regenerate CARDNAME. SVar:X:Count$Valid Artifact.YouCtrl SVar:BuffedBy:Artifact diff --git a/res/cardsfolder/n/nim_shrieker.txt b/res/cardsfolder/n/nim_shrieker.txt index b2e757fd51b..30feb864f2c 100644 --- a/res/cardsfolder/n/nim_shrieker.txt +++ b/res/cardsfolder/n/nim_shrieker.txt @@ -4,9 +4,10 @@ Types:Creature Zombie Text:no text PT:0/1 K:Flying -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | Description$ CARDNAME gets +1/+0 for each artifact you control. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | References$ X | Description$ CARDNAME gets +1/+0 for each artifact you control. SVar:X:Count$Valid Artifact.YouCtrl -SVar:RemAIDeck:True +SVar:NeedsToPlayVar:X GE2 +SVar:RemRandomDeck:True SVar:BuffedBy:Artifact SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/nim_shrieker.jpg diff --git a/res/cardsfolder/n/nin_the_pain_artist.txt b/res/cardsfolder/n/nin_the_pain_artist.txt index a9dcc25429e..4e6cbab7aef 100644 --- a/res/cardsfolder/n/nin_the_pain_artist.txt +++ b/res/cardsfolder/n/nin_the_pain_artist.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Vedalken Wizard Text:no text PT:1/1 A:AB$ DealDamage | Cost$ X U R T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DBDraw | SpellDescription$ CARDNAME deals X damage to target creature. That creature's controller draws X cards. -SVar:DBDraw:DB$Draw | Defined$ TargetedController | NumCards$ X +SVar:DBDraw:DB$Draw | Defined$ TargetedController | NumCards$ X | References$ X SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/n/nirkana_cutthroat.txt b/res/cardsfolder/n/nirkana_cutthroat.txt index e2ead9040a5..25eb2fba1f2 100644 --- a/res/cardsfolder/n/nirkana_cutthroat.txt +++ b/res/cardsfolder/n/nirkana_cutthroat.txt @@ -5,8 +5,8 @@ Text:no text PT:3/2 K:Level up:2 B K:maxLevel:3 -S:Mode$ Continuous | Affected$ Card.Self | SetPower$ 4 | SetToughness$ 3 | AddKeyword$ Deathtouch | CheckSVar$ X | SVarCompare$ EQ1 | Description$ LEVEL 1-2 4/3 CARDNAME has Deathtouch -S:Mode$ Continuous | Affected$ Card.Self | SetPower$ 5 | SetToughness$ 4 | AddKeyword$ First Strike & Deathtouch | CheckSVar$ Y | SVarCompare$ EQ1 | Description$ LEVEL 3+ 5/4 CARDNAME has First Strike and Deathtouch +S:Mode$ Continuous | Affected$ Card.Self | SetPower$ 4 | SetToughness$ 3 | AddKeyword$ Deathtouch | CheckSVar$ X | SVarCompare$ EQ1 | References$ X | Description$ LEVEL 1-2 4/3 CARDNAME has Deathtouch +S:Mode$ Continuous | Affected$ Card.Self | SetPower$ 5 | SetToughness$ 4 | AddKeyword$ First Strike & Deathtouch | CheckSVar$ Y | SVarCompare$ EQ1 | References$ Y | Description$ LEVEL 3+ 5/4 CARDNAME has First Strike and Deathtouch SVar:X:Count$Valid Card.Self+counters_GE1_LEVEL+counters_LE2_LEVEL SVar:Y:Count$Valid Card.Self+counters_GE3_LEVEL SVar:Rarity:Uncommon diff --git a/res/cardsfolder/n/nissa_revane.txt b/res/cardsfolder/n/nissa_revane.txt index 2b577bc9bdd..56707ba15a7 100644 --- a/res/cardsfolder/n/nissa_revane.txt +++ b/res/cardsfolder/n/nissa_revane.txt @@ -4,8 +4,8 @@ Types:Planeswalker Nissa Text:no text Loyalty:2 A:AB$ ChangeZone | Cost$ AddCounter<1/LOYALTY> | Origin$ Library | Destination$ Battlefield | ChangeType$ Permanent.namedNissa's Chosen | ChangeNum$ 1 | Planeswalker$ True | StackDescription$ SpellDescription | SpellDescription$ Search your library for a card named Nissa's Chosen and put it onto the battlefield. Then shuffle your library. -A:AB$ GainLife | Cost$ AddCounter<1/LOYALTY> | LifeAmount$ XLife | Planeswalker$ True | SpellDescription$ You gain 2 life for each Elf you control. -A:AB$ ChangeZone | Cost$ SubCounter<7/LOYALTY> | Origin$ Library | Destination$ Battlefield | ChangeType$ Creature.Elf | ChangeNum$ XFetch | Planeswalker$ True | Ultimate$ True | StackDescription$ SpellDescription | SpellDescription$ Search your library for any number of Elf creature cards and put them onto the battlefield. Then shuffle your library. +A:AB$ GainLife | Cost$ AddCounter<1/LOYALTY> | LifeAmount$ XLife | Planeswalker$ True | References$ XLife | SpellDescription$ You gain 2 life for each Elf you control. +A:AB$ ChangeZone | Cost$ SubCounter<7/LOYALTY> | Origin$ Library | Destination$ Battlefield | ChangeType$ Creature.Elf | ChangeNum$ XFetch | Planeswalker$ True | Ultimate$ True | StackDescription$ SpellDescription | References$ XFetch | SpellDescription$ Search your library for any number of Elf creature cards and put them onto the battlefield. Then shuffle your library. SVar:XLife:Count$TypeYouCtrl.Elf/Times.2 SVar:XFetch:Count$TypeInYourLibrary.Elf SVar:RemRandomDeck:True diff --git a/res/cardsfolder/n/noble_purpose.txt b/res/cardsfolder/n/noble_purpose.txt index c595890709b..1fed06fe521 100644 --- a/res/cardsfolder/n/noble_purpose.txt +++ b/res/cardsfolder/n/noble_purpose.txt @@ -3,7 +3,7 @@ ManaCost:3 W W Types:Enchantment Text:no text T:Mode$ DamageDone | ValidSource$ Creature.YouCtrl | Execute$ TrigGain | TriggerZones$ Battlefield | CombatDamage$ True | TriggerDescription$ Whenever a creature you control deals combat damage, you gain that much life. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/noble_purpose.jpg diff --git a/res/cardsfolder/n/noetic_scales.txt b/res/cardsfolder/n/noetic_scales.txt index cac2bdf52e1..9cbba58678c 100644 --- a/res/cardsfolder/n/noetic_scales.txt +++ b/res/cardsfolder/n/noetic_scales.txt @@ -4,8 +4,8 @@ Types:Artifact Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigBounceYou | TriggerDescription$ At the beginning of each player's upkeep, return to its owner's hand each creature that player controls with power greater than the number of cards in his or her hand. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Opponent | TriggerZones$ Battlefield | Secondary$ True | Execute$ TrigBounceOpp | TriggerDescription$ At the beginning of each player's upkeep, return to its owner's hand each creature that player controls with power greater than the number of cards in his or her hand. -SVar:TrigBounceYou:AB$ChangeZoneAll | Cost$ 0 | ChangeType$ Creature.YouCtrl+powerGTX | Origin$ Battlefield | Destination$ Hand -SVar:TrigBounceOpp:AB$ChangeZoneAll | Cost$ 0 | ChangeType$ Creature.YouDontCtrl+powerGTY | Origin$ Battlefield | Destination$ Hand +SVar:TrigBounceYou:AB$ChangeZoneAll | Cost$ 0 | ChangeType$ Creature.YouCtrl+powerGTX | Origin$ Battlefield | Destination$ Hand | References$ X +SVar:TrigBounceOpp:AB$ChangeZoneAll | Cost$ 0 | ChangeType$ Creature.YouDontCtrl+powerGTY | Origin$ Battlefield | Destination$ Hand | References$ Y SVar:X:Count$InYourHand SVar:Y:Count$InOppHand SVar:RemRandomDeck:True diff --git a/res/cardsfolder/n/nomad_decoy.txt b/res/cardsfolder/n/nomad_decoy.txt index 16b9bc6c827..de2e24099cb 100644 --- a/res/cardsfolder/n/nomad_decoy.txt +++ b/res/cardsfolder/n/nomad_decoy.txt @@ -4,7 +4,7 @@ Types:Creature Human Nomad Text:no text PT:1/2 A:AB$ Tap | Cost$ W T | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Tap target creature. -A:AB$ Tap | Cost$ W W T | ValidTgts$ Creature | TgtPrompt$ Select target creature | TargetMin$ 2 | TargetMax$ 2 | CheckSVar$ X | SVarCompare$ GE7 | SpellDescription$ Threshold - Tap two target creatures. Activate this ability only if seven or more cards are in your graveyard. +A:AB$ Tap | Cost$ W W T | ValidTgts$ Creature | TgtPrompt$ Select target creature | TargetMin$ 2 | TargetMax$ 2 | CheckSVar$ X | SVarCompare$ GE7 | References$ X | SpellDescription$ Threshold - Tap two target creatures. Activate this ability only if seven or more cards are in your graveyard. SVar:X:Count$InYourYard SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/nomad_decoy.jpg diff --git a/res/cardsfolder/n/nomads_assembly.txt b/res/cardsfolder/n/nomads_assembly.txt index bd9f452c404..167e5c4ce9b 100644 --- a/res/cardsfolder/n/nomads_assembly.txt +++ b/res/cardsfolder/n/nomads_assembly.txt @@ -3,7 +3,7 @@ ManaCost:4 W W Types:Sorcery Text:no text K:Rebound -A:SP$ Token | Cost$ 4 W W | TokenAmount$ X | TokenName$ Kor Soldier | TokenTypes$ Creature,Kor,Soldier | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put a 1/1 white Kor Soldier creature token onto the battlefield for each creature you control. +A:SP$ Token | Cost$ 4 W W | TokenAmount$ X | References$ X | TokenName$ Kor Soldier | TokenTypes$ Creature,Kor,Soldier | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put a 1/1 white Kor Soldier creature token onto the battlefield for each creature you control. SVar:X:Count$Valid Creature.YouCtrl SVar:Picture:http://www.wizards.com/global/images/magic/general/nomads_assembly.jpg SetInfo:ROE|Rare|http://magiccards.info/scans/en/roe/39.jpg diff --git a/res/cardsfolder/n/nomads_en_kor.txt b/res/cardsfolder/n/nomads_en_kor.txt index 06668a90279..6a418b6a051 100644 --- a/res/cardsfolder/n/nomads_en_kor.txt +++ b/res/cardsfolder/n/nomads_en_kor.txt @@ -3,7 +3,7 @@ ManaCost:W Types:Creature Kor Nomad Soldier Text:no text PT:1/1 -A:AB$ Effect | Cost$ 0 | Name$ en-Kor Redirection | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control to redirect the damage to | ReplacementEffects$ EnKorCombat,EnKorNonCombat | Triggers$ OutOfSight | SVars$ CombatDmg,NonCombatDmg,ExileEffect,RestDmgCombat,RestDmg,X,Y | Duration$ HostLeavesOrEOT | RememberObjects$ Self | ImprintCards$ Targeted | SpellDescription$ The next 1 damage that would be dealt to CARDNAME this turn is dealt to target creature you control instead. +A:AB$ Effect | Cost$ 0 | Name$ en-Kor Redirection | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control to redirect the damage to | ReplacementEffects$ EnKorCombat,EnKorNonCombat | Triggers$ OutOfSight | SVars$ CombatDmg,NonCombatDmg,ExileEffect,RestDmgCombat,RestDmg,X,Y | References$ EnKorCombat,EnKorNonCombat,OutOfSight,CombatDmg,NonCombatDmg,ExileEffect,RestDmgCombat,RestDmg,X,Y | Duration$ HostLeavesOrEOT | RememberObjects$ Self | ImprintCards$ Targeted | SpellDescription$ The next 1 damage that would be dealt to CARDNAME this turn is dealt to target creature you control instead. SVar:EnKorCombat:Event$ DamageDone | ValidTarget$ Creature.IsRemembered | IsCombat$ True | ReplaceWith$ CombatDmg | Description$ The next 1 damage that would be dealt to Nomads en-Kor this turn is dealt to target creature you control instead. SVar:EnKorNonCombat:Event$ DamageDone | ValidTarget$ Creature.IsRemembered | IsCombat$ False | ReplaceWith$ NonCombatDmg | Secondary$ True | Description$ The next 1 damage that would be dealt to Nomads en-Kor this turn is dealt to target creature you control instead. SVar:CombatDmg:AB$DealDamage | Cost$ 0 | Defined$ Imprinted | DamageSource$ ReplacedSource | CombatDamage$ True | NumDmg$ 1 | SubAbility$ RestDmgCombat | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE1 diff --git a/res/cardsfolder/n/nostalgic_dreams.txt b/res/cardsfolder/n/nostalgic_dreams.txt index d989294d012..880ac91af2d 100644 --- a/res/cardsfolder/n/nostalgic_dreams.txt +++ b/res/cardsfolder/n/nostalgic_dreams.txt @@ -2,7 +2,7 @@ Name:Nostalgic Dreams ManaCost:G G Types:Sorcery Text:no text -A:SP$ ChangeZone | Cost$ G G Discard | Origin$ Graveyard | Destination$ Hand | TargetMin$ 0 | TargetMax$ MaxTgts | TgtPrompt$ Choose target card in your graveyard | ValidTgts$ Card.YouCtrl | SubAbility$ DBChange | SpellDescription$ Return X target cards from your graveyard to your hand. Exile CARDNAME. +A:SP$ ChangeZone | Cost$ G G Discard | Origin$ Graveyard | Destination$ Hand | TargetMin$ 0 | TargetMax$ MaxTgts | References$ X,MaxTgts | TgtPrompt$ Choose target card in your graveyard | ValidTgts$ Card.YouCtrl | SubAbility$ DBChange | SpellDescription$ Return X target cards from your graveyard to your hand. Exile CARDNAME. SVar:DBChange:DB$ChangeZone | Origin$ Stack | Destination$ Exile SVar:MaxTgts:Count$InYourYard SVar:X:Targeted$Amount diff --git a/res/cardsfolder/n/notorious_throng.txt b/res/cardsfolder/n/notorious_throng.txt index 52c18474fd0..3c67b2e27fd 100644 --- a/res/cardsfolder/n/notorious_throng.txt +++ b/res/cardsfolder/n/notorious_throng.txt @@ -2,9 +2,9 @@ Name:Notorious Throng ManaCost:3 U Types:Tribal Sorcery Rogue Text:no text -A:SP$ Token | Cost$ 5 U | Activation$ Prowl | PrecostDesc$ Prowl 5 U | TokenAmount$ X | TokenColors$ Black | TokenTypes$ Faerie,Rogue,Creature | TokenName$ Faerie Rogue | TokenOwner$ You | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying | SubAbility$ DBTakeTurn | SpellDescription$ (You may cast this for its prowl cost if you dealt combat damage to a player this turn with a Rogue.) +A:SP$ Token | Cost$ 5 U | Activation$ Prowl | PrecostDesc$ Prowl 5 U | TokenAmount$ X | References$ X | TokenColors$ Black | TokenTypes$ Faerie,Rogue,Creature | TokenName$ Faerie Rogue | TokenOwner$ You | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying | SubAbility$ DBTakeTurn | SpellDescription$ (You may cast this for its prowl cost if you dealt combat damage to a player this turn with a Rogue.) SVar:DBTakeTurn:DB$ AddTurn | NumTurns$ 1 -A:SP$ Token | Cost$ 3 U | TokenAmount$ X | TokenColors$ Black | TokenTypes$ Faerie,Rogue,Creature | TokenName$ Faerie Rogue | TokenOwner$ You | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying | SpellDescription$ Put X 1/1 black Faerie Rogue creature tokens with flying onto the battlefield, where X is the damage dealt to your opponents this turn. If CARDNAME prowl cost was paid, take an extra turn after this one. +A:SP$ Token | Cost$ 3 U | TokenAmount$ X | References$ X | TokenColors$ Black | TokenTypes$ Faerie,Rogue,Creature | TokenName$ Faerie Rogue | TokenOwner$ You | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying | SpellDescription$ Put X 1/1 black Faerie Rogue creature tokens with flying onto the battlefield, where X is the damage dealt to your opponents this turn. If CARDNAME prowl cost was paid, take an extra turn after this one. SVar:X:Count$OppDamageThisTurn SVar:RemAIDeck:True SVar:RemRandomDeck:True diff --git a/res/cardsfolder/n/nourishing_shoal.txt b/res/cardsfolder/n/nourishing_shoal.txt index 7c6ebc57425..c6cca8d3a23 100644 --- a/res/cardsfolder/n/nourishing_shoal.txt +++ b/res/cardsfolder/n/nourishing_shoal.txt @@ -2,8 +2,8 @@ Name:Nourishing Shoal ManaCost:X G G Types:Instant Arcane Text:no text -A:SP$ GainLife | Cost$ X G G | LifeAmount$ X | SpellDescription$ You gain X life. -A:SP$ GainLife | Cost$ ExileFromHand<1/Card.Green> | CostDesc$ You may exile a green card from your hand rather than pay CARDNAME's mana cost. | LifeAmount$ Y | SpellDescription$ You gain X life, where X is the exiled card's converted mana cost. +A:SP$ GainLife | Cost$ X G G | LifeAmount$ X | References$ X | SpellDescription$ You gain X life. +A:SP$ GainLife | Cost$ ExileFromHand<1/Card.Green> | CostDesc$ You may exile a green card from your hand rather than pay CARDNAME's mana cost. | LifeAmount$ Y | References$ Y | SpellDescription$ You gain X life, where X is the exiled card's converted mana cost. SVar:X:Count$xPaid SVar:Y:Exiled$CardManaCost SVar:RemAIDeck:True diff --git a/res/cardsfolder/n/null_champion.txt b/res/cardsfolder/n/null_champion.txt index e449d26ec63..601049b0c7d 100644 --- a/res/cardsfolder/n/null_champion.txt +++ b/res/cardsfolder/n/null_champion.txt @@ -5,8 +5,8 @@ Text:no text PT:1/1 K:Level up:3 K:maxLevel:4 -S:Mode$ Continuous | Affected$ Card.Self | SetPower$ 4 | SetToughness$ 2 | CheckSVar$ X | SVarCompare$ EQ1 | Description$ LEVEL 1-3 4/2 -S:Mode$ Continuous | Affected$ Card.Self | SetPower$ 7 | SetToughness$ 3 | AddAbility$ Regen | CheckSVar$ Y | SVarCompare$ EQ1 | Description$ LEVEL 4+ 7/3 CARDNAME has "B: Regenerate CARDNAME." +S:Mode$ Continuous | Affected$ Card.Self | SetPower$ 4 | SetToughness$ 2 | CheckSVar$ X | SVarCompare$ EQ1 | References$ X | Description$ LEVEL 1-3 4/2 +S:Mode$ Continuous | Affected$ Card.Self | SetPower$ 7 | SetToughness$ 3 | AddAbility$ Regen | CheckSVar$ Y | SVarCompare$ EQ1 | References$ Y | Description$ LEVEL 4+ 7/3 CARDNAME has "B: Regenerate CARDNAME." SVar:Regen:AB$Regenerate | Cost$ B | SpellDescription$ Regenerate CARDNAME. SVar:X:Count$Valid Card.Self+counters_GE1_LEVEL+counters_LE3_LEVEL SVar:Y:Count$Valid Card.Self+counters_GE4_LEVEL diff --git a/res/cardsfolder/n/nyxathid.txt b/res/cardsfolder/n/nyxathid.txt index 7bc7facc0c3..9898b930a2e 100644 --- a/res/cardsfolder/n/nyxathid.txt +++ b/res/cardsfolder/n/nyxathid.txt @@ -3,7 +3,7 @@ ManaCost:1 B B Types:Creature Elemental Text:As CARDNAME enters the battlefield, choose an opponent. PT:7/7 -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | Description$ CARDNAME gets -1/-1 for each card in the chosen player's hand. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | References$ X | Description$ CARDNAME gets -1/-1 for each card in the chosen player's hand. SVar:X:Count$InOppHand/Negative SVar:NeedsToPlayVar:Y LE5 SVar:Y:Count$CardsInOppHand diff --git a/res/cardsfolder/o/oboro_envoy.txt b/res/cardsfolder/o/oboro_envoy.txt index fd6abd9a8cf..e52035bcd56 100644 --- a/res/cardsfolder/o/oboro_envoy.txt +++ b/res/cardsfolder/o/oboro_envoy.txt @@ -3,7 +3,7 @@ ManaCost:3 U Types:Creature Moonfolk Wizard Text:no text PT:1/3 -A:AB$ Pump | Cost$ 2 Return<1/Land> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | IsCurse$ True | SpellDescription$ Target creature gets -X/-0 until end of turn, where X is the number of cards in your hand. +A:AB$ Pump | Cost$ 2 Return<1/Land> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | References$ X | IsCurse$ True | SpellDescription$ Target creature gets -X/-0 until end of turn, where X is the number of cards in your hand. SVar:X:Count$InYourHand SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/o/obstinate_familiar.txt b/res/cardsfolder/o/obstinate_familiar.txt index e67657a9946..2a94353e090 100644 --- a/res/cardsfolder/o/obstinate_familiar.txt +++ b/res/cardsfolder/o/obstinate_familiar.txt @@ -3,7 +3,7 @@ ManaCost:R Types:Creature Lizard Text:no text PT:1/1 -R:Event$ Draw | ValidPlayer$ You | Optional$ True | Prevent$ True | AICheckSVar$ AIHandling | AISVarCompare$ EQ0 | Description$ If you would draw a card, you may skip that draw instead. +R:Event$ Draw | ValidPlayer$ You | Optional$ True | Prevent$ True | AICheckSVar$ AIHandling | AISVarCompare$ EQ0 | References$ AIHandling | Description$ If you would draw a card, you may skip that draw instead. SVar:AIHandling:Count$InYourLibrary SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/obstinate_familiar.jpg diff --git a/res/cardsfolder/o/okina_nightwatch.txt b/res/cardsfolder/o/okina_nightwatch.txt index e5803c0659e..76c52a263c4 100644 --- a/res/cardsfolder/o/okina_nightwatch.txt +++ b/res/cardsfolder/o/okina_nightwatch.txt @@ -3,7 +3,7 @@ ManaCost:4 G Types:Creature Human Monk Text:no text PT:4/3 -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 3 | AddToughness$ 3 | CheckSVar$ X | SVarCompare$ GTY | Description$ As long as you have more cards in hand than each opponent, CARDNAME gets +3/+3. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 3 | AddToughness$ 3 | CheckSVar$ X | SVarCompare$ GTY | References$ X,Y | Description$ As long as you have more cards in hand than each opponent, CARDNAME gets +3/+3. SVar:X:Count$InYourHand SVar:Y:Count$InOppHand SVar:Rarity:Common diff --git a/res/cardsfolder/o/old_man_of_the_sea.txt b/res/cardsfolder/o/old_man_of_the_sea.txt index 6dabb9c7541..0cfc094d1d0 100644 --- a/res/cardsfolder/o/old_man_of_the_sea.txt +++ b/res/cardsfolder/o/old_man_of_the_sea.txt @@ -4,7 +4,7 @@ Types:Creature Djinn Text:no text PT:2/3 K:You may choose not to untap CARDNAME during your untap step. -A:AB$ GainControl | Cost$ T | ValidTgts$ Creature.powerLEX | TgtPrompt$ Select target creature with power less than or equal to Old Man's. | LoseControl$ Untap,LeavesPlay,LoseControl | SpellDescription$ Gain control of target creature with power less than or equal to Old Man of the Sea's power for as long as Old Man of the Sea remains tapped and that creature's power remains less than or equal to Old Man of the Sea's power. +A:AB$ GainControl | Cost$ T | ValidTgts$ Creature.powerLEX | References$ X | TgtPrompt$ Select target creature with power less than or equal to Old Man's. | LoseControl$ Untap,LeavesPlay,LoseControl | SpellDescription$ Gain control of target creature with power less than or equal to Old Man of the Sea's power for as long as Old Man of the Sea remains tapped and that creature's power remains less than or equal to Old Man of the Sea's power. SVar:X:Count$CardPower SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/old_man_of_the_sea.jpg diff --git a/res/cardsfolder/o/omen_of_fire.txt b/res/cardsfolder/o/omen_of_fire.txt index 1cb79f8d6e0..078135562ca 100644 --- a/res/cardsfolder/o/omen_of_fire.txt +++ b/res/cardsfolder/o/omen_of_fire.txt @@ -3,8 +3,8 @@ ManaCost:3 R R Types:Instant Text:no text A:SP$ ChangeZoneAll | Cost$ 3 R R | ChangeType$ Island | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Return all Islands to their owners' hands. | SubAbility$ DBSacYou -SVar:DBSacYou:DB$Sacrifice | Amount$ YouX | SacValid$ Plains,Permanent.White | Defined$ You | SubAbility$ DBSacOpp | SpellDescription$ Each player sacrifices a Plains or a white permanent for each white permanent he or she controls. -SVar:DBSacOpp:DB$Sacrifice | Amount$ OppX | SacValid$ Plains,Permanent.White | Defined$ Opponent +SVar:DBSacYou:DB$Sacrifice | Amount$ YouX | SacValid$ Plains,Permanent.White | Defined$ You | References$ YouX | SubAbility$ DBSacOpp | SpellDescription$ Each player sacrifices a Plains or a white permanent for each white permanent he or she controls. +SVar:DBSacOpp:DB$Sacrifice | Amount$ OppX | SacValid$ Plains,Permanent.White | Defined$ Opponent | References$ OppX SVar:YouX:Count$Valid Permanent.White+YouCtrl SVar:OppX:Count$Valid Permanent.White+YouDontCtrl SVar:RemRandomDeck:True diff --git a/res/cardsfolder/o/omnath_locus_of_mana.txt b/res/cardsfolder/o/omnath_locus_of_mana.txt index f2248f39a1f..130e5287116 100644 --- a/res/cardsfolder/o/omnath_locus_of_mana.txt +++ b/res/cardsfolder/o/omnath_locus_of_mana.txt @@ -3,7 +3,7 @@ ManaCost:2 G Types:Legendary Creature Elemental Text:Green mana doesn't empty from your mana pool as steps and phases end. PT:1/1 -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | Description$ CARDNAME gets +1/+1 for each green mana in your mana pool. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | References$ X | Description$ CARDNAME gets +1/+1 for each green mana in your mana pool. SVar:X:Count$ManaPool:green #AI doesn't have a mana pool SVar:RemAIDeck:True diff --git a/res/cardsfolder/o/ondu_cleric.txt b/res/cardsfolder/o/ondu_cleric.txt index 2b33af77435..aa71d18b023 100644 --- a/res/cardsfolder/o/ondu_cleric.txt +++ b/res/cardsfolder/o/ondu_cleric.txt @@ -5,7 +5,7 @@ Text:no text PT:1/1 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self| OptionalDecider$ You | Execute$ TrigGainLife | TriggerDescription$ Whenever CARDNAME or another Ally enters the battlefield under your control, you may gain life equal to the number of Allies you control. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Ally.Other+YouCtrl | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigGainLife | Secondary$ True | TriggerDescription$ Whenever CARDNAME or another Ally enters the battlefield under your control, you may gain life equal to the number of Allies you control. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:Count$Valid Ally.YouCtrl SVar:BuffedBy:Ally SVar:RemRandomDeck:True diff --git a/res/cardsfolder/o/oni_of_wild_places.txt b/res/cardsfolder/o/oni_of_wild_places.txt index 3d45877be45..8568f7da713 100644 --- a/res/cardsfolder/o/oni_of_wild_places.txt +++ b/res/cardsfolder/o/oni_of_wild_places.txt @@ -5,7 +5,7 @@ Text:no text PT:6/5 K:Haste T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigBounce | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, return a red creature you control to its owner's hand. -SVar:TrigBounce:AB$ChangeZone | Cost$ 0 | Origin$ Battlefield | Destination$ Hand | TgtPrompt$ Choose target red creature | Mandatory$ True | Hidden$ True | ValidTgts$ Creature.Red+YouCtrl +SVar:TrigBounce:AB$ChangeZone | Cost$ 0 | Origin$ Battlefield | Destination$ Hand | Mandatory$ True | Hidden$ True | ChangeType$ Creature.Red+YouCtrl SVar:RemAIDeck:True SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/oni_of_wild_places.jpg diff --git a/res/cardsfolder/o/oona_queen_of_the_fae.txt b/res/cardsfolder/o/oona_queen_of_the_fae.txt index 87236a9bb34..34c87131ed5 100644 --- a/res/cardsfolder/o/oona_queen_of_the_fae.txt +++ b/res/cardsfolder/o/oona_queen_of_the_fae.txt @@ -5,8 +5,8 @@ Text:no text PT:5/5 K:Flying A:AB$ ChooseColor | Cost$ X UB | Defined$ You | AILogic$ MostProminentInHumanDeck | SubAbility$ DBMill | SpellDescription$ Choose a color. Target opponent exiles the top X cards of his or her library. For each card of the chosen color exiled this way, put a 1/1 blue and black Faerie Rogue creature token with flying onto the battlefield. -SVar:DBMill:DB$ Mill | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | NumCards$ X | Destination$ Exile | RememberMilled$ True | SubAbility$ DBToken -SVar:DBToken:DB$Token | TokenAmount$ Y | TokenName$ Faerie Rogue | TokenTypes$ Creature,Faerie,Rogue | TokenOwner$ You | TokenColors$ Blue,Black | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying | SubAbility$ Clear +SVar:DBMill:DB$ Mill | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | NumCards$ X | References$ X | Destination$ Exile | RememberMilled$ True | SubAbility$ DBToken +SVar:DBToken:DB$Token | TokenAmount$ Y | References$ Y | TokenName$ Faerie Rogue | TokenTypes$ Creature,Faerie,Rogue | TokenOwner$ You | TokenColors$ Blue,Black | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying | SubAbility$ Clear SVar:Clear:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$xPaid SVar:Y:Remembered$Valid Card.ChosenColor diff --git a/res/cardsfolder/o/oonas_prowler.txt b/res/cardsfolder/o/oonas_prowler.txt index 21ccd528d82..a27b89108ce 100644 --- a/res/cardsfolder/o/oonas_prowler.txt +++ b/res/cardsfolder/o/oonas_prowler.txt @@ -4,7 +4,7 @@ Types:Creature Faerie Rogue Text:no text PT:3/1 K:Flying -A:AB$ Pump | Cost$ Discard<1/Card> | Defined$ Self | NumAtt$ -2 | AnyPlayer$ True | SpellDescription$ Discard a card: Oona's Prowler gets -2/-0 until end of turn. Any player may activate this ability. +A:AB$ Pump | Cost$ Discard<1/Card> | Defined$ Self | NumAtt$ -2 | AnyPlayer$ True | SpellDescription$ Oona's Prowler gets -2/-0 until end of turn. Any player may activate this ability. SVar:RemAIDeck:True SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/oonas_prowler.jpg diff --git a/res/cardsfolder/o/ooze_garden.txt b/res/cardsfolder/o/ooze_garden.txt index 4c383fac8df..de78c74e2c8 100644 --- a/res/cardsfolder/o/ooze_garden.txt +++ b/res/cardsfolder/o/ooze_garden.txt @@ -2,7 +2,7 @@ Name:Ooze Garden ManaCost:1 G Types:Enchantment Text:no text -A:AB$ Token | Cost$ 1 G Sac<1/Creature.nonOoze/non-Ooze creature> | TokenAmount$ 1 | TokenName$ Ooze | TokenOwner$ You | TokenPower$ X | TokenToughness$ X | TokenTypes$ Creature,Ooze | TokenColors$ Green | SorcerySpeed$ True | SpellDescription$ Put an X/X green Ooze creature token onto the battlefield, where X is the sacrificed creature's power. Activate this ability only any time you could cast a sorcery. +A:AB$ Token | Cost$ 1 G Sac<1/Creature.nonOoze/non-Ooze creature> | TokenAmount$ 1 | TokenName$ Ooze | TokenOwner$ You | TokenPower$ X | TokenToughness$ X | References$ X | TokenTypes$ Creature,Ooze | TokenColors$ Green | SorcerySpeed$ True | SpellDescription$ Put an X/X green Ooze creature token onto the battlefield, where X is the sacrificed creature's power. Activate this ability only any time you could cast a sorcery. SVar:X:Sacrificed$CardPower SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/ooze_garden.jpg diff --git a/res/cardsfolder/o/opalescence.txt b/res/cardsfolder/o/opalescence.txt index 5b2477c4513..e1530261a58 100644 --- a/res/cardsfolder/o/opalescence.txt +++ b/res/cardsfolder/o/opalescence.txt @@ -2,7 +2,7 @@ Name:Opalescence ManaCost:2 W W Types:Enchantment Text:no text -S:Mode$ Continuous | Affected$ Enchantment.nonAura+Other | SetPower$ AffectedX | SetToughness$ AffectedX | AddType$ Creature | Description$ Each other non-Aura enchantment is a creature with power and toughness each equal to its converted mana cost. It's still an enchantment. +S:Mode$ Continuous | Affected$ Enchantment.nonAura+Other | SetPower$ AffectedX | SetToughness$ AffectedX | References$ AffectedX | AddType$ Creature | Description$ Each other non-Aura enchantment is a creature with power and toughness each equal to its converted mana cost. It's still an enchantment. SVar:AffectedX:Count$CardManaCost SVar:PlayMain1:TRUE SVar:RemRandomDeck:True diff --git a/res/cardsfolder/o/opaline_bracers.txt b/res/cardsfolder/o/opaline_bracers.txt index f8c10f9daba..dfc2d949700 100644 --- a/res/cardsfolder/o/opaline_bracers.txt +++ b/res/cardsfolder/o/opaline_bracers.txt @@ -3,7 +3,7 @@ ManaCost:4 Types:Artifact Equipment Text:no text K:eqPump 2:+0/+0 -S:Mode$ Continuous | Affected$ Card.EquippedBy | AddPower$ X | AddToughness$ X | Description$ Equipped creature gets +X/+X, where X is the number of charge counters on CARDNAME. +S:Mode$ Continuous | Affected$ Card.EquippedBy | AddPower$ X | AddToughness$ X | References$ X | Description$ Equipped creature gets +X/+X, where X is the number of charge counters on CARDNAME. K:Sunburst SVar:X:Count$CardCounters.CHARGE SVar:RemAIDeck:True diff --git a/res/cardsfolder/o/oppressive_will.txt b/res/cardsfolder/o/oppressive_will.txt index 4c1fa015cc6..c98f57c1818 100644 --- a/res/cardsfolder/o/oppressive_will.txt +++ b/res/cardsfolder/o/oppressive_will.txt @@ -2,7 +2,7 @@ Name:Oppressive Will ManaCost:2 U Types:Instant Text:no text -A:SP$ Counter | Cost$ 2 U | Type $ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | SpellDescription$ Counter target spell unless its controller pays 1 for each card in your hand. +A:SP$ Counter | Cost$ 2 U | Type $ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | References$ X | SpellDescription$ Counter target spell unless its controller pays 1 for each card in your hand. SVar:X:Count$InYourHand SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/o/oracle_of_nectars.txt b/res/cardsfolder/o/oracle_of_nectars.txt index 118e1dd48b7..1d95a46c28c 100644 --- a/res/cardsfolder/o/oracle_of_nectars.txt +++ b/res/cardsfolder/o/oracle_of_nectars.txt @@ -3,7 +3,7 @@ ManaCost:2 GW Types:Creature Elf Cleric PT:2/2 Text:no text -A:AB$ GainLife | LifeAmount$ X | Cost$ T X | SpellDescription$ You gain X life. +A:AB$ GainLife | LifeAmount$ X | Cost$ T X | References$ X | SpellDescription$ You gain X life. SVar:X:Count$xPaid SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/oracle_of_nectars.jpg diff --git a/res/cardsfolder/o/orchard_warden.txt b/res/cardsfolder/o/orchard_warden.txt index c4e357f2e80..310246a9eb1 100644 --- a/res/cardsfolder/o/orchard_warden.txt +++ b/res/cardsfolder/o/orchard_warden.txt @@ -4,7 +4,7 @@ Types:Creature Treefolk Shaman Text:no text PT:4/6 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Treefolk.YouCtrl+Other | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigGainLife | TriggerDescription$ Whenever another Treefolk creature enters the battlefield under your control, you may gain life equal to that creature's toughness. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ Life +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ Life | References$ Life SVar:Life:TriggeredCard$CardToughness SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/orchard_warden.jpg diff --git a/res/cardsfolder/o/orcish_settlers.txt b/res/cardsfolder/o/orcish_settlers.txt index 4ef477f8b6f..844769cbea4 100644 --- a/res/cardsfolder/o/orcish_settlers.txt +++ b/res/cardsfolder/o/orcish_settlers.txt @@ -3,7 +3,7 @@ ManaCost:1 R Types:Creature Orc Text:no text PT:1/1 -A:AB$ Destroy | Cost$ X X R T Sac<1/CARDNAME> | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Land | TgtPrompt$ Select target lands | SpellDescription$ Destroy X target lands. +A:AB$ Destroy | Cost$ X X R T Sac<1/CARDNAME> | TargetMin$ 0 | TargetMax$ MaxTgts | References$ X,MaxTgts | ValidTgts$ Land | TgtPrompt$ Select target lands | SpellDescription$ Destroy X target lands. SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Land SVar:RemAIDeck:True diff --git a/res/cardsfolder/o/ordered_migration.txt b/res/cardsfolder/o/ordered_migration.txt index 7b1624c0be4..5ec52201edb 100644 --- a/res/cardsfolder/o/ordered_migration.txt +++ b/res/cardsfolder/o/ordered_migration.txt @@ -2,7 +2,7 @@ Name:Ordered Migration ManaCost:3 W U Types:Sorcery Text:Domain - Put a 1/1 blue Bird creature token with flying onto the battlefield for each basic land type among lands you control. -A:SP$ Token | Cost$ 3 W U | TokenAmount$ X | TokenName$ Bird | TokenTypes$ Creature,Bird | TokenOwner$ You | TokenColors$ Blue | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying +A:SP$ Token | Cost$ 3 W U | TokenAmount$ X | References$ X | TokenName$ Bird | TokenTypes$ Creature,Bird | TokenOwner$ You | TokenColors$ Blue | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying SVar:X:Count$Domain SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/o/orims_prayer.txt b/res/cardsfolder/o/orims_prayer.txt index 0a8c1c829b1..202578e2b65 100644 --- a/res/cardsfolder/o/orims_prayer.txt +++ b/res/cardsfolder/o/orims_prayer.txt @@ -3,7 +3,7 @@ ManaCost:1 W W Types:Enchantment Text:no text T:Mode$ AttackersDeclared | AttackingPlayer$ Opponent | TriggerZones$ Battlefield | Execute$ TrigGainLife | TriggerDescription$ Whenever one or more creatures attack you, you gain 1 life for each attacking creature. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | LifeAmount$ X +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | LifeAmount$ X | References$ X SVar:X:Count$Valid Creature.attacking SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/orims_prayer.jpg diff --git a/res/cardsfolder/o/orims_thunder.txt b/res/cardsfolder/o/orims_thunder.txt index d2fd8607207..8f59cbef448 100644 --- a/res/cardsfolder/o/orims_thunder.txt +++ b/res/cardsfolder/o/orims_thunder.txt @@ -4,7 +4,7 @@ Types:Instant Text:no text A:SP$ Destroy | Cost$ 2 W | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact or enchantment | SpellDescription$ Destroy target artifact or enchantment. A:SP$ Destroy | Cost$ 2 W R | SetAsKicked$ True | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact or enchantment | RememberTargets$ True | ForgetOtherTargets$ True | SubAbility$ DBDamage | SpellDescription$ Kicker R (You may pay an additional R as you cast this spell.) If CARDNAME was kicked, it deals damage equal to that permanent's converted mana cost to target creature. -SVar:DBDamage:DB$DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X +SVar:DBDamage:DB$DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | References$ X SVar:X:Remembered$CardManaCost SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/orims_thunder.jpg diff --git a/res/cardsfolder/o/orochi_eggwatcher_shidako_broodmistress.txt b/res/cardsfolder/o/orochi_eggwatcher_shidako_broodmistress.txt index 861f409439b..3fe07d919ab 100644 --- a/res/cardsfolder/o/orochi_eggwatcher_shidako_broodmistress.txt +++ b/res/cardsfolder/o/orochi_eggwatcher_shidako_broodmistress.txt @@ -4,12 +4,12 @@ Types:Creature Snake Shaman Text:no text PT:1/1 A:AB$Token | Cost$ 2 G T | TokenAmount$ 1 | TokenOwner$ You | TokenName$ Snake | TokenTypes$ Creature,Snake | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | SubAbility$ DBFlip | SpellDescription$ Put a 1/1 green Snake creature token onto the battlefield. If you control ten or more creatures, flip CARDNAME. -SVar:DBFlip:DB$SetState | Defined$ Self | ConditionCheckSVar$ X | ConditionSVarCompare$ GE10 | Mode$ Flip +SVar:DBFlip:DB$SetState | Defined$ Self | ConditionCheckSVar$ X | ConditionSVarCompare$ GE10 | References$ X | Mode$ Flip SVar:X:Count$Valid Creature.YouCtrl SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/orochi_eggwatcher.jpg AlternateMode:Flip -SetInfo:CHK|Uncommon|http://magiccards.info/scans/en/chk/233.jpg +SetInfo:CHK|Uncommon|http://magiccards.info/scans/en/chk/233a.jpg Oracle:{2}{G}, {T}: Put a 1/1 green Snake creature token onto the battlefield. If you control ten or more creatures, flip Orochi Eggwatcher. ALTERNATE @@ -22,6 +22,6 @@ PT:3/3 A:AB$Pump | Cost$ G Sac<1/Creature> | Tgt$ TgtC | NumAtt$ 3 | NumDef$ 3 | SpellDescription$ Target creature gets +3/+3 until end of turn. SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/shidako_broodmistress.jpg -SetInfo:CHK|Uncommon|http://magiccards.info/scans/en/chk/316.jpg +SetInfo:CHK|Uncommon|http://magiccards.info/scans/en/chk/233b.jpg Oracle:{G}, Sacrifice a creature: Target creature gets +3/+3 until end of turn. End \ No newline at end of file diff --git a/res/cardsfolder/o/orochi_hatchery.txt b/res/cardsfolder/o/orochi_hatchery.txt index 5f46fbfde7d..88524d84b48 100644 --- a/res/cardsfolder/o/orochi_hatchery.txt +++ b/res/cardsfolder/o/orochi_hatchery.txt @@ -3,7 +3,7 @@ ManaCost:X X Types:Artifact Text:no text K:etbCounter:CHARGE:X -A:AB$ Token | Cost$ 5 T | TokenAmount$ Y | TokenController$ You | TokenName$ Snake | TokenTypes$ Creature,Snake | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put a 1/1 green Snake creature token onto the battlefield for each charge counter on CARDNAME. +A:AB$ Token | Cost$ 5 T | TokenAmount$ Y | References$ Y | TokenController$ You | TokenName$ Snake | TokenTypes$ Creature,Snake | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put a 1/1 green Snake creature token onto the battlefield for each charge counter on CARDNAME. SVar:X:Count$xPaid SVar:Y:Count$CardCounters.CHARGE SVar:RemAIDeck:True diff --git a/res/cardsfolder/o/osai_vultures.txt b/res/cardsfolder/o/osai_vultures.txt index aeefc598fba..e276e2c5c04 100644 --- a/res/cardsfolder/o/osai_vultures.txt +++ b/res/cardsfolder/o/osai_vultures.txt @@ -4,7 +4,7 @@ Types:Creature Bird Text:no text PT:1/1 K:Flying -T:Mode$ Phase | Phase$ End of Turn | CheckSVar$ X | SVarCompare$ GE1 | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of each end step, if a creature died this turn, put a carrion counter on CARDNAME. +T:Mode$ Phase | Phase$ End of Turn | CheckSVar$ X | SVarCompare$ GE1 | TriggerZones$ Battlefield | Execute$ TrigPutCounter | References$ X | TriggerDescription$ At the beginning of each end step, if a creature died this turn, put a carrion counter on CARDNAME. SVar:TrigPutCounter:AB$ PutCounter | Cost$ 0 | CounterType$ CARRION | CounterNum$ 1 | Defined$ Self A:AB$ Pump | Cost$ SubCounter<2/CARRION> | NumAtt$ 1 | NumDef$ 1 | Defined$ Self | CostDesc$ Remove two carrion counters from Osai Vultures: | SpellDescription$ CARDNAME gets +1/+1 until end of turn. SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature diff --git a/res/cardsfolder/o/otherworld_atlas.txt b/res/cardsfolder/o/otherworld_atlas.txt index d65a53d385d..1a7a727a3d5 100644 --- a/res/cardsfolder/o/otherworld_atlas.txt +++ b/res/cardsfolder/o/otherworld_atlas.txt @@ -3,7 +3,7 @@ ManaCost:4 Types:Artifact Text:no text A:AB$ PutCounter | Cost$ T | CounterType$ CHARGE | CounterNum$ 1 | SpellDescription$ Put a charge counter on CARDNAME. -A:AB$ Draw | Cost$ T | Defined$ Each | NumCards$ X | SpellDescription$ Each player draws a card for each charge counter on CARDNAME. +A:AB$ Draw | Cost$ T | Defined$ Each | NumCards$ X | References$ X | SpellDescription$ Each player draws a card for each charge counter on CARDNAME. SVar:X:Count$CardCounters.CHARGE SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/o/outmaneuver.txt b/res/cardsfolder/o/outmaneuver.txt index 00c6b0d827a..962c1edd1f1 100644 --- a/res/cardsfolder/o/outmaneuver.txt +++ b/res/cardsfolder/o/outmaneuver.txt @@ -2,7 +2,7 @@ Name:Outmaneuver ManaCost:X R Types:Instant Text:no text -A:SP$ Pump | Cost$ X R | KW$ HIDDEN CARDNAME assigns its combat damage as though it weren't blocked. | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Creature.blocked | TgtPrompt$ Select target blocked creature | SpellDescription$ X target blocked creatures assign their combat damage this turn as though they weren't blocked. +A:SP$ Pump | Cost$ X R | KW$ HIDDEN CARDNAME assigns its combat damage as though it weren't blocked. | TargetMin$ 0 | TargetMax$ MaxTgts | References$ X,MaxTgts | ValidTgts$ Creature.blocked | TgtPrompt$ Select target blocked creature | SpellDescription$ X target blocked creatures assign their combat damage this turn as though they weren't blocked. # It may seem wrong to not use X in the target, but since the Targets are what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Creature diff --git a/res/cardsfolder/o/outrage_shaman.txt b/res/cardsfolder/o/outrage_shaman.txt index b5f26645ecc..6259d275a53 100644 --- a/res/cardsfolder/o/outrage_shaman.txt +++ b/res/cardsfolder/o/outrage_shaman.txt @@ -4,7 +4,7 @@ Types:Creature Goblin Shaman Text:no text PT:2/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDealDamage | TriggerDescription$ Chroma - When CARDNAME enters the battlefield, it deals damage to target creature equal to the number of red mana symbols in the mana costs of permanents you control. -SVar:TrigDealDamage:DB$DealDamage | Tgt$ TgtC | NumDmg$ X +SVar:TrigDealDamage:DB$DealDamage | Tgt$ TgtC | NumDmg$ X | References$ X SVar:X:Count$Chroma.R SVar:PlayMain1:TRUE SVar:Rarity:Uncommon diff --git a/res/cardsfolder/o/outrider_en_kor.txt b/res/cardsfolder/o/outrider_en_kor.txt index 8675bd609a2..da3f52d6d90 100644 --- a/res/cardsfolder/o/outrider_en_kor.txt +++ b/res/cardsfolder/o/outrider_en_kor.txt @@ -4,7 +4,7 @@ Types:Creature Kor Rebel Knight Text:no text PT:2/2 K:Flanking -A:AB$ Effect | Cost$ 0 | Name$ en-Kor Redirection | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control to redirect the damage to | ReplacementEffects$ EnKorCombat,EnKorNonCombat | Triggers$ OutOfSight | SVars$ CombatDmg,NonCombatDmg,ExileEffect,RestDmgCombat,RestDmg,X,Y | Duration$ HostLeavesOrEOT | RememberObjects$ Self | ImprintCards$ Targeted | SpellDescription$ The next 1 damage that would be dealt to CARDNAME this turn is dealt to target creature you control instead. +A:AB$ Effect | Cost$ 0 | Name$ en-Kor Redirection | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control to redirect the damage to | ReplacementEffects$ EnKorCombat,EnKorNonCombat | Triggers$ OutOfSight | SVars$ CombatDmg,NonCombatDmg,ExileEffect,RestDmgCombat,RestDmg,X,Y | References$ EnKorCombat,EnKorNonCombat,OutOfSight,CombatDmg,NonCombatDmg,ExileEffect,RestDmgCombat,RestDmg,X,Y | Duration$ HostLeavesOrEOT | RememberObjects$ Self | ImprintCards$ Targeted | SpellDescription$ The next 1 damage that would be dealt to CARDNAME this turn is dealt to target creature you control instead. SVar:EnKorCombat:Event$ DamageDone | ValidTarget$ Creature.IsRemembered | IsCombat$ True | ReplaceWith$ CombatDmg | Description$ The next 1 damage that would be dealt to Outrider en-Kor this turn is dealt to target creature you control instead. SVar:EnKorNonCombat:Event$ DamageDone | ValidTarget$ Creature.IsRemembered | IsCombat$ False | ReplaceWith$ NonCombatDmg | Secondary$ True | Description$ The next 1 damage that would be dealt to Outrider en-Kor this turn is dealt to target creature you control instead. SVar:CombatDmg:AB$DealDamage | Cost$ 0 | Defined$ Imprinted | DamageSource$ ReplacedSource | CombatDamage$ True | NumDmg$ 1 | SubAbility$ RestDmgCombat | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE1 diff --git a/res/cardsfolder/o/overbeing_of_myth.txt b/res/cardsfolder/o/overbeing_of_myth.txt index 90531d420e3..a9eb0a132f1 100644 --- a/res/cardsfolder/o/overbeing_of_myth.txt +++ b/res/cardsfolder/o/overbeing_of_myth.txt @@ -3,7 +3,7 @@ ManaCost:GU GU GU GU GU Types:Creature Spirit Avatar Text:no text PT:*/* -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of cards in your hand. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | References$ X | Description$ CARDNAME's power and toughness are each equal to the number of cards in your hand. SVar:X:Count$InYourHand T:Mode$ Phase | Phase$ Draw | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ At the beginning of your draw step, draw an additional card. SVar:TrigDraw:AB$Draw | Cost$ 0 | NumCards$ 1 | Defined$ You diff --git a/res/cardsfolder/o/overgrown_battlement.txt b/res/cardsfolder/o/overgrown_battlement.txt index 883c042c455..271fed4b6d9 100644 --- a/res/cardsfolder/o/overgrown_battlement.txt +++ b/res/cardsfolder/o/overgrown_battlement.txt @@ -4,7 +4,7 @@ Types:Creature Wall Text:no text PT:0/4 K:Defender -A:AB$ Mana | Cost$ T | Produced$ G | Amount$ X | SpellDescription$ Add G to your mana pool for each Creature with defender you control. +A:AB$ Mana | Cost$ T | Produced$ G | Amount$ X | References$ X | SpellDescription$ Add G to your mana pool for each Creature with defender you control. SVar:X:Count$Valid Creature.withDefender+YouCtrl SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/o/override.txt b/res/cardsfolder/o/override.txt index 8d313c95cf4..391a1114d88 100644 --- a/res/cardsfolder/o/override.txt +++ b/res/cardsfolder/o/override.txt @@ -2,7 +2,7 @@ Name:Override ManaCost:2 U Types:Instant Text:no text -A:SP$ Counter | Cost$ 2 U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | SpellDescription$ Counter target spell unless its controller pays 1 for each artifact you control. +A:SP$ Counter | Cost$ 2 U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | References$ X | SpellDescription$ Counter target spell unless its controller pays 1 for each artifact you control. SVar:X:Count$Valid Artifact.YouCtrl SVar:RemAIDeck:True SVar:RemRandomDeck:True diff --git a/res/cardsfolder/o/overrule.txt b/res/cardsfolder/o/overrule.txt index b9f95899004..faf2ab82954 100644 --- a/res/cardsfolder/o/overrule.txt +++ b/res/cardsfolder/o/overrule.txt @@ -2,8 +2,8 @@ Name:Overrule ManaCost:X W U Types:Instant Text:no text -A:SP$ Counter | Cost$ X W U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | SubAbility$ DBGainLife | SpellDescription$ Counter target spell unless its controller pays X. You gain X life. -SVar:DBGainLife:DB$GainLife | LifeAmount$ X +A:SP$ Counter | Cost$ X W U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | References$ X | SubAbility$ DBGainLife | SpellDescription$ Counter target spell unless its controller pays X. You gain X life. +SVar:DBGainLife:DB$GainLife | LifeAmount$ X | References$ X SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/o/overwhelming_forces.txt b/res/cardsfolder/o/overwhelming_forces.txt index 0fc68501bc9..7dca7688149 100644 --- a/res/cardsfolder/o/overwhelming_forces.txt +++ b/res/cardsfolder/o/overwhelming_forces.txt @@ -3,7 +3,7 @@ ManaCost:6 B B Types:Sorcery Text:no text A:SP$ DestroyAll | Cost$ 6 B B | ValidCards$ Creature | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | RememberDestroyed$ True | SubAbility$ DBDrawCard | SpellDescription$ Destroy all creatures target opponent controls. Draw a card for each creature destroyed this way. -SVar:DBDrawCard:DB$Draw | NumCards$ X +SVar:DBDrawCard:DB$Draw | NumCards$ X | References$ X SVar:X:Remembered$Amount SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/overwhelming_forces.jpg diff --git a/res/cardsfolder/o/overwhelming_intellect.txt b/res/cardsfolder/o/overwhelming_intellect.txt index 98de3772952..d22f39d10c1 100644 --- a/res/cardsfolder/o/overwhelming_intellect.txt +++ b/res/cardsfolder/o/overwhelming_intellect.txt @@ -3,7 +3,7 @@ ManaCost:4 U U Types:Instant Text:no text A:SP$ Counter | Cost$ 4 U U | TargetType$ Spell | TgtPrompt$ Select target Creature spell | ValidTgts$ Creature | SubAbility$ DBDraw | SpellDescription$ Counter target creature spell. Draw cards equal to that spell's converted mana cost. -SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X +SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X | References$ X SVar:X:Targeted$CardManaCost SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/overwhelming_intellect.jpg diff --git a/res/cardsfolder/o/overwhelming_stampede.txt b/res/cardsfolder/o/overwhelming_stampede.txt index 7108d638535..15130edb223 100644 --- a/res/cardsfolder/o/overwhelming_stampede.txt +++ b/res/cardsfolder/o/overwhelming_stampede.txt @@ -2,7 +2,7 @@ Name:Overwhelming Stampede ManaCost:3 G G Types:Sorcery Text:no text -A:SP$ PumpAll | Cost$ 3 G G | ValidCards$ Creature.YouCtrl | NumAtt$ +X | NumDef$ +X | KW$ Trample | SpellDescription$ Until end of turn, creatures you control gain trample and get +X/+X, where X is the greatest power among creatures you control. +A:SP$ PumpAll | Cost$ 3 G G | ValidCards$ Creature.YouCtrl | NumAtt$ +X | NumDef$ +X | References$ X | KW$ Trample | SpellDescription$ Until end of turn, creatures you control gain trample and get +X/+X, where X is the greatest power among creatures you control. SVar:X:Count$GreatestPowerYouControl SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/overwhelming_stampede.jpg diff --git a/res/cardsfolder/o/ovinomancer.txt b/res/cardsfolder/o/ovinomancer.txt index 9d0b40eb8f9..e5e9ad82547 100644 --- a/res/cardsfolder/o/ovinomancer.txt +++ b/res/cardsfolder/o/ovinomancer.txt @@ -7,7 +7,7 @@ T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefi A:AB$ Destroy | Cost$ Return<1/CARDNAME> T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NoRegen$ True | SubAbility$ DBToken | SpellDescription$ Destroy target creature. It can't be regenerated. SVar:DBToken:DB$Token | TokenAmount$ 1 | TokenName$ Sheep | TokenTypes$ Creature,Sheep | TokenOwner$ TargetedController | TokenColors$ Green | TokenPower$ 0 | TokenToughness$ 1 | SpellDescription$ That creature's controller puts a 0/1 green Sheep creature token onto the battlefield. SVar:TrigBounce:AB$ ChangeZone | Cost$ 0 | Origin$ Battlefield | Destination$ Hand | ValidTgts$ Land.Basic+YouCtrl | TargetMin$ 0 | TargetMax$ 3 | TgtPrompt$ Select 3 basic lands you control | Optional$ True | RememberChanged$ True | SubAbility$ DBSacSelf -SVar:DBSacSelf:DB$ Sacrifice | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT3 +SVar:DBSacSelf:DB$ Sacrifice | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT3 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:RemAIDeck:True diff --git a/res/cardsfolder/p/packs_disdain.txt b/res/cardsfolder/p/packs_disdain.txt index a9df868be80..d9672bbad08 100644 --- a/res/cardsfolder/p/packs_disdain.txt +++ b/res/cardsfolder/p/packs_disdain.txt @@ -3,7 +3,7 @@ ManaCost:1 B Types:Instant Text:no text A:SP$ ChooseType | Cost$ 1 B | Defined$ You | Type$ Creature | SubAbility$ DBPump| SpellDescription$ Choose a creature type. Target creature gets -1/-1 until end of turn for each permanent of the chosen type you control. -SVar:DBPump:DB$ Pump | Cost$ 0 | NumAtt$ -X | NumDef$ -X | ValidTgts$ Creature | TgtPrompt$ Select target creature. +SVar:DBPump:DB$ Pump | Cost$ 0 | NumAtt$ -X | NumDef$ -X | References$ X | ValidTgts$ Creature | TgtPrompt$ Select target creature. SVar:X:Count$Valid Permanent.ChosenType+YouCtrl SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/p/pain_kami.txt b/res/cardsfolder/p/pain_kami.txt index 82ca99e23b4..c454d0db50f 100644 --- a/res/cardsfolder/p/pain_kami.txt +++ b/res/cardsfolder/p/pain_kami.txt @@ -3,7 +3,7 @@ ManaCost:2 R Types:Creature Spirit Text:no text PT:2/2 -A:AB$ DealDamage | Cost$ X R Sac<1/CARDNAME> | Tgt$ TgtC | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target creature. +A:AB$ DealDamage | Cost$ X R Sac<1/CARDNAME> | Tgt$ TgtC | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to target creature. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/p/painbringer.txt b/res/cardsfolder/p/painbringer.txt index faa95abdff7..8e2722066bd 100644 --- a/res/cardsfolder/p/painbringer.txt +++ b/res/cardsfolder/p/painbringer.txt @@ -3,7 +3,7 @@ ManaCost:2 B B Types:Creature Human Minion Text:no text PT:1/1 -A:AB$ Pump | Cost$ T ExileFromGrave | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -ChosenX | NumDef$ -ChosenX | SpellDescription$ Target creature gets -X/-X until end of turn, where X is the number of cards exiled this way. +A:AB$ Pump | Cost$ T ExileFromGrave | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -ChosenX | NumDef$ -ChosenX | References$ X | SpellDescription$ Target creature gets -X/-X until end of turn, where X is the number of cards exiled this way. SVar:X:XChoice SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/p/paladin_of_prahv.txt b/res/cardsfolder/p/paladin_of_prahv.txt index 5a21cee7db2..ecb416da592 100644 --- a/res/cardsfolder/p/paladin_of_prahv.txt +++ b/res/cardsfolder/p/paladin_of_prahv.txt @@ -4,7 +4,7 @@ Types:Creature Human Knight Text:no text PT:3/4 T:Mode$ DamageDone | ValidSource$ Card.Self | Execute$ TrigGain | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals damage, you gain that much life. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount A:AB$ Effect | Cost$ 1 W | Name$ Paladin of Prahv Effect | ValidTgts$ Creature | TgtPrompt$ Select target creature | Triggers$ TrigDamage | SVars$ TrigGain,X | RememberObjects$ Targeted | ActivationZone$ Hand | ActivationLimit$ 1 | PlayerTurn$ True | ActivationPhases$ Upkeep | PrecostDesc$ Forecast - | CostDesc$ 1 W, Reveal CARDNAME from your hand: | SpellDescription$ Whenever target creature deals damage this turn, you gain that much life. (Activate this ability only during your upkeep and only once each turn.) SVar:TrigDamage:Mode$ DamageDone | ValidSource$ Creature.IsRemembered | Execute$ TrigGain | TriggerDescription$ Whenever the targeted creature deals damage, you gain that much life. diff --git a/res/cardsfolder/p/pallimud.txt b/res/cardsfolder/p/pallimud.txt index 86cab8c97ae..1132ce6a3a2 100644 --- a/res/cardsfolder/p/pallimud.txt +++ b/res/cardsfolder/p/pallimud.txt @@ -3,7 +3,7 @@ ManaCost:2 R Types:Creature Beast Text:As CARDNAME enters the battlefield, choose an opponent. PT:*/3 -S:Mode$ Continuous | EffectZone$ Battlefield | CharacteristicDefining$ True | SetPower$ X | Description$ CARDNAME's power is equal to the number of tapped lands the chosen player controls. +S:Mode$ Continuous | EffectZone$ Battlefield | CharacteristicDefining$ True | SetPower$ X | References$ X | Description$ CARDNAME's power is equal to the number of tapped lands the chosen player controls. SVar:X:Count$Valid Land.tapped+YouDontCtrl SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/pallimud.jpg diff --git a/res/cardsfolder/p/panacea.txt b/res/cardsfolder/p/panacea.txt index 1c8b16313b4..dcdee70edd2 100644 --- a/res/cardsfolder/p/panacea.txt +++ b/res/cardsfolder/p/panacea.txt @@ -2,7 +2,7 @@ Name:Panacea ManaCost:4 Types:Artifact Text:no text -A:AB$ PreventDamage | Cost$ X X T | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | Amount$ X | SpellDescription$ Prevent the next X damage that would be dealt to target creature or player this turn. +A:AB$ PreventDamage | Cost$ X X T | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | Amount$ X | References$ X | SpellDescription$ Prevent the next X damage that would be dealt to target creature or player this turn. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/p/panoptic_mirror.txt b/res/cardsfolder/p/panoptic_mirror.txt index 565c0b62380..9f861c168db 100644 --- a/res/cardsfolder/p/panoptic_mirror.txt +++ b/res/cardsfolder/p/panoptic_mirror.txt @@ -2,7 +2,7 @@ Name:Panoptic Mirror ManaCost:5 Types:Artifact Text:no text -A:AB$ ChangeZone | Cost$ X T | Imprint$ True | Origin$ Hand | Destination$ Exile | ChangeType$ Instant.cmcEQX,Sorcery.cmcEQX | ChangeNum$ 1 | PrecostDesc$ Imprint - | SpellDescription$ You may exile an instant or sorcery card with converted mana cost X from your hand. +A:AB$ ChangeZone | Cost$ X T | Imprint$ True | Origin$ Hand | Destination$ Exile | ChangeType$ Instant.cmcEQX,Sorcery.cmcEQX | References$ X | ChangeNum$ 1 | PrecostDesc$ Imprint - | SpellDescription$ You may exile an instant or sorcery card with converted mana cost X from your hand. SVar:X:Count$xPaid T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | OptionalDecider$ You | TriggerZones$ Battlefield | Execute$ TrigCopy | TriggerDescription$ At the beginning of your upkeep, you may copy a card exiled with Panoptic Mirror. If you do, you may cast the copy without paying its mana cost. SVar:TrigCopy:AB$ CopySpell | Cost$ 0 | Defined$ Imprinted diff --git a/res/cardsfolder/p/paraselene.txt b/res/cardsfolder/p/paraselene.txt index 163054b078d..08fe6ff2aee 100644 --- a/res/cardsfolder/p/paraselene.txt +++ b/res/cardsfolder/p/paraselene.txt @@ -3,7 +3,7 @@ ManaCost:2 W Types:Sorcery Text:no text A:SP$ DestroyAll | Cost$ 2 W | ValidCards$ Enchantment | RememberDestroyed$ True | SubAbility$ DBGainLife | SpellDescription$ Destroy all enchantments. You gain 1 life for each enchantment destroyed this way. -SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ X +SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Remembered$Amount SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/paraselene.jpg diff --git a/res/cardsfolder/p/pariah.txt b/res/cardsfolder/p/pariah.txt index 6fc19ef477b..e2bc7bdddc1 100644 --- a/res/cardsfolder/p/pariah.txt +++ b/res/cardsfolder/p/pariah.txt @@ -6,8 +6,8 @@ K:Enchant creature A:SP$ Attach | Cost$ 2 W | ValidTgts$ Creature | TgtPrompt$ Select target creature | AILogic$ Curse R:Event$ DamageDone | ValidTarget$ You | ReplaceWith$ DmgEnchanted | IsCombat$ False | Description$ All damage that would be dealt to you is dealt to enchanted creature instead. R:Event$ DamageDone | ValidTarget$ You | ReplaceWith$ DmgEnchantedCombat | IsCombat$ True | Secondary$ True | Description$ All damage that would be dealt to you is dealt to enchanted creature instead. -SVar:DmgEnchanted:AB$DealDamage | Cost$ 0 | Defined$ Enchanted | DamageSource$ ReplacedSource | NumDmg$ X -SVar:DmgEnchantedCombat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ Enchanted | DamageSource$ ReplacedSource | NumDmg$ X +SVar:DmgEnchanted:AB$DealDamage | Cost$ 0 | Defined$ Enchanted | DamageSource$ ReplacedSource | NumDmg$ X | References$ X +SVar:DmgEnchantedCombat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ Enchanted | DamageSource$ ReplacedSource | NumDmg$ X | References$ X SVar:X:ReplaceCount$DamageAmount SVar:Picture:http://www.wizards.com/global/images/magic/general/pariah.jpg SetInfo:USG|Rare|http://magiccards.info/scans/en/us/28.jpg diff --git a/res/cardsfolder/p/pariahs_shield.txt b/res/cardsfolder/p/pariahs_shield.txt index 9d9f215e0c8..cc63e347f4d 100644 --- a/res/cardsfolder/p/pariahs_shield.txt +++ b/res/cardsfolder/p/pariahs_shield.txt @@ -5,8 +5,8 @@ Text:no text K:eqPump 3:+0/+0 R:Event$ DamageDone | ValidTarget$ You | ReplaceWith$ DmgEquipped | IsCombat$ False | IsEquipping$ True | Description$ All damage that would be dealt to you is dealt to equipped creature instead. R:Event$ DamageDone | ValidTarget$ You | ReplaceWith$ DmgEquippedCombat | IsCombat$ True | IsEquipping$ True | Secondary$ True | Description$ All damage that would be dealt to you is dealt to equipped creature instead. -SVar:DmgEquipped:AB$DealDamage | Cost$ 0 | Defined$ Equipped | DamageSource$ ReplacedSource | NumDmg$ X -SVar:DmgEquippedCombat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ Equipped | DamageSource$ ReplacedSource | NumDmg$ X +SVar:DmgEquipped:AB$DealDamage | Cost$ 0 | Defined$ Equipped | DamageSource$ ReplacedSource | NumDmg$ X | References$ X +SVar:DmgEquippedCombat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ Equipped | DamageSource$ ReplacedSource | NumDmg$ X | References$ X SVar:X:ReplaceCount$DamageAmount SVar:Picture:http://www.wizards.com/global/images/magic/general/pariahs_shield.jpg SetInfo:RAV|Rare|http://magiccards.info/scans/en/rav/267.jpg diff --git a/res/cardsfolder/p/part_water.txt b/res/cardsfolder/p/part_water.txt index c7847740b5a..d54ceab388c 100644 --- a/res/cardsfolder/p/part_water.txt +++ b/res/cardsfolder/p/part_water.txt @@ -2,7 +2,7 @@ Name:Part Water ManaCost:X X U Types:Sorcery Text:no text -A:SP$ Pump | Cost$ X X U | KW$ Islandwalk | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Creature | TgtPrompt$ Select target Creatures | SpellDescription$ X target creatures gain islandwalk until end of turn. +A:SP$ Pump | Cost$ X X U | KW$ Islandwalk | TargetMin$ 0 | TargetMax$ MaxTgts | References$ X,MaxTgts | ValidTgts$ Creature | TgtPrompt$ Select target Creatures | SpellDescription$ X target creatures gain islandwalk until end of turn. # It may seem wrong to not use X in the target, but since the Targets are what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Creature diff --git a/res/cardsfolder/p/patriarchs_desire.txt b/res/cardsfolder/p/patriarchs_desire.txt index 1ba2423d406..a5ef2cf08d9 100644 --- a/res/cardsfolder/p/patriarchs_desire.txt +++ b/res/cardsfolder/p/patriarchs_desire.txt @@ -4,7 +4,7 @@ Types:Enchantment Aura Text:no text K:Enchant creature A:SP$ Attach | Cost$ 3 B | ValidTgts$ Creature | AILogic$ Curse -S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ X | AddToughness$ Y | Description$ Enchanted creature gets +2/-2. Threshold - Enchanted creature gets an additional +2/-2 as long as seven or more cards are in your graveyard. +S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ X | AddToughness$ Y | References$ X,Y | Description$ Enchanted creature gets +2/-2. Threshold - Enchanted creature gets an additional +2/-2 as long as seven or more cards are in your graveyard. SVar:X:Count$Threshold.4.2 SVar:Y:Count$Threshold.4.2/Negative SVar:RemAIDeck:True diff --git a/res/cardsfolder/p/patricians_scorn.txt b/res/cardsfolder/p/patricians_scorn.txt index 40c4fc886a0..efae8cad967 100644 --- a/res/cardsfolder/p/patricians_scorn.txt +++ b/res/cardsfolder/p/patricians_scorn.txt @@ -3,7 +3,7 @@ ManaCost:3 W Types:Instant Text:no text A:SP$ DestroyAll | Cost$ 3 W | ValidCards$ Enchantment | SpellDescription$ Destroy all enchantments. -A:SP$ DestroyAll | Cost$ 0 | ValidCards$ Enchantment | CheckSVar$ X | SVarCompare$ GE1 | SpellDescription$ If you've cast another white spell this turn, you may cast CARDNAME without paying its mana cost. Destroy all enchantments. +A:SP$ DestroyAll | Cost$ 0 | ValidCards$ Enchantment | CheckSVar$ X | SVarCompare$ GE1 | References$ X | SpellDescription$ If you've cast another white spell this turn, you may cast CARDNAME without paying its mana cost. Destroy all enchantments. SVar:X:Count$ThisTurnCast_Card.White+Other+YouCtrl SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/patricians_scorn.jpg diff --git a/res/cardsfolder/p/peach_garden_oath.txt b/res/cardsfolder/p/peach_garden_oath.txt index 39b1d5048ac..70b197d36e9 100644 --- a/res/cardsfolder/p/peach_garden_oath.txt +++ b/res/cardsfolder/p/peach_garden_oath.txt @@ -2,7 +2,7 @@ Name:Peach Garden Oath ManaCost:W Types:Sorcery Text:no text -A:SP$ GainLife | Cost$ W | LifeAmount$ X | SpellDescription$ You gain 2 life for each creature you control. +A:SP$ GainLife | Cost$ W | LifeAmount$ X | References$ X | SpellDescription$ You gain 2 life for each creature you control. SVar:X:Count$TypeYouCtrl.Creature/Times.2 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/peach_garden_oath.jpg diff --git a/res/cardsfolder/p/peer_pressure.txt b/res/cardsfolder/p/peer_pressure.txt index 8829bd41e08..8f1595fcb9f 100644 --- a/res/cardsfolder/p/peer_pressure.txt +++ b/res/cardsfolder/p/peer_pressure.txt @@ -3,7 +3,7 @@ ManaCost:3 U Types:Sorcery Text:no text A:SP$ ChooseType | Cost$ 3 U | Defined$ You | Type$ Creature | SubAbility$ ApplyPressure | SpellDescription$ Choose a creature type. If you control more creatures of that type than each other player, you gain control of all creatures of that type. (This effect lasts indefinitely.) -SVar:ApplyPressure:DB$ GainControl | AllValid$ Creature.ChosenType | NewController$ You | ConditionCheckSVar$ YourPeerGroup | ConditionSVarCompare$ GTY +SVar:ApplyPressure:DB$ GainControl | AllValid$ Creature.ChosenType | NewController$ You | ConditionCheckSVar$ YourPeerGroup | ConditionSVarCompare$ GTY | References$ YourPeerGroup,Y SVar:YourPeerGroup:Count$Valid Creature.ChosenType+YouCtrl SVar:Y:Count$Valid Creature.ChosenType+YouDontCtrl SVar:RemAIDeck:True diff --git a/res/cardsfolder/p/pennon_blade.txt b/res/cardsfolder/p/pennon_blade.txt index 48db87a707a..a98d6c5ab22 100644 --- a/res/cardsfolder/p/pennon_blade.txt +++ b/res/cardsfolder/p/pennon_blade.txt @@ -3,7 +3,7 @@ ManaCost:3 Types:Artifact Equipment Text:no text K:eqPump 4:+0/+0 -S:Mode$ Continuous | Affected$ Card.EquippedBy | AddPower$ X | AddToughness$ X | Description$ Equipped creature gets +1/+1 for each creature you control. +S:Mode$ Continuous | Affected$ Card.EquippedBy | AddPower$ X | AddToughness$ X | References$ X | Description$ Equipped creature gets +1/+1 for each creature you control. SVar:X:Count$Valid Creature.YouCtrl SVar:BuffedBy:Creature SVar:Rarity:Uncommon diff --git a/res/cardsfolder/p/people_of_the_woods.txt b/res/cardsfolder/p/people_of_the_woods.txt index 3329ebb161a..9ccbadd7b87 100644 --- a/res/cardsfolder/p/people_of_the_woods.txt +++ b/res/cardsfolder/p/people_of_the_woods.txt @@ -3,7 +3,7 @@ ManaCost:G G Types:Creature Human Text:no text PT:1/* -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetToughness$ X | Description$ CARDNAME's toughness is equal to the number of Forests you control. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetToughness$ X | References$ X | Description$ CARDNAME's toughness is equal to the number of Forests you control. SVar:X:Count$Valid Forest.YouCtrl SVar:BuffedBy:Forest SVar:Rarity:Uncommon diff --git a/res/cardsfolder/p/permafrost_trap.txt b/res/cardsfolder/p/permafrost_trap.txt index 6365d07ba6f..89f8ffa9642 100644 --- a/res/cardsfolder/p/permafrost_trap.txt +++ b/res/cardsfolder/p/permafrost_trap.txt @@ -3,7 +3,7 @@ ManaCost:2 U U Types:Instant Trap Text:no text A:SP$Tap | Cost$ 2 U U | TargetMin$ 0 | TargetMax$ 2 | Tgt$ TgtC | SubAbility$ DBPump | SpellDescription$ Tap up to two target creatures. Those creatures don't untap during their controller's next untap step. -A:SP$Tap | Cost$ U | CheckSVar$ GreenCreats | TargetMin$ 0 | TargetMax$ 2 | Tgt$ TgtC | SubAbility$ DBPump | SpellDescription$ If an opponent had a green creature enter the battlefield under his or her control this turn, you may pay U rather than pay CARDNAME's mana cost. +A:SP$Tap | Cost$ U | CheckSVar$ GreenCreats | References$ GreenCreats | TargetMin$ 0 | TargetMax$ 2 | Tgt$ TgtC | SubAbility$ DBPump | SpellDescription$ If an opponent had a green creature enter the battlefield under his or her control this turn, you may pay U rather than pay CARDNAME's mana cost. SVar:DBPump:DB$Pump | Defined$ Targeted | KW$ HIDDEN This card doesn't untap during your next untap step. | Permanent$ True SVar:GreenCreats:Count$ThisTurnEntered_Battlefield_Creature.Green+YouDontCtrl SVar:Rarity:Uncommon diff --git a/res/cardsfolder/p/pernicious_deed.txt b/res/cardsfolder/p/pernicious_deed.txt index ef839300c87..9c012cd0f51 100644 --- a/res/cardsfolder/p/pernicious_deed.txt +++ b/res/cardsfolder/p/pernicious_deed.txt @@ -2,7 +2,7 @@ Name:Pernicious Deed ManaCost:1 B G Types:Enchantment Text:no text -A:AB$ DestroyAll | Cost$ X Sac<1/CARDNAME> | ValidCards$ Artifact.cmcLEX,Creature.cmcLEX,Enchantment.cmcLEX | SpellDescription$ Destroy each artifact, creature, and enchantment with converted mana cost X or less. +A:AB$ DestroyAll | Cost$ X Sac<1/CARDNAME> | ValidCards$ Artifact.cmcLEX,Creature.cmcLEX,Enchantment.cmcLEX | References$ X | SpellDescription$ Destroy each artifact, creature, and enchantment with converted mana cost X or less. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/p/pestilence_rats.txt b/res/cardsfolder/p/pestilence_rats.txt index 8f595f6938a..eabf8c4090f 100644 --- a/res/cardsfolder/p/pestilence_rats.txt +++ b/res/cardsfolder/p/pestilence_rats.txt @@ -3,7 +3,7 @@ ManaCost:2 B Types:Creature Rat Text:no text PT:*/3 -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | Description$ CARDNAME's power is equal to the number of other Rats on the battlefield. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | References$ X | Description$ CARDNAME's power is equal to the number of other Rats on the battlefield. SVar:X:Count$Valid Rat.Other SVar:BuffedBy:Rat SVar:RemRandomDeck:True diff --git a/res/cardsfolder/p/petalmane_baku.txt b/res/cardsfolder/p/petalmane_baku.txt index 09f10ff5047..425fe4ab600 100644 --- a/res/cardsfolder/p/petalmane_baku.txt +++ b/res/cardsfolder/p/petalmane_baku.txt @@ -6,7 +6,7 @@ PT:1/2 T:Mode$ SpellCast | ValidCard$ Spirit,Arcane | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ Whenever you cast a Spirit or Arcane spell, you may put a ki counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ KI | CounterNum$ 1 #ChosenX SVar created by Cost payment -A:AB$ Mana | Cost$ 1 SubCounter | Produced$ Any | Amount$ ChosenX | SpellDescription$ Add X mana of any one color to your mana pool. +A:AB$ Mana | Cost$ 1 SubCounter | Produced$ Any | Amount$ ChosenX | References$ X | SpellDescription$ Add X mana of any one color to your mana pool. SVar:X:XChoice SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/p/phantom_nishoba.txt b/res/cardsfolder/p/phantom_nishoba.txt index 1e2d7b1933f..11bf4f8c2d0 100644 --- a/res/cardsfolder/p/phantom_nishoba.txt +++ b/res/cardsfolder/p/phantom_nishoba.txt @@ -6,7 +6,7 @@ PT:0/0 K:etbCounter:P1P1:7 K:Trample T:Mode$ DamageDone | ValidSource$ Card.Self | Execute$ TrigGain | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals damage, you gain that much life. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount K:If damage would be dealt to CARDNAME, prevent that damage. Remove a +1/+1 counter from CARDNAME. SVar:Rarity:Rare diff --git a/res/cardsfolder/p/phthisis.txt b/res/cardsfolder/p/phthisis.txt index df8dac78974..745c944ccc4 100644 --- a/res/cardsfolder/p/phthisis.txt +++ b/res/cardsfolder/p/phthisis.txt @@ -4,7 +4,7 @@ Types:Sorcery Text:no text K:Suspend:5:1 B A:SP$ Destroy | Cost$ 3 B B B B | ValidTgts$ Creature | TgtPrompt$ Select target creature | SubAbility$ DBLoseLife | SpellDescription$ Destroy target creature. Its controller loses life equal to its power plus its toughness. -SVar:DBLoseLife:DB$LoseLife | Defined$ TargetedController | LifeAmount$ X +SVar:DBLoseLife:DB$LoseLife | Defined$ TargetedController | LifeAmount$ X | References$ X SVar:X:Targeted$CardSumPT SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/phthisis.jpg diff --git a/res/cardsfolder/p/phyrexian_delver.txt b/res/cardsfolder/p/phyrexian_delver.txt index a0a44be30d8..828f535f00a 100644 --- a/res/cardsfolder/p/phyrexian_delver.txt +++ b/res/cardsfolder/p/phyrexian_delver.txt @@ -5,7 +5,7 @@ Text:no text PT:3/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield, return target creature card from your graveyard to the battlefield. You lose life equal to that card's converted mana cost. SVar:TrigChangeZone:AB$ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Battlefield | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Choose target creature card in your graveyard | GainControl$ True | ChangeNum$ 1 | SubAbility$ DBLoseLifeYou -SVar:DBLoseLifeYou:DB$LoseLife | Defined$ You | LifeAmount$ X +SVar:DBLoseLifeYou:DB$LoseLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Targeted$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/p/phyrexian_devourer.txt b/res/cardsfolder/p/phyrexian_devourer.txt index 94e11ea5a17..e4e4e5df38f 100644 --- a/res/cardsfolder/p/phyrexian_devourer.txt +++ b/res/cardsfolder/p/phyrexian_devourer.txt @@ -5,7 +5,7 @@ Text:no text PT:1/1 T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Creature.Self+powerGE7 | PresentCompare$ GE1 | Execute$ TrigSac | TriggerDescription$ When CARDNAME's power is 7 or greater, sacrifice it. SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ Self -A:AB$ PutCounter | Cost$ ExileFromTop<1/Card> | Defined$ Self | CounterNum$ X | CounterType$ P1P1 | SpellDescription$ Put X +1/+1 counters on CARDNAME, where X is the exiled card's converted mana cost. +A:AB$ PutCounter | Cost$ ExileFromTop<1/Card> | Defined$ Self | CounterNum$ X | References$ X | CounterType$ P1P1 | SpellDescription$ Put X +1/+1 counters on CARDNAME, where X is the exiled card's converted mana cost. SVar:X:Exiled$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/p/phyrexian_etchings.txt b/res/cardsfolder/p/phyrexian_etchings.txt index 610f6c2dc16..2043b9b8312 100644 --- a/res/cardsfolder/p/phyrexian_etchings.txt +++ b/res/cardsfolder/p/phyrexian_etchings.txt @@ -4,9 +4,9 @@ Types:Enchantment Text:no text K:Cumulative upkeep:B T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | Execute$ TrigDraw | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your end step, draw a card for each age counter on CARDNAME. -SVar:TrigDraw:AB$ Draw | Cost$ 0 | NumCards$ X +SVar:TrigDraw:AB$ Draw | Cost$ 0 | NumCards$ X | References$ X T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | Execute$ TrigLoseLife | ValidCard$ Card.Self | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME is put into a graveyard from the battlefield, you lose 2 life for each age counter on it. -SVar:TrigLoseLife:AB$ LoseLife | Cost$ 0 | LifeAmount$ Y +SVar:TrigLoseLife:AB$ LoseLife | Cost$ 0 | LifeAmount$ Y | References$ Y SVar:X:Count$CardCounters.AGE SVar:Y:TriggeredCard$CardCounters.AGE/Times.2 SVar:RemAIDeck:True diff --git a/res/cardsfolder/p/phyrexian_hydra.txt b/res/cardsfolder/p/phyrexian_hydra.txt index 55418dd1120..d1e2ce86861 100644 --- a/res/cardsfolder/p/phyrexian_hydra.txt +++ b/res/cardsfolder/p/phyrexian_hydra.txt @@ -5,7 +5,7 @@ Text:no text PT:7/7 K:Infect R:Event$ DamageDone | ValidTarget$ Card.Self | ReplaceWith$ Counters | PreventionEffect$ True | Description$ If damage would be dealt to CARDNAME, prevent that damage. Put a -1/-1 counter on CARDNAME for each 1 damage prevented this way. -SVar:Counters:AB$PutCounter | Cost$ 0 | Defined$ ReplacedTarget | CounterType$ M1M1 | CounterNum$ X +SVar:Counters:AB$PutCounter | Cost$ 0 | Defined$ ReplacedTarget | CounterType$ M1M1 | CounterNum$ X | References$ X SVar:X:ReplaceCount$DamageAmount SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/phyrexian_hydra.jpg diff --git a/res/cardsfolder/p/phyrexian_ingester.txt b/res/cardsfolder/p/phyrexian_ingester.txt index 5a261c6c9f7..ec9ce97a484 100644 --- a/res/cardsfolder/p/phyrexian_ingester.txt +++ b/res/cardsfolder/p/phyrexian_ingester.txt @@ -5,7 +5,7 @@ Text:no text PT:3/3 T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | OptionalDecider$ You | Execute$ TrigExile | TriggerDescription$ Imprint - When CARDNAME enters the battlefield, you may exile target nontoken creature. SVar:TrigExile:AB$ChangeZone | Cost$ 0 | Imprint$ True | ValidTgts$ Creature.nonToken | TgtPrompt$ Select target nontoken creature | Origin$ Battlefield | Destination$ Exile -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ Y | Description$ CARDNAME gets +X/+Y, where X is the exiled creature card's power and Y is its toughness. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ Y | References$ X,Y | Description$ CARDNAME gets +X/+Y, where X is the exiled creature card's power and Y is its toughness. SVar:X:Count$ImprintedCardPower SVar:Y:Count$ImprintedCardToughness SVar:Rarity:Rare diff --git a/res/cardsfolder/p/phyrexian_negator.txt b/res/cardsfolder/p/phyrexian_negator.txt index a3929cd5fce..f1995228fc1 100644 --- a/res/cardsfolder/p/phyrexian_negator.txt +++ b/res/cardsfolder/p/phyrexian_negator.txt @@ -5,7 +5,7 @@ Text:no text PT:5/5 K:Trample T:Mode$ DamageDone | ValidTarget$ Card.Self | Execute$ TrigSac | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME is dealt damage, sacrifice that many permanents. -SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Amount$ X | SacValid$ Permanent +SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Amount$ X | SacValid$ Permanent | References$ X SVar:X:TriggerCount$DamageAmount SVar:RemAIDeck:True SVar:Rarity:Mythic diff --git a/res/cardsfolder/p/phyrexian_obliterator.txt b/res/cardsfolder/p/phyrexian_obliterator.txt index a6663fef9e2..50057e3a3c0 100644 --- a/res/cardsfolder/p/phyrexian_obliterator.txt +++ b/res/cardsfolder/p/phyrexian_obliterator.txt @@ -5,7 +5,7 @@ Text:no text PT:5/5 K:Trample T:Mode$ DamageDone | ValidTarget$ Card.Self | Execute$ TrigSac | TriggerZones$ Battlefield | TriggerDescription$ Whenever a source deals damage to CARDNAME, that source's controller sacrifices that many permanents. -SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Amount$ X | SacValid$ Permanent | Defined$ TriggeredSourceController +SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Amount$ X | References$ X | SacValid$ Permanent | Defined$ TriggeredSourceController SVar:X:TriggerCount$DamageAmount SVar:RemRandomDeck:True SVar:Rarity:Mythic diff --git a/res/cardsfolder/p/phyrexian_processor.txt b/res/cardsfolder/p/phyrexian_processor.txt index 0bf29b8fd76..edd455eb7f8 100644 --- a/res/cardsfolder/p/phyrexian_processor.txt +++ b/res/cardsfolder/p/phyrexian_processor.txt @@ -2,7 +2,7 @@ Name:Phyrexian Processor ManaCost:4 Types:Artifact Text:As CARDNAME enters the battlefield, pay any amount of life. -A:AB$ Token | Cost$ 4 T | TokenAmount$ 1 | TokenName$ Minion | TokenTypes$ Creature,Minion | TokenOwner$ You | TokenColors$ Black | TokenPower$ X | TokenToughness$ X | TokenImage$ B X X Minion | SpellDescription$ Put an X/X black Minion creature token onto the battlefield, where X is the life paid as Phyrexian Processor entered the battlefield. +A:AB$ Token | Cost$ 4 T | TokenAmount$ 1 | TokenName$ Minion | TokenTypes$ Creature,Minion | TokenOwner$ You | TokenColors$ Black | TokenPower$ X | TokenToughness$ X | References$ X | TokenImage$ B X X Minion | SpellDescription$ Put an X/X black Minion creature token onto the battlefield, where X is the life paid as Phyrexian Processor entered the battlefield. SVar:X:Count$xLifePaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/p/phyrexian_rebirth.txt b/res/cardsfolder/p/phyrexian_rebirth.txt index efe2bbd542d..d401c393c2f 100644 --- a/res/cardsfolder/p/phyrexian_rebirth.txt +++ b/res/cardsfolder/p/phyrexian_rebirth.txt @@ -3,7 +3,7 @@ ManaCost:4 W W Types:Sorcery Text:no text A:SP$ DestroyAll | Cost$ 4 W W | ValidCards$ Creature | RememberDestroyed$ True | SubAbility$ DBToken | SpellDescription$ Destroy all creatures, then put an X/X colorless Horror artifact creature token onto the battlefield, where X is the number of creatures destroyed this way. -SVar:DBToken:DB$Token | TokenAmount$ 1 | TokenName$ Horror | TokenTypes$ Artifact,Creature,Horror | TokenOwner$ You | TokenColors$ Colorless | TokenPower$ X | TokenToughness$ X +SVar:DBToken:DB$Token | TokenAmount$ 1 | TokenName$ Horror | TokenTypes$ Artifact,Creature,Horror | TokenOwner$ You | TokenColors$ Colorless | TokenPower$ X | TokenToughness$ X | References$ X SVar:X:Remembered$Amount SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/phyrexian_rebirth.jpg diff --git a/res/cardsfolder/p/phyrexian_swarmlord.txt b/res/cardsfolder/p/phyrexian_swarmlord.txt index e38ff31b742..be44b6cc641 100644 --- a/res/cardsfolder/p/phyrexian_swarmlord.txt +++ b/res/cardsfolder/p/phyrexian_swarmlord.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 K:Infect T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ At the beginning of your upkeep, put a 1/1 green Insect creature token with infect onto the battlefield for each poison counter your opponents have. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Insect | TokenTypes$ Creature,Insect | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Infect +SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | References$ X | TokenName$ Insect | TokenTypes$ Creature,Insect | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Infect SVar:X:Count$OppPoisonCounters SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/phyrexian_swarmlord.jpg diff --git a/res/cardsfolder/p/phyrexian_totem.txt b/res/cardsfolder/p/phyrexian_totem.txt index 02bf651f40e..d089eeea047 100644 --- a/res/cardsfolder/p/phyrexian_totem.txt +++ b/res/cardsfolder/p/phyrexian_totem.txt @@ -5,7 +5,7 @@ Text:no text A:AB$ Mana | Cost$ T | Produced$ B | Amount$ 1 | SpellDescription$ Add B to your mana pool. A:AB$ Animate | Cost$ 2 B | Defined$ Self | Power$ 5 | Toughness$ 5 | Types$ Creature,Artifact,Horror | Colors$ Black | Keywords$ Trample | SpellDescription$ CARDNAME becomes a 5/5 black Horror artifact creature with trample until end of turn. T:Mode$ DamageDone | ValidTarget$ Creature.Self | Execute$ TrigSac | TriggerDescription$ Whenever CARDNAME is dealt damage, if it's a creature, sacrifice that many permanents. -SVar:TrigSac:AB$Sacrifice | Cost$ 0 | SacValid$ Permanent | Amount$ X +SVar:TrigSac:AB$Sacrifice | Cost$ 0 | SacValid$ Permanent | Amount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/p/phyrexian_unlife.txt b/res/cardsfolder/p/phyrexian_unlife.txt index ca591c3dcc6..13445eb27ba 100644 --- a/res/cardsfolder/p/phyrexian_unlife.txt +++ b/res/cardsfolder/p/phyrexian_unlife.txt @@ -3,7 +3,7 @@ ManaCost:2 W Types:Enchantment Text:no text S:Mode$ Continuous | Affected$ You | AddKeyword$ You don't lose the game for having 0 or less life. | Description$ You don't lose the game for having 0 or less life. -S:Mode$ Continuous | CheckSVar$ UnlifeCondition | SVarCompare$ LE0 | Affected$ You | AddKeyword$ All damage is dealt to you as though its source had infect. | Description$ As long as you have 0 or less life, all damage is dealt to you as though its source had infect. +S:Mode$ Continuous | CheckSVar$ UnlifeCondition | SVarCompare$ LE0 | References$ UnlifeCondition | Affected$ You | AddKeyword$ All damage is dealt to you as though its source had infect. | Description$ As long as you have 0 or less life, all damage is dealt to you as though its source had infect. SVar:UnlifeCondition:Count$YourLifeTotal SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/phyrexian_unlife.jpg diff --git a/res/cardsfolder/p/phytohydra.txt b/res/cardsfolder/p/phytohydra.txt index 673505fe6c7..b1b6d2843f3 100644 --- a/res/cardsfolder/p/phytohydra.txt +++ b/res/cardsfolder/p/phytohydra.txt @@ -4,7 +4,7 @@ Types:Creature Plant Hydra Text:no text PT:1/1 R:Event$ DamageDone | ValidTarget$ Card.Self | ReplaceWith$ Counters | Description$ If damage would be dealt to Phytohydra, put that many +1/+1 counters on it instead. -SVar:Counters:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ X +SVar:Counters:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ X | References$ X SVar:X:ReplaceCount$DamageAmount SVar:Picture:http://www.wizards.com/global/images/magic/general/phytohydra.jpg SetInfo:RAV|Rare|http://magiccards.info/scans/en/rav/218.jpg diff --git a/res/cardsfolder/p/pious_warrior.txt b/res/cardsfolder/p/pious_warrior.txt index d7ee26bdded..435da8b155a 100644 --- a/res/cardsfolder/p/pious_warrior.txt +++ b/res/cardsfolder/p/pious_warrior.txt @@ -4,7 +4,7 @@ Types:Creature Human Rebel Warrior Text:no text PT:2/3 T:Mode$ DamageDone | ValidTarget$ Card.Self | Execute$ TrigGain | CombatDamage$ True | TriggerDescription$ Whenever CARDNAME is dealt combat damage, you gain that much life. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/pious_warrior.jpg diff --git a/res/cardsfolder/p/pipers_melody.txt b/res/cardsfolder/p/pipers_melody.txt index 4cc61ad5c8f..9e5c30d668e 100644 --- a/res/cardsfolder/p/pipers_melody.txt +++ b/res/cardsfolder/p/pipers_melody.txt @@ -2,7 +2,7 @@ Name:Piper's Melody ManaCost:G Types:Sorcery Text:no text -A:SP$ ChangeZone | Cost$ G | Origin$ Graveyard | Destination$ Library | TargetMin$ 0 | TargetMax$ X | Shuffle$ True | TgtPrompt$ Choose target creature card in your graveyard | ValidTgts$ Creature.YouCtrl | SpellDescription$ Shuffle any number of target creature cards from your graveyard into your library. +A:SP$ ChangeZone | Cost$ G | Origin$ Graveyard | Destination$ Library | TargetMin$ 0 | TargetMax$ X | References$ X | Shuffle$ True | TgtPrompt$ Choose target creature card in your graveyard | ValidTgts$ Creature.YouCtrl | SpellDescription$ Shuffle any number of target creature cards from your graveyard into your library. SVar:X:Count$TypeInYourYard.Creature SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/p/plague_rats.txt b/res/cardsfolder/p/plague_rats.txt index f36a1bd8fa5..210dcb94f20 100644 --- a/res/cardsfolder/p/plague_rats.txt +++ b/res/cardsfolder/p/plague_rats.txt @@ -3,7 +3,7 @@ ManaCost:2 B Types:Creature Rat Text:no text PT:*/* -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of creatures named Plague Rats on the battlefield. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | References$ X | Description$ CARDNAME's power and toughness are each equal to the number of creatures named Plague Rats on the battlefield. SVar:X:Count$Valid Creature.namedPlague Rats SVar:BuffedBy:Creature.namedPlague Rats SVar:RemRandomDeck:True diff --git a/res/cardsfolder/p/plaguebearer.txt b/res/cardsfolder/p/plaguebearer.txt index 5f4247a2cd5..c68f524a1c5 100644 --- a/res/cardsfolder/p/plaguebearer.txt +++ b/res/cardsfolder/p/plaguebearer.txt @@ -3,7 +3,7 @@ ManaCost:1 B Types:Creature Zombie Text:no text PT:1/1 -A:AB$ Destroy | Cost$ X X B | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonblack creature | SpellDescription$ Destroy target nonblack creature with converted mana cost X. +A:AB$ Destroy | Cost$ X X B | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonblack creature | References$ X | SpellDescription$ Destroy target nonblack creature with converted mana cost X. # It may seem wrong to not use X in the target, but since the Target is what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$CardManaCost SVar:RemAIDeck:True diff --git a/res/cardsfolder/p/planar_despair.txt b/res/cardsfolder/p/planar_despair.txt index 1b26f188703..c8798f787d0 100644 --- a/res/cardsfolder/p/planar_despair.txt +++ b/res/cardsfolder/p/planar_despair.txt @@ -2,7 +2,7 @@ Name:Planar Despair ManaCost:3 B B Types:Sorcery Text:no text -A:SP$ PumpAll | Cost$ 3 B B | ValidCards$ Creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | SpellDescription$ Domain - All creatures get -1/-1 until end of turn for each basic land type among lands you control. +A:SP$ PumpAll | Cost$ 3 B B | ValidCards$ Creature | NumAtt$ -X | NumDef$ -X | References$ X | IsCurse$ True | SpellDescription$ Domain - All creatures get -1/-1 until end of turn for each basic land type among lands you control. SVar:X:Count$Domain SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/p/planeswalkers_favor.txt b/res/cardsfolder/p/planeswalkers_favor.txt index 96e32e86bd7..ad2a61a7ec4 100644 --- a/res/cardsfolder/p/planeswalkers_favor.txt +++ b/res/cardsfolder/p/planeswalkers_favor.txt @@ -3,7 +3,7 @@ ManaCost:2 G Types:Enchantment Text:no text A:AB$ Reveal | Cost$ 3 G | Random$ True | RememberRevealed$ True | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | SubAbility$ DBPump | SpellDescription$ Target opponent reveals a card at random from his or her hand. Target creature gets +X/+X until end of turn, where X is the revealed card's converted mana cost. -SVar:DBPump:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | SubAbility$ DBCleanup +SVar:DBPump:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | References$ X | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$CardManaCost SVar:Rarity:Rare diff --git a/res/cardsfolder/p/planeswalkers_fury.txt b/res/cardsfolder/p/planeswalkers_fury.txt index c9e56708a9c..7951814fd2a 100644 --- a/res/cardsfolder/p/planeswalkers_fury.txt +++ b/res/cardsfolder/p/planeswalkers_fury.txt @@ -3,7 +3,7 @@ ManaCost:2 R Types:Enchantment Text:no text A:AB$ Reveal | Cost$ 3 R | Random$ True | RememberRevealed$ True | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | SorcerySpeed$ True | SubAbility$ DBDamage | SpellDescription$ Target opponent reveals a card at random from his or her hand. CARDNAME deals damage equal to that card's converted mana cost to that player. Activate this ability only any time you could cast a sorcery. -SVar:DBDamage:DB$ DealDamage | Defined$ Opponent | NumDmg$ X | SubAbility$ DBCleanup +SVar:DBDamage:DB$ DealDamage | Defined$ Opponent | NumDmg$ X | References$ X | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$CardManaCost SVar:Rarity:Rare diff --git a/res/cardsfolder/p/planeswalkers_mirth.txt b/res/cardsfolder/p/planeswalkers_mirth.txt index ee4938ddcdd..90daedd85c9 100644 --- a/res/cardsfolder/p/planeswalkers_mirth.txt +++ b/res/cardsfolder/p/planeswalkers_mirth.txt @@ -3,7 +3,7 @@ ManaCost:2 W Types:Enchantment Text:no text A:AB$ Reveal | Cost$ 3 W | Random$ True | RememberRevealed$ True | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | SubAbility$ DBGain | SpellDescription$ Target opponent reveals a card at random from his or her hand. You gain life equal to that card's converted mana cost. -SVar:DBGain:DB$ GainLife | Defined$ You | LifeAmount$ X | SubAbility$ DBCleanup +SVar:DBGain:DB$ GainLife | Defined$ You | LifeAmount$ X | References$ X | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$CardManaCost SVar:Rarity:Rare diff --git a/res/cardsfolder/p/planeswalkers_scorn.txt b/res/cardsfolder/p/planeswalkers_scorn.txt index 547ca9b8c9c..0044b66ca2e 100644 --- a/res/cardsfolder/p/planeswalkers_scorn.txt +++ b/res/cardsfolder/p/planeswalkers_scorn.txt @@ -3,7 +3,7 @@ ManaCost:2 B Types:Enchantment Text:no text A:AB$ Reveal | Cost$ 3 B | Random$ True | RememberRevealed$ True | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | SorcerySpeed$ True | SubAbility$ DBPump | SpellDescription$ Target opponent reveals a card at random from his or her hand. Target creature gets -X/-X until end of turn, where X is the revealed card's converted mana cost. Activate this ability only any time you could cast a sorcery. -SVar:DBPump:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | SubAbility$ DBCleanup +SVar:DBPump:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | References$ X | IsCurse$ True | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$CardManaCost SVar:Rarity:Rare diff --git a/res/cardsfolder/p/plant_elemental.txt b/res/cardsfolder/p/plant_elemental.txt index a8cc010ae5e..2f755f6c31e 100644 --- a/res/cardsfolder/p/plant_elemental.txt +++ b/res/cardsfolder/p/plant_elemental.txt @@ -5,7 +5,7 @@ Text:no text PT:3/4 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSac | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you sacrifice a Forest. SVar:TrigSac:AB$ Sacrifice | Cost$ 0 | Amount$ 1 | SacValid$ Forest | RememberSacrificed$ True | Optional$ True | SubAbility$ DBSacSelf -SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 +SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:NeedsToPlay:Forest.YouCtrl diff --git a/res/cardsfolder/p/plow_through_reito.txt b/res/cardsfolder/p/plow_through_reito.txt index fa672078e5f..94cbcddf400 100644 --- a/res/cardsfolder/p/plow_through_reito.txt +++ b/res/cardsfolder/p/plow_through_reito.txt @@ -2,8 +2,8 @@ Name:Plow Through Reito ManaCost:1 W Types:Instant Arcane Text:no text -A:SP$ ChangeZone | Cost$ 1 W | Origin$ Battlefield | Destination$ Hand | ChangeType$ Plains.YouCtrl | ChangeNum$ X | Hidden$ True | RememberChanged$ True | SubAbility$ ReitoPump | SpellDescription$ Sweep - Return any number of Plains you control to their owner's hand. Target creature gets +1/+1 until end of turn for each Plains returned this way. -SVar:ReitoPump:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ Y | NumDef$ Y +A:SP$ ChangeZone | Cost$ 1 W | Origin$ Battlefield | Destination$ Hand | ChangeType$ Plains.YouCtrl | ChangeNum$ X | References$ X | Hidden$ True | RememberChanged$ True | SubAbility$ ReitoPump | SpellDescription$ Sweep - Return any number of Plains you control to their owner's hand. Target creature gets +1/+1 until end of turn for each Plains returned this way. +SVar:ReitoPump:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ Y | NumDef$ Y | References$ Y SVar:X:Count$Valid Plains.YouCtrl SVar:Y:Remembered$Amount SVar:RemAIDeck:True diff --git a/res/cardsfolder/p/pollenbright_wings.txt b/res/cardsfolder/p/pollenbright_wings.txt index f02e04574c6..02654319f2c 100644 --- a/res/cardsfolder/p/pollenbright_wings.txt +++ b/res/cardsfolder/p/pollenbright_wings.txt @@ -6,7 +6,7 @@ K:Enchant creature A:SP$ Attach | Cost$ 4 G W | ValidTgts$ Creature | AILogic$ Pump S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddKeyword$ Flying | Description$ Enchanted creature has flying. T:Mode$ DamageDone | ValidSource$ Card.AttachedBy | Execute$ TrigToken | ValidTarget$ Player | TriggerZones$ Battlefield | TriggerDescription$ Whenever enchanted creature deals combat damage to a player, put that many 1/1 green Saproling creature tokens onto the battlefield. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 +SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | References$ X | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 SVar:X:TriggerCount$DamageAmount SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/pollenbright_wings.jpg diff --git a/res/cardsfolder/p/postmortem_lunge.txt b/res/cardsfolder/p/postmortem_lunge.txt index 5387cf367a2..66138f7903d 100644 --- a/res/cardsfolder/p/postmortem_lunge.txt +++ b/res/cardsfolder/p/postmortem_lunge.txt @@ -2,7 +2,7 @@ Name:Postmortem Lunge ManaCost:X PB Types:Sorcery Text:no text -A:SP$ ChangeZone | Cost$ X PB | Origin$ Graveyard | Destination$ Battlefield | ValidTgts$ Creature | TgtPromp$ Choose target creature with CMC equal to X. | SubAbility$ DBPump | SpellDescription$ Return target creature card with converted mana cost X from your graveyard to the battlefield. It gains haste. Exile it at the beginning of the next end step. +A:SP$ ChangeZone | Cost$ X PB | Origin$ Graveyard | Destination$ Battlefield | ValidTgts$ Creature | TgtPromp$ Choose target creature with CMC equal to X. | References$ X | SubAbility$ DBPump | SpellDescription$ Return target creature card with converted mana cost X from your graveyard to the battlefield. It gains haste. Exile it at the beginning of the next end step. SVar:DBPump:DB$Pump | Defined$ Targeted | KW$ Haste & HIDDEN At the beginning of the end step, exile CARDNAME. SVar:X:Targeted$CardManaCost SVar:RemAIDeck:True diff --git a/res/cardsfolder/p/powder_keg.txt b/res/cardsfolder/p/powder_keg.txt index f71a5f89ff0..6b34b853604 100644 --- a/res/cardsfolder/p/powder_keg.txt +++ b/res/cardsfolder/p/powder_keg.txt @@ -4,7 +4,7 @@ Types:Artifact Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, you may put a fuse counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ FUSE | CounterNum$ 1 -A:AB$ DestroyAll | Cost$ T Sac<1/CARDNAME> | ValidCards$ Artifact.cmcEQX,Creature.cmcEQX | SpellDescription$ Destroy each artifact and creature with converted mana cost equal to the number of fuse counters on CARDNAME. +A:AB$ DestroyAll | Cost$ T Sac<1/CARDNAME> | ValidCards$ Artifact.cmcEQX,Creature.cmcEQX | References$ X | SpellDescription$ Destroy each artifact and creature with converted mana cost equal to the number of fuse counters on CARDNAME. SVar:X:Count$CardCounters.FUSE SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/p/power_armor.txt b/res/cardsfolder/p/power_armor.txt index 09dc56bdfe0..01ffeadbce0 100644 --- a/res/cardsfolder/p/power_armor.txt +++ b/res/cardsfolder/p/power_armor.txt @@ -2,7 +2,7 @@ Name:Power Armor ManaCost:4 Types:Artifact Text:no text -A:AB$ Pump | Cost$ 3 T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | PrecostDesc$ Domain - | SpellDescription$ Target creature gets +1/+1 until end of turn for each basic land type among lands you control. +A:AB$ Pump | Cost$ 3 T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | References$ X | PrecostDesc$ Domain - | SpellDescription$ Target creature gets +1/+1 until end of turn for each basic land type among lands you control. SVar:X:Count$Domain SVar:BuffedBy:Plains,Island,Swamp,Mountain,Forest SVar:RemRandomDeck:True diff --git a/res/cardsfolder/p/power_sink.txt b/res/cardsfolder/p/power_sink.txt index a826bc80b10..c3a761a1295 100644 --- a/res/cardsfolder/p/power_sink.txt +++ b/res/cardsfolder/p/power_sink.txt @@ -2,7 +2,7 @@ Name:Power Sink ManaCost:X U Types:Instant Text:no text -A:SP$ Counter | Cost$ X U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | PowerSink$ True | SpellDescription$ Counter target spell unless its controller pays X. If he or she doesn't, that player taps all lands with mana abilities he or she controls and empties his or her mana pool. +A:SP$ Counter | Cost$ X U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | References$ X | PowerSink$ True | SpellDescription$ Counter target spell unless its controller pays X. If he or she doesn't, that player taps all lands with mana abilities he or she controls and empties his or her mana pool. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/p/pox.txt b/res/cardsfolder/p/pox.txt index 524eae0a25a..4fd2176180d 100644 --- a/res/cardsfolder/p/pox.txt +++ b/res/cardsfolder/p/pox.txt @@ -2,14 +2,14 @@ Name:Pox ManaCost:B B B Types:Sorcery Text:no text -A:SP$ LoseLife | Cost$ B B B | LifeAmount$ A | Defined$ You | SubAbility$ DBOppLife | SpellDescription$ Each player loses a third of his or her life, then discards a third of the cards in his or her hand, then sacrifices a third of the creatures he or she controls, then sacrifices a third of the lands he or she controls. Round up each time. -SVar:DBOppLife:DB$ LoseLife | LifeAmount$ B | Defined$ Opponent | SubAbility$ DBDiscardYou -SVar:DBDiscardYou:DB$ Discard | NumCards$ C | Defined$ You | Mode$ TgtChoose | SubAbility$ DBDiscardOpp -SVar:DBDiscardOpp:DB$ Discard | NumCards$ D | Defined$ Opponent | Mode$ TgtChoose | SubAbility$ DBCreatureYou -SVar:DBCreatureYou:DB$ Sacrifice | SacValid$ Creature | Amount$ E | Defined$ You | SubAbility$ DBCreatureOpp -SVar:DBCreatureOpp:DB$ Sacrifice | SacValid$ Creature | Amount$ F | Defined$ Opponent | SubAbility$ DBLandYou -SVar:DBLandYou:DB$ Sacrifice | SacValid$ Land | Amount$ G | Defined$ You | SubAbility$ DBLandOpp -SVar:DBLandOpp:DB$ Sacrifice | SacValid$ Land | Amount$ H | Defined$ Opponent +A:SP$ LoseLife | Cost$ B B B | LifeAmount$ A | References$ A | Defined$ You | SubAbility$ DBOppLife | SpellDescription$ Each player loses a third of his or her life, then discards a third of the cards in his or her hand, then sacrifices a third of the creatures he or she controls, then sacrifices a third of the lands he or she controls. Round up each time. +SVar:DBOppLife:DB$ LoseLife | LifeAmount$ B | References$ B | Defined$ Opponent | SubAbility$ DBDiscardYou +SVar:DBDiscardYou:DB$ Discard | NumCards$ C | References$ C | Defined$ You | Mode$ TgtChoose | SubAbility$ DBDiscardOpp +SVar:DBDiscardOpp:DB$ Discard | NumCards$ D | References$ D | Defined$ Opponent | Mode$ TgtChoose | SubAbility$ DBCreatureYou +SVar:DBCreatureYou:DB$ Sacrifice | SacValid$ Creature | Amount$ E | References$ E | Defined$ You | SubAbility$ DBCreatureOpp +SVar:DBCreatureOpp:DB$ Sacrifice | SacValid$ Creature | Amount$ F | References$ F | Defined$ Opponent | SubAbility$ DBLandYou +SVar:DBLandYou:DB$ Sacrifice | SacValid$ Land | Amount$ G | References$ G | Defined$ You | SubAbility$ DBLandOpp +SVar:DBLandOpp:DB$ Sacrifice | SacValid$ Land | Amount$ H | References$ H | Defined$ Opponent SVar:A:Count$YourLifeTotal/ThirdUp SVar:B:Count$OppLifeTotal/ThirdUp SVar:C:Count$InYourHand/ThirdUp diff --git a/res/cardsfolder/p/praetors_counsel.txt b/res/cardsfolder/p/praetors_counsel.txt index 527b66b5764..ea0642cfa5b 100644 --- a/res/cardsfolder/p/praetors_counsel.txt +++ b/res/cardsfolder/p/praetors_counsel.txt @@ -4,7 +4,7 @@ Types:Sorcery Text:no text A:SP$ ChangeZoneAll | Cost$ 5 G G G | Origin$ Graveyard | Destination$ Hand | ChangeType$ Card.YouOwn | SubAbility$ DBChange | SpellDescription$ Return all cards from your graveyard to your hand. Exile CARDNAME. You have no maximum hand size for the rest of the game. SVar:DBChange:DB$ChangeZone | Origin$ Stack | Destination$ Exile | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | Name$ Praetor's Counsel Effect | StaticAbilities$ STHandSize | Permanent$ True +SVar:DBEffect:DB$ Effect | Name$ Praetor's Counsel Effect | StaticAbilities$ STHandSize | Duration$ Permanent SVar:STHandSize:Mode$ Continuous | Affected$ You | SetMaxHandSize$ -1 | Description$ You have no maximum hand size. SVar:Rarity:Mythic SVar:Picture:http://www.wizards.com/global/images/magic/general/praetors_counsel.jpg diff --git a/res/cardsfolder/p/predators_gambit.txt b/res/cardsfolder/p/predators_gambit.txt index 5c61cda1d15..d37c419a08e 100644 --- a/res/cardsfolder/p/predators_gambit.txt +++ b/res/cardsfolder/p/predators_gambit.txt @@ -5,7 +5,7 @@ Text:no text K:Enchant creature A:SP$ Attach | Cost$ B | ValidTgts$ Creature | AILogic$ Pump S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 2 | AddToughness$ 1 | Description$ Enchanted creature gets +2/+1. -S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddKeyword$ Intimidate | CheckSVar$ X | SVarCompare$ EQ1 | Description$ If enchanted creature's controller controls no other creatures, it has intimidate. +S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddKeyword$ Intimidate | CheckSVar$ X | SVarCompare$ EQ1 | References$ X | Description$ If enchanted creature's controller controls no other creatures, it has intimidate. SVar:X:Count$EnchantedControllerCreatures SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/predators_gambit.jpg diff --git a/res/cardsfolder/p/predatory_advantage.txt b/res/cardsfolder/p/predatory_advantage.txt index 0e657e3da5e..922088341a4 100644 --- a/res/cardsfolder/p/predatory_advantage.txt +++ b/res/cardsfolder/p/predatory_advantage.txt @@ -2,7 +2,7 @@ Name:Predatory Advantage ManaCost:3 R G Types:Enchantment Text:no text -T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Opponent | CheckSVar$ X | SVarCompare$ EQ0 | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ At the beginning of each opponent's end step, if that player didn't cast a creature spell this turn, put a 2/2 green Lizard creature token onto the battlefield. +T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Opponent | CheckSVar$ X | SVarCompare$ EQ0 | References$ X | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ At the beginning of each opponent's end step, if that player didn't cast a creature spell this turn, put a 2/2 green Lizard creature token onto the battlefield. SVar:TrigToken:AB$Token | Cost$ 0 | TokenName$ Lizard | TokenTypes$ Creature,Lizard | TokenColors$ Green | TokenPower$ 2 | TokenToughness$ 2 | TokenAmount$ 1 | TokenOwner$ You SVar:X:Count$ThisTurnCast_Creature.YouDontCtrl SVar:Rarity:Rare diff --git a/res/cardsfolder/p/predatory_urge.txt b/res/cardsfolder/p/predatory_urge.txt index 214390adfba..ecbea691b86 100644 --- a/res/cardsfolder/p/predatory_urge.txt +++ b/res/cardsfolder/p/predatory_urge.txt @@ -5,8 +5,8 @@ Text:no text K:Enchant creature A:SP$ Attach | Cost$ 3 G | ValidTgts$ Creature | AILogic$ Pump S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddAbility$ DamageTgt | AddSVar$ DamageThis & PredatoryX & PredatoryY | Description$ Enchanted creature has "Tap: This creature deals damage equal to its power to target creature. That creature deals damage equal to its power to this creature." -SVar:DamageTgt:AB$DealDamage | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ PredatoryX | SubAbility$ DamageThis | SpellDescription$ CARDNAME deals damage equal to its power to target creature. That creature deals damage equal to its power to CARDNAME. -SVar:DamageThis:DB$DealDamage | Defined$ Self | DamageSource$ Targeted | NumDmg$ PredatoryY +SVar:DamageTgt:AB$DealDamage | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ PredatoryX | References$ PredatoryX | SubAbility$ DamageThis | SpellDescription$ CARDNAME deals damage equal to its power to target creature. That creature deals damage equal to its power to CARDNAME. +SVar:DamageThis:DB$DealDamage | Defined$ Self | DamageSource$ Targeted | NumDmg$ PredatoryY | References$ PredatoryY SVar:PredatoryX:Count$CardPower SVar:PredatoryY:Targeted$CardPower SVar:Rarity:Rare diff --git a/res/cardsfolder/p/predict.txt b/res/cardsfolder/p/predict.txt index 92d736eb9ef..fc68bf04726 100644 --- a/res/cardsfolder/p/predict.txt +++ b/res/cardsfolder/p/predict.txt @@ -4,7 +4,7 @@ Types:Instant Text:no text A:SP$ NameCard | Cost$ 1 U | Defined$ You | SubAbility$ DBMill | SpellDescription$ Name a card, then put the top card of target player's library into his or her graveyard. If that card is the named card, you draw two cards. Otherwise, you draw a card. SVar:DBMill:DB$ Mill | ValidTgts$ Player | TgtPrompt$ Select target player | NumCards$ 1 | RememberMilled$ True | SubAbility$ DBDraw -SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X | SubAbility$ DBDraw2 +SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X | References$ X | SubAbility$ DBDraw2 SVar:DBDraw2:DB$ Draw | Defined$ You | NumCards$ 1 SVar:X:Remembered$Valid Card.NamedCard SVar:RemAIDeck:True diff --git a/res/cardsfolder/p/presence_of_the_wise.txt b/res/cardsfolder/p/presence_of_the_wise.txt index b03fcc93906..5ab1c71c703 100644 --- a/res/cardsfolder/p/presence_of_the_wise.txt +++ b/res/cardsfolder/p/presence_of_the_wise.txt @@ -2,7 +2,7 @@ Name:Presence of the Wise ManaCost:2 W W Types:Sorcery Text:no text -A:SP$ GainLife | Cost$ 2 W W | LifeAmount$ X | SpellDescription$ You gain 2 life for each card in your hand. +A:SP$ GainLife | Cost$ 2 W W | LifeAmount$ X | References$ X | SpellDescription$ You gain 2 life for each card in your hand. SVar:X:Count$CardsInYourHand/Times.2 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/presence_of_the_wise.jpg diff --git a/res/cardsfolder/p/price_of_progress.txt b/res/cardsfolder/p/price_of_progress.txt index 54c3f2fb9e7..964106e104d 100644 --- a/res/cardsfolder/p/price_of_progress.txt +++ b/res/cardsfolder/p/price_of_progress.txt @@ -2,8 +2,8 @@ Name:Price of Progress ManaCost:1 R Types:Instant Text:no text -A:SP$ DealDamage | Cost$ 1 R | Defined$ Opponent | NumDmg$ XOpp | SubAbility$ DBDealDamage | SpellDescription$ CARDNAME deals 2 damage to each player for each nonbasic land he or she controls. -SVar:DBDealDamage:DB$DealDamage | Cost$ 0 | Defined$ You | NumDmg$ XYou +A:SP$ DealDamage | Cost$ 1 R | Defined$ Opponent | NumDmg$ XOpp | References$ XOpp | SubAbility$ DBDealDamage | SpellDescription$ CARDNAME deals 2 damage to each player for each nonbasic land he or she controls. +SVar:DBDealDamage:DB$DealDamage | Cost$ 0 | Defined$ You | NumDmg$ XYou | References$ XYou SVar:XOpp:Count$Valid Land.nonBasic+YouDontCtrl/Times.2 SVar:XYou:Count$Valid Land.nonBasic+YouCtrl/Times.2 SVar:RemRandomDeck:True diff --git a/res/cardsfolder/p/pride_of_the_clouds.txt b/res/cardsfolder/p/pride_of_the_clouds.txt index 4890a04a055..4b5d946e26f 100644 --- a/res/cardsfolder/p/pride_of_the_clouds.txt +++ b/res/cardsfolder/p/pride_of_the_clouds.txt @@ -4,7 +4,7 @@ Types:Creature Elemental Cat Text:no text PT:1/1 K:Flying -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | Description$ CARDNAME gets +1/+1 for each other creature with flying on the battlefield. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | References$ X | Description$ CARDNAME gets +1/+1 for each other creature with flying on the battlefield. A:AB$ Token | Cost$ 2 W U | ActivationZone$ Hand | TokenAmount$ 1 | TokenName$ Bird | TokenTypes$ Creature,Bird | TokenOwner$ You | TokenColors$ White,Blue | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying | ActivationLimit$ 1 | PlayerTurn$ True | ActivationPhases$ Upkeep | PrecostDesc$ Forecast - | SpellDescription$ Put a 1/1 white and blue Bird creature token with flying onto the battlefield. (Activate this ability only during your upkeep and only once each turn.) SVar:X:Count$Valid Creature.withFlying+Other SVar:BuffedBy:Creature.withFlying diff --git a/res/cardsfolder/p/priest_of_titania.txt b/res/cardsfolder/p/priest_of_titania.txt index 992cad5b9e7..645173a9140 100644 --- a/res/cardsfolder/p/priest_of_titania.txt +++ b/res/cardsfolder/p/priest_of_titania.txt @@ -3,7 +3,7 @@ ManaCost:1 G Types:Creature Elf Druid Text:no text PT:1/1 -A:AB$ Mana | Cost$ T | Produced$ G | Amount$ X | SpellDescription$ Add G to your mana pool for each Elf on the battlefield. +A:AB$ Mana | Cost$ T | Produced$ G | Amount$ X | References$ X | SpellDescription$ Add G to your mana pool for each Elf on the battlefield. SVar:X:Count$Valid Elf SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/p/priest_of_yawgmoth.txt b/res/cardsfolder/p/priest_of_yawgmoth.txt index b9665d9e375..3e24e11f6f5 100644 --- a/res/cardsfolder/p/priest_of_yawgmoth.txt +++ b/res/cardsfolder/p/priest_of_yawgmoth.txt @@ -3,7 +3,7 @@ ManaCost:1 B Types:Creature Human Cleric Text:no text PT:1/2 -A:AB$ Mana | Cost$ T Sac<1/Artifact> | Produced$ B | Amount$ X | SpellDescription$ Add to your mana pool an amount of black mana equal to the sacrificed artifact's converted mana cost. +A:AB$ Mana | Cost$ T Sac<1/Artifact> | Produced$ B | Amount$ X | References$ X | SpellDescription$ Add to your mana pool an amount of black mana equal to the sacrificed artifact's converted mana cost. SVar:X:Sacrificed$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/p/primal_bellow.txt b/res/cardsfolder/p/primal_bellow.txt index 72a8c7ea6e2..46077410d65 100644 --- a/res/cardsfolder/p/primal_bellow.txt +++ b/res/cardsfolder/p/primal_bellow.txt @@ -2,7 +2,7 @@ Name:Primal Bellow ManaCost:G Types:Instant Text:no text -A:SP$ Pump | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | SpellDescription$ Target creature gets +1/+1 until end of turn for each Forest you control. +A:SP$ Pump | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | References$ X | SpellDescription$ Target creature gets +1/+1 until end of turn for each Forest you control. SVar:X:Count$TypeYouCtrl.Forest SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/primal_bellow.jpg diff --git a/res/cardsfolder/p/primal_order.txt b/res/cardsfolder/p/primal_order.txt index 82e8d2d3f99..3c865a1d779 100644 --- a/res/cardsfolder/p/primal_order.txt +++ b/res/cardsfolder/p/primal_order.txt @@ -3,10 +3,10 @@ ManaCost:2 G G Types:Enchantment Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDamageYou | TriggerDescription$ At the beginning of each player's upkeep, CARDNAME deals damage to that player equal to the number of nonbasic lands he or she controls. -SVar:TrigDamageYou:AB$DealDamage | Cost$ 0 | Defined$ You | NumDmg$ X +SVar:TrigDamageYou:AB$DealDamage | Cost$ 0 | Defined$ You | NumDmg$ X | References$ X SVar:X:Count$Valid Land.nonBasic+YouCtrl T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Opponent | TriggerZones$ Battlefield | Execute$ TrigDamageOpp | Secondary$ True | TriggerDescription$ At the beginning of each player's upkeep, CARDNAME deals damage to that player equal to the number of nonbasic lands he or she controls. -SVar:TrigDamageOpp:AB$DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ Y +SVar:TrigDamageOpp:AB$DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ Y | References$ Y SVar:Y:Count$Valid Land.nonBasic+YouDontCtrl SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/p/primal_whisperer.txt b/res/cardsfolder/p/primal_whisperer.txt index 0c0ff2e6ff5..b39fa1fa1f8 100644 --- a/res/cardsfolder/p/primal_whisperer.txt +++ b/res/cardsfolder/p/primal_whisperer.txt @@ -4,7 +4,7 @@ Types:Creature Elf Soldier Text:no text PT:2/2 K:Morph:3 G -S:Mode$ Continuous | Affected$ Card.Self+faceUp | AddPower$ X | AddToughness$ X | Description$ CARDNAME gets +2/+2 for each face-down creature on the battlefield. +S:Mode$ Continuous | Affected$ Card.Self+faceUp | AddPower$ X | AddToughness$ X | References$ X | Description$ CARDNAME gets +2/+2 for each face-down creature on the battlefield. SVar:X:Count$Valid Creature.faceDown/Times.2 SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/p/primalcrux.txt b/res/cardsfolder/p/primalcrux.txt index bb2f00827d1..b3be4cb4413 100644 --- a/res/cardsfolder/p/primalcrux.txt +++ b/res/cardsfolder/p/primalcrux.txt @@ -4,7 +4,7 @@ Types:Creature Elemental Text:no text PT:*/* K:Trample -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ Chroma - CARDNAME's power and toughness are each equal to the number of green mana symbols in the mana costs of permanents you control. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | References$ X | Description$ Chroma - CARDNAME's power and toughness are each equal to the number of green mana symbols in the mana costs of permanents you control. SVar:X:Count$Chroma.G SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/primalcrux.jpg diff --git a/res/cardsfolder/p/primeval_force.txt b/res/cardsfolder/p/primeval_force.txt index a94b196f8f2..779c1c71808 100644 --- a/res/cardsfolder/p/primeval_force.txt +++ b/res/cardsfolder/p/primeval_force.txt @@ -5,7 +5,7 @@ Text:no text PT:8/8 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSac | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you sacrifice three Forests. SVar:TrigSac:AB$ Sacrifice | Cost$ 0 | Amount$ 3 | SacValid$ Forest | RememberSacrificed$ True | Optional$ True | SubAbility$ DBSacSelf -SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT3 +SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT3 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:NeedsToPlayVar:Y GE3 diff --git a/res/cardsfolder/p/primordial_hydra.txt b/res/cardsfolder/p/primordial_hydra.txt index 15c679c28d6..92c2df0ea64 100644 --- a/res/cardsfolder/p/primordial_hydra.txt +++ b/res/cardsfolder/p/primordial_hydra.txt @@ -6,7 +6,7 @@ PT:0/0 K:etbCounter:P1P1:X S:Mode$ Continuous | Affected$ Card.Self+counters_GT9_P1P1 | AddKeyword$ Trample | Description$ CARDNAME has trample as long as it has ten or more +1/+1 counters on it. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDoubleCounters | TriggerDescription$ At the beginning of your upkeep, double the number of +1/+1 counters on CARDNAME. -SVar:TrigDoubleCounters:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ Double +SVar:TrigDoubleCounters:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ Double | References$ Double SVar:X:Count$xPaid SVar:Double:Count$CardCounters.P1P1 SVar:Rarity:Mythic diff --git a/res/cardsfolder/p/prismatic_boon.txt b/res/cardsfolder/p/prismatic_boon.txt index ac745f8d59e..703977936f3 100644 --- a/res/cardsfolder/p/prismatic_boon.txt +++ b/res/cardsfolder/p/prismatic_boon.txt @@ -2,7 +2,7 @@ Name:Prismatic Boon ManaCost:X W U Types:Instant Text:no text -A:SP$ Protection | Cost$ X W U | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Creature | TgtPrompt$ Select target creatures | Gains$ Choice | Choices$ AnyColor | SpellDescription$ X target creatures gain protection from the chosen color until end of turn. +A:SP$ Protection | Cost$ X W U | TargetMin$ 0 | TargetMax$ MaxTgts | References$ X,MaxTgts | ValidTgts$ Creature | TgtPrompt$ Select target creatures | Gains$ Choice | Choices$ AnyColor | SpellDescription$ X target creatures gain protection from the chosen color until end of turn. # It may seem wrong to not use X in the target, but since the Targets are what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Creature diff --git a/res/cardsfolder/p/private_research.txt b/res/cardsfolder/p/private_research.txt index 5edafa8da6e..954fa9188a0 100644 --- a/res/cardsfolder/p/private_research.txt +++ b/res/cardsfolder/p/private_research.txt @@ -7,7 +7,7 @@ A:SP$ Attach | Cost$ U | ValidTgts$ Creature | AILogic$ Pump T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPrivateResearchPutCounter | TriggerDescription$ At the beginning of your upkeep, you may put a page counter on CARDNAME. SVar:TrigPrivateResearchPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ PAGE | CounterNum$ 1 T:Mode$ ChangesZone | ValidCard$ Card.AttachedBy | Origin$ Any | Destination$ Graveyard | TriggerZones$ Battlefield | Execute$ TrigPrivateResearchDraw | TriggerDescription$ When enchanted creature dies, draw a card for each page counter on CARDNAME. -SVar:TrigPrivateResearchDraw:AB$Draw | Cost$ 0 | NumCards$ PrivateResearchX +SVar:TrigPrivateResearchDraw:AB$Draw | Cost$ 0 | NumCards$ PrivateResearchX | References$ PrivateResearchX SVar:PrivateResearchX:Count$CardCounters.PAGE SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/private_research.jpg diff --git a/res/cardsfolder/p/profane_prayers.txt b/res/cardsfolder/p/profane_prayers.txt index f0c923a3ee7..a9f888e10d7 100644 --- a/res/cardsfolder/p/profane_prayers.txt +++ b/res/cardsfolder/p/profane_prayers.txt @@ -2,8 +2,8 @@ Name:Profane Prayers ManaCost:2 B B Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ 2 B B | Tgt$ TgtCP | NumDmg$ X | SubAbility$ DBGainLife | SpellDescription$ Profane Prayers deals X damage to target creature or player and you gain X life, where X is the number of Clerics on the battlefield. -SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X +A:SP$ DealDamage | Cost$ 2 B B | Tgt$ TgtCP | NumDmg$ X | References$ X | SubAbility$ DBGainLife | SpellDescription$ Profane Prayers deals X damage to target creature or player and you gain X life, where X is the number of Clerics on the battlefield. +SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Count$TypeOnBattlefield.Cleric SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/p/promise_of_bunrei.txt b/res/cardsfolder/p/promise_of_bunrei.txt index a1d4b88c8f6..3b085908ab2 100644 --- a/res/cardsfolder/p/promise_of_bunrei.txt +++ b/res/cardsfolder/p/promise_of_bunrei.txt @@ -4,7 +4,7 @@ Types:Enchantment Text:no text T:Mode$ ChangesZone | ValidCard$ Creature.YouCtrl | Origin$ Battlefield | Destination$ Graveyard | Execute$ TrigSac | TriggerZones$ Battlefield | TriggerDescription$ When a creature you control dies, sacrifice CARDNAME. If you do, put four 1/1 colorless Spirit creature tokens onto the battlefield. SVar:TrigSac:AB$ SacrificeAll | Cost$ 0 | ValidCards$ Card.Self | RememberSacrificed$ True | SubAbility$ DBToken -SVar:DBToken:DB$ Token | TokenAmount$ 4 | TokenName$ Spirit | TokenTypes$ Creature,Spirit | TokenOwner$ You | TokenColors$ Colorless | TokenPower$ 1 | TokenToughness$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup +SVar:DBToken:DB$ Token | TokenAmount$ 4 | TokenName$ Spirit | TokenTypes$ Creature,Spirit | TokenOwner$ You | TokenColors$ Colorless | TokenPower$ 1 | TokenToughness$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:Rarity:Rare diff --git a/res/cardsfolder/p/promise_of_power.txt b/res/cardsfolder/p/promise_of_power.txt index de2f9ff682c..914d8124b94 100644 --- a/res/cardsfolder/p/promise_of_power.txt +++ b/res/cardsfolder/p/promise_of_power.txt @@ -3,7 +3,7 @@ ManaCost:2 B B B Types:Sorcery Text:no text A:SP$ Draw | Cost$ 2 B B B | NumCards$ 5 | SpellDescription$ Choose one - You draw five cards and you lose 5 life; | SubAbility$ DBLoseLife -A:SP$ Token | Cost$ 2 B B B | TokenAmount$ 1 | TokenName$ Demon | TokenTypes$ Creature,Demon | TokenOwner$ You | TokenColors$ Black | TokenKeywords$ Flying | TokenPower$ X | TokenToughness$ X | SpellDescription$ or put an X/X black Demon creature token with flying onto the battlefield, where X is the number of cards in your hand as the token enters the battlefield. +A:SP$ Token | Cost$ 2 B B B | TokenAmount$ 1 | TokenName$ Demon | TokenTypes$ Creature,Demon | TokenOwner$ You | TokenColors$ Black | TokenKeywords$ Flying | TokenPower$ X | TokenToughness$ X | References$ X | SpellDescription$ or put an X/X black Demon creature token with flying onto the battlefield, where X is the number of cards in your hand as the token enters the battlefield. A:SP$ Draw | Cost$ 6 B B B | NumCards$ 5 | PrecostDesc$ Entwine | CostDesc$ 4 | SpellDescription$ (Choose both if you pay the entwine cost.) | SubAbility$ DBLoseLife2 SVar:DBLoseLife:DB$LoseLife | LifeAmount$ 5 SVar:DBLoseLife2:DB$LoseLife | LifeAmount$ 5 | SubAbility$ DBToken diff --git a/res/cardsfolder/p/proper_burial.txt b/res/cardsfolder/p/proper_burial.txt index 4bf2faa5df3..aa3f6e44696 100644 --- a/res/cardsfolder/p/proper_burial.txt +++ b/res/cardsfolder/p/proper_burial.txt @@ -3,7 +3,7 @@ ManaCost:3 W Types:Enchantment Text:no text T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigGain | TriggerDescription$ Whenever a creature you control is put into a graveyard from the battlefield, you gain life equal to that creature's toughness. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggeredCard$CardToughness SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/proper_burial.jpg diff --git a/res/cardsfolder/p/prosperity.txt b/res/cardsfolder/p/prosperity.txt index 3227aa6a3d7..5f8eb086b82 100644 --- a/res/cardsfolder/p/prosperity.txt +++ b/res/cardsfolder/p/prosperity.txt @@ -2,7 +2,7 @@ Name:Prosperity ManaCost:X U Types:Sorcery Text:no text -A:SP$ Draw | Cost$ X U | Defined$ Each | NumCards$ X | SpellDescription$ Each player draws X cards. +A:SP$ Draw | Cost$ X U | Defined$ Each | NumCards$ X | References$ X | SpellDescription$ Each player draws X cards. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/p/prototype_portal.txt b/res/cardsfolder/p/prototype_portal.txt index c989da23fb1..bc6ea692d35 100644 --- a/res/cardsfolder/p/prototype_portal.txt +++ b/res/cardsfolder/p/prototype_portal.txt @@ -4,7 +4,7 @@ Types:Artifact Text:no text T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | OptionalDecider$ You | Execute$ TrigExile | TriggerDescription$ Imprint - When CARDNAME enters the battlefield, you may exile an artifact card from your hand. SVar:TrigExile:AB$ChangeZone | Cost$ 0 | Imprint$ True | Origin$ Hand | Destination$ Exile | ChangeType$ Artifact | ChangeNum$ 1 -A:AB$CopyPermanent | Cost$ X T | Defined$ Imprinted | SpellDescription$ Put a token that's a copy of the exiled card onto the battlefield. X is the converted mana cost of that card. +A:AB$CopyPermanent | Cost$ X T | Defined$ Imprinted | References$ X | SpellDescription$ Put a token that's a copy of the exiled card onto the battlefield. X is the converted mana cost of that card. SVar:X:Imprinted$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/p/psychic_drain.txt b/res/cardsfolder/p/psychic_drain.txt index 7ba20df7c52..3039a6a0ff5 100644 --- a/res/cardsfolder/p/psychic_drain.txt +++ b/res/cardsfolder/p/psychic_drain.txt @@ -2,8 +2,8 @@ Name:Psychic Drain ManaCost:X U B Types:Sorcery Text:no text -A:SP$ Mill | Cost$ X U B | ValidTgts$ Player | TgtPrompt$ Select target player | NumCards$ X | SubAbility$ DBYouGainLife | SpellDescription$ Target player puts the top X cards of his or her library into his or her graveyard and you gain X life. -SVar:DBYouGainLife:DB$GainLife | Defined$ You | LifeAmount$ X +A:SP$ Mill | Cost$ X U B | ValidTgts$ Player | TgtPrompt$ Select target player | NumCards$ X | References$ X | SubAbility$ DBYouGainLife | SpellDescription$ Target player puts the top X cards of his or her library into his or her graveyard and you gain X life. +SVar:DBYouGainLife:DB$GainLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Count$xPaid SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/psychic_drain.jpg diff --git a/res/cardsfolder/p/psychic_transfer.txt b/res/cardsfolder/p/psychic_transfer.txt index 48cd728c895..0ce929e7189 100644 --- a/res/cardsfolder/p/psychic_transfer.txt +++ b/res/cardsfolder/p/psychic_transfer.txt @@ -2,7 +2,7 @@ Name:Psychic Transfer ManaCost:4 U Types:Sorcery Text:no text -A:SP$ ExchangeLife | Cost$ 4 U | ValidTgts$ Player | ConditionCheckSVar$ Y | ConditionSVarCompare$ LE5 | SpellDescription$ If the difference between your life total and target player's life total is 5 or less, exchange life totals with that player. +A:SP$ ExchangeLife | Cost$ 4 U | ValidTgts$ Player | ConditionCheckSVar$ Y | ConditionSVarCompare$ LE5 | References$ Y,Z | SpellDescription$ If the difference between your life total and target player's life total is 5 or less, exchange life totals with that player. SVar:Y:Count$HighestLifeTotal/Minus.Z SVar:Z:Count$LowestLifeTotal SVar:RemAIDeck:True diff --git a/res/cardsfolder/p/psychosis_crawler.txt b/res/cardsfolder/p/psychosis_crawler.txt index e427eb13918..4576552916e 100644 --- a/res/cardsfolder/p/psychosis_crawler.txt +++ b/res/cardsfolder/p/psychosis_crawler.txt @@ -3,7 +3,7 @@ ManaCost:5 Types:Artifact Creature Horror Text:no text PT:*/* -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of cards in your hand. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | References$ X | Description$ CARDNAME's power and toughness are each equal to the number of cards in your hand. SVar:X:Count$InYourHand T:Mode$ Drawn | ValidCard$ Card.YouOwn | TriggerZones$ Battlefield | Execute$ TrigLoseLife | TriggerDescription$ Whenever you draw a card, each opponent loses 1 life. SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ Opponent | LifeAmount$ 1 diff --git a/res/cardsfolder/p/puffer_extract.txt b/res/cardsfolder/p/puffer_extract.txt index bff5c1a9297..902014a49fb 100644 --- a/res/cardsfolder/p/puffer_extract.txt +++ b/res/cardsfolder/p/puffer_extract.txt @@ -2,7 +2,7 @@ Name:Puffer Extract ManaCost:5 Types:Artifact Text:no text -A:AB$ Pump | Cost$ X T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | KW$ At the beginning of the end step, destroy CARDNAME. | SpellDescription$ Target creature you control gets +X/+X until end of turn. Destroy it at the beginning of the next end step. +A:AB$ Pump | Cost$ X T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | References$ X | KW$ At the beginning of the end step, destroy CARDNAME. | SpellDescription$ Target creature you control gets +X/+X until end of turn. Destroy it at the beginning of the next end step. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/p/pulse_of_the_dross.txt b/res/cardsfolder/p/pulse_of_the_dross.txt index f0901355212..dc3f5eef2ff 100644 --- a/res/cardsfolder/p/pulse_of_the_dross.txt +++ b/res/cardsfolder/p/pulse_of_the_dross.txt @@ -3,7 +3,7 @@ ManaCost:1 B B Types:Sorcery Text:no text A:SP$ Discard | Cost$ 1 B B | ValidTgts$ Player | TgtPrompt$ Select target player | Mode$ RevealYouChoose | RevealNumber$ 3 | NumCards$ 1 | SubAbility$ ReturnDross | SpellDescription$ Target player reveals three cards from his or her hand and you choose one of them. That player discards that card. Then if that player has more cards in hand than you, return CARDNAME to its owner's hand. -SVar:ReturnDross:DB$ ChangeZone | ConditionCheckSVar$ X | ConditionSVarCompare$ GTY | Defined$ Self | Origin$ Stack | Destination$ Hand +SVar:ReturnDross:DB$ ChangeZone | ConditionCheckSVar$ X | ConditionSVarCompare$ GTY | Defined$ Self | Origin$ Stack | Destination$ Hand | References$ X,Y SVar:X:Count$InTargetedHand SVar:Y:Count$InYourHand SVar:Rarity:Rare diff --git a/res/cardsfolder/p/pulse_of_the_fields.txt b/res/cardsfolder/p/pulse_of_the_fields.txt index 52ebb496101..9bfb967a4b4 100644 --- a/res/cardsfolder/p/pulse_of_the_fields.txt +++ b/res/cardsfolder/p/pulse_of_the_fields.txt @@ -3,7 +3,7 @@ ManaCost:1 W W Types:Instant Text:no text A:SP$ GainLife | Cost$ 1 W W | Defined$ You | LifeAmount$ 4 | SubAbility$ TrigReturn | SpellDescription$ You gain 4 life. Then if an opponent has more life than you, return CARDNAME to its owner's hand. -SVar:TrigReturn:DB$ ChangeZone | ConditionLifeTotal$ You | ConditionLifeAmount$ LTX | Defined$ Self | Origin$ Stack | Destination$ Hand | ConditionDescription$ If an opponent has more life than you, +SVar:TrigReturn:DB$ ChangeZone | ConditionLifeTotal$ You | ConditionLifeAmount$ LTX | References$ X | Defined$ Self | Origin$ Stack | Destination$ Hand | ConditionDescription$ If an opponent has more life than you, SVar:X:Count$OppLifeTotal SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/pulse_of_the_fields.jpg diff --git a/res/cardsfolder/p/pulse_of_the_forge.txt b/res/cardsfolder/p/pulse_of_the_forge.txt index c9c5c6d3700..0ffc9ba4cec 100644 --- a/res/cardsfolder/p/pulse_of_the_forge.txt +++ b/res/cardsfolder/p/pulse_of_the_forge.txt @@ -3,7 +3,7 @@ ManaCost:1 R R Types:Instant Text:no text A:SP$ DealDamage | Cost$ 1 R R | ValidTgts$ Player | TgtPrompt$ Select target player | NumDmg$ 4 | SubAbility$ ReheatTheForge | SpellDescription$ CARDNAME deals 4 damage to target player. Then if that player has more life than you, return CARDNAME to its owner's hand. -SVar:ReheatTheForge:DB$ ChangeZone | ConditionLifeTotal$ You | ConditionLifeAmount$ LTX | Defined$ Self | Origin$ Stack | Destination$ Hand | ConditionDescription$ If an opponent has more life than you, +SVar:ReheatTheForge:DB$ ChangeZone | ConditionLifeTotal$ You | ConditionLifeAmount$ LTX | References$ X | Defined$ Self | Origin$ Stack | Destination$ Hand | ConditionDescription$ If an opponent has more life than you, SVar:X:Count$TargetedLifeTotal SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/pulse_of_the_forge.jpg diff --git a/res/cardsfolder/p/pulse_of_the_grid.txt b/res/cardsfolder/p/pulse_of_the_grid.txt index 70c2f68b6d9..f9a34ceb273 100644 --- a/res/cardsfolder/p/pulse_of_the_grid.txt +++ b/res/cardsfolder/p/pulse_of_the_grid.txt @@ -4,7 +4,7 @@ Types:Instant Text:no text A:SP$ Draw | Cost$ 1 U U | NumCards$ 2 | SubAbility$ DBDiscard | SpellDescription$ Draw two cards, then discard a card. Then if an opponent has more cards in hand than you, return CARDNAME to its owner's hand. SVar:DBDiscard:DB$Discard | NumCards$ 1 | Mode$ TgtChoose | SubAbility$ TrigReturn -SVar:TrigReturn:DB$ ChangeZone | Defined$ Self | Origin$ Stack | Destination$ Hand | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 +SVar:TrigReturn:DB$ ChangeZone | Defined$ Self | Origin$ Stack | Destination$ Hand | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X,Y SVar:Y:Count$CardsInYourHand SVar:X:Count$CardsInOppHand/Minus.Y SVar:RemAIDeck:True diff --git a/res/cardsfolder/p/pulse_of_the_tangle.txt b/res/cardsfolder/p/pulse_of_the_tangle.txt index 43a62c14e7d..f8bdbeceff5 100644 --- a/res/cardsfolder/p/pulse_of_the_tangle.txt +++ b/res/cardsfolder/p/pulse_of_the_tangle.txt @@ -3,10 +3,10 @@ ManaCost:1 G G Types:Sorcery Text:no text A:SP$ Token | Cost$ 1 G G | TokenAmount$ 1 | TokenName$ Beast | TokenTypes$ Creature,Beast | TokenOwner$ You | TokenColors$ Green | TokenPower$ 3 | TokenToughness$ 3 | SubAbility$ DBBounce | SpellDescription$ Put a 3/3 green Beast creature token onto the battlefield. Then if an opponent controls more creatures than you, return CARDNAME to its owner's hand. -SVar:DBBounce:DB$ChangeZone | Origin$ Stack | Destination$ Hand | ConditionPresent$ Creature.YouDontCtrl | ConditionCompare$ GTX +SVar:DBBounce:DB$ChangeZone | Origin$ Stack | Destination$ Hand | ConditionPresent$ Creature.YouDontCtrl | ConditionCompare$ GTX | References$ X SVar:X:Count$Valid Creature.YouCtrl SVar:Rarity:Rare -SVar:Picture:http://resources.wizards.com/magic/cards/dst/en-us/card39690.jpg +SVar:Picture:http://www.wizards.com/global/images/magic/general/pulse_of_the_tangle.jpg SetInfo:DST|Rare|http://magiccards.info/scans/en/ds/80.jpg Oracle:Put a 3/3 green Beast creature token onto the battlefield. Then if an opponent controls more creatures than you, return Pulse of the Tangle to its owner's hand. End \ No newline at end of file diff --git a/res/cardsfolder/p/pure_reflection.txt b/res/cardsfolder/p/pure_reflection.txt index 75f96f5889c..a20ea6d69f4 100644 --- a/res/cardsfolder/p/pure_reflection.txt +++ b/res/cardsfolder/p/pure_reflection.txt @@ -4,7 +4,7 @@ Types:Enchantment Text:no text T:Mode$ SpellCast | ValidCard$ Creature | Execute$ TrigDestroy | ValidActivatingPlayer$ Player | TriggerZones$ Battlefield | TriggerDescription$ Whenever a player casts a creature spell, destroy all Reflections. Then that player puts an X/X white Reflection creature token onto the battlefield, where X is the converted mana cost of that spell. SVar:TrigDestroy:AB$ DestroyAll | Cost$ 0 | ValidCards$ Reflection | SubAbility$ DBToken | SpellDescription$ Destroy all Reflections -SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenPower$ X | TokenToughness$ X | TokenName$ Reflection | TokenTypes$ Creature,Reflection | TokenColors$ White | TokenOwner$ TriggeredActivator +SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenPower$ X | TokenToughness$ X | References$ X | TokenName$ Reflection | TokenTypes$ Creature,Reflection | TokenColors$ White | TokenOwner$ TriggeredActivator SVar:X:TriggeredCard$CardManaCost SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/pure_reflection.jpg diff --git a/res/cardsfolder/p/purity.txt b/res/cardsfolder/p/purity.txt index 49484d99a91..4670f37bcf6 100644 --- a/res/cardsfolder/p/purity.txt +++ b/res/cardsfolder/p/purity.txt @@ -5,7 +5,7 @@ Text: PT:6/6 K:Flying R:Event$ DamageDone | ValidTarget$ You | ReplaceWith$ GainLife | PreventionEffect$ True | IsCombat$ False | Description$ If noncombat damage would be dealt to you, prevent that damage. You gain life equal to the damage prevented this way. -SVar:GainLife:AB$GainLife | Cost$ 0 | Defined$ ReplacedTarget | LifeAmount$ X +SVar:GainLife:AB$GainLife | Cost$ 0 | Defined$ ReplacedTarget | LifeAmount$ X | References$ X SVar:X:ReplaceCount$DamageAmount T:Mode$ ChangesZone | Origin$ Any | Destination$ Graveyard | ValidCard$ Creature.Self | Execute$ TrigShuffle | TriggerDescription$ When CARDNAME is put into a graveyard from anywhere, shuffle it into its owner's library. SVar:TrigShuffle:AB$ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Library | Shuffle$ True | Defined$ Self diff --git a/res/cardsfolder/p/putrid_cyclops.txt b/res/cardsfolder/p/putrid_cyclops.txt index 11e68460154..efcfdb36725 100644 --- a/res/cardsfolder/p/putrid_cyclops.txt +++ b/res/cardsfolder/p/putrid_cyclops.txt @@ -6,7 +6,7 @@ PT:3/3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSrcy | TriggerDescription$ When CARDNAME enters the battlefield, scry 1, then reveal the top card of your library. Putrid Cyclops gets -X/-X until end of turn, where X is that card's converted mana cost. (To scry 1, look at the top card of your library, then you may put that card on the bottom of your library.)| Static$ True SVar:TrigSrcy:AB$ Scry | Cost$ 0 | ScryNum$ 1 | SubAbility$ DBReveal SVar:DBReveal:DB$ Dig | Cost$ 0 | DigNum$ 1 | Reveal$ True | DestinationZone$ Library | LibraryPosition$ 0 | SubAbility$ DBPump -SVar:DBPump:DB$ Pump | Cost$ 0 | Defined$ TriggeredCard | NumAtt$ -X | NumDef$ -X +SVar:DBPump:DB$ Pump | Cost$ 0 | Defined$ TriggeredCard | NumAtt$ -X | NumDef$ -X | References$ X SVar:X:Count$TopOfLibraryCMC SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/p/pygmy_kavu.txt b/res/cardsfolder/p/pygmy_kavu.txt index 9deadca2d2d..1e3d21a8dd2 100644 --- a/res/cardsfolder/p/pygmy_kavu.txt +++ b/res/cardsfolder/p/pygmy_kavu.txt @@ -4,7 +4,7 @@ Types:Creature Kavu Text:no text PT:1/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDraw | TriggerDescription$ When CARDNAME enters the battlefield, draw a card for each black creature your opponents control. -SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ X +SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ X | References$ X SVar:X:Count$BlackTypeOppCtrl.Creature SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/p/pyroblast.txt b/res/cardsfolder/p/pyroblast.txt index 679f3b56a4a..cc01f7d4c9a 100644 --- a/res/cardsfolder/p/pyroblast.txt +++ b/res/cardsfolder/p/pyroblast.txt @@ -2,7 +2,7 @@ Name:Pyroblast ManaCost:R Types:Instant Text:no text -A:SP$ Counter | Cost$ R | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | AITgts$ Card.Blue | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | PrecostDesc$ Choose one - | SpellDescription$ Counter target spell if it's blue; +A:SP$ Counter | Cost$ R | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | AITgts$ Card.Blue | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X | PrecostDesc$ Choose one - | SpellDescription$ Counter target spell if it's blue; A:SP$ Destroy | Cost$ R | ValidTgts$ Permanent | AITgts$ Card.Blue | TgtPrompt$ Select target permanent | ConditionDefined$ Targeted | ConditionPresent$ Card.Blue | ConditionCompare$ GE1 | SpellDescription$ or destroy target permanent if it's blue. SVar:X:Targeted$Valid Card.Blue SVar:RemRandomDeck:True diff --git a/res/cardsfolder/p/pyromancers_swath.txt b/res/cardsfolder/p/pyromancers_swath.txt index 44bcfd10ee0..2df1db6ee34 100644 --- a/res/cardsfolder/p/pyromancers_swath.txt +++ b/res/cardsfolder/p/pyromancers_swath.txt @@ -3,7 +3,7 @@ ManaCost:2 R Types:Enchantment Text:no text R:Event$ DamageDone | ValidSource$ Instant.YouCtrl,Sorcery.YouCtrl | ValidTarget$ Card.Permanent,Player | ReplaceWith$ DmgPlus2 | Description$ If an instant or sorcery source you control would deal damage to a creature or player, it deals that much damage plus 2 to that creature or player instead. -SVar:DmgPlus2:AB$DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X +SVar:DmgPlus2:AB$DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X | References$ X SVar:X:ReplaceCount$DamageAmount/Plus.2 T:Mode$ Phase | Phase$ End of Turn | TriggerZones$ Battlefield | Execute$ TrigDiscard | TriggerDescription$ At the beginning of each end step, discard your hand. SVar:TrigDiscard:AB$Discard | Cost$ 0 | Mode$ Hand diff --git a/res/cardsfolder/p/pyromancy.txt b/res/cardsfolder/p/pyromancy.txt index 04acb7c17a7..2b16a3a48b7 100644 --- a/res/cardsfolder/p/pyromancy.txt +++ b/res/cardsfolder/p/pyromancy.txt @@ -2,7 +2,7 @@ Name:Pyromancy ManaCost:2 R R Types:Enchantment Text:no text -A:AB$ DealDamage | Cost$ 3 Discard<1/Random> | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals damage to target creature or player equal to the converted mana cost of the discarded card. +A:AB$ DealDamage | Cost$ 3 Discard<1/Random> | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage to target creature or player equal to the converted mana cost of the discarded card. SVar:X:Discarded$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/q/qasali_ambusher.txt b/res/cardsfolder/q/qasali_ambusher.txt index 2bef85cca33..b9f6d3cdd72 100644 --- a/res/cardsfolder/q/qasali_ambusher.txt +++ b/res/cardsfolder/q/qasali_ambusher.txt @@ -4,7 +4,7 @@ Types:Creature Cat Warrior Text:no text PT:2/3 K:Reach -S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ All | CheckSVar$ X | CheckSecondSVar2$ Y | CheckThirdSVar$ Z | AddHiddenKeyword$ HIDDEN May be played without paying its mana cost and as though it has flash | Description$ If a creature is attacking you and you control a Forest and a Plains, you may cast CARDNAME without paying its mana cost and as though it had flash. +S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ All | CheckSVar$ X | CheckSecondSVar2$ Y | CheckThirdSVar$ Z | References$ X,Y,Z | AddHiddenKeyword$ HIDDEN May be played without paying its mana cost and as though it has flash | Description$ If a creature is attacking you and you control a Forest and a Plains, you may cast CARDNAME without paying its mana cost and as though it had flash. SVar:X:Count$Valid Creature.YouDontCtrl+attacking SVar:Y:Count$Valid Forest.YouCtrl SVar:Z:Count$Valid Plains.YouCtrl diff --git a/res/cardsfolder/q/quag_sickness.txt b/res/cardsfolder/q/quag_sickness.txt index cc9c4ab8402..7e9003a0e3d 100644 --- a/res/cardsfolder/q/quag_sickness.txt +++ b/res/cardsfolder/q/quag_sickness.txt @@ -4,7 +4,7 @@ Types:Enchantment Aura Text:no text K:Enchant creature A:SP$ Attach | Cost$ 2 B | ValidTgts$ Creature | AILogic$ Curse -S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ X | AddToughness$ X | Description$ Enchanted creature gets -1/-1 for each Swamp you control. +S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ X | AddToughness$ X | References$ X | Description$ Enchanted creature gets -1/-1 for each Swamp you control. SVar:X:Count$Valid Swamp.YouCtrl/Negative SVar:BuffedBy:Swamp SVar:Rarity:Common diff --git a/res/cardsfolder/q/quest_for_renewal.txt b/res/cardsfolder/q/quest_for_renewal.txt index 88dae79d973..115a2826fd0 100644 --- a/res/cardsfolder/q/quest_for_renewal.txt +++ b/res/cardsfolder/q/quest_for_renewal.txt @@ -2,7 +2,7 @@ Name:Quest for Renewal ManaCost:1 G Types:Enchantment Text:no text -S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddHiddenKeyword$ HIDDEN CARDNAME untaps during each other player's untap step. | CheckSVar$ X | SVarCompare$ EQ1 | Description$ As long as there are four or more quest counters on CARDNAME, untap all creatures you control during each other player's untap step. +S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddHiddenKeyword$ HIDDEN CARDNAME untaps during each other player's untap step. | CheckSVar$ X | SVarCompare$ EQ1 | References$ X | Description$ As long as there are four or more quest counters on CARDNAME, untap all creatures you control during each other player's untap step. T:Mode$ Taps | ValidCard$ Creature.YouCtrl | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever a creature you control becomes tapped, you may put a quest counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ QUEST | CounterNum$ 1 SVar:X:Count$Valid Card.Self+counters_GE4_QUEST diff --git a/res/cardsfolder/q/quest_for_the_goblin_lord.txt b/res/cardsfolder/q/quest_for_the_goblin_lord.txt index 81ea40f671f..1056ca974e2 100644 --- a/res/cardsfolder/q/quest_for_the_goblin_lord.txt +++ b/res/cardsfolder/q/quest_for_the_goblin_lord.txt @@ -2,7 +2,7 @@ Name:Quest for the Goblin Lord ManaCost:R Types:Enchantment Text:no text -S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddPower$ 2 | CheckSVar$ X | SVarCompare$ EQ1 | Description$ As long as CARDNAME has five or more quest counters on it, creatures you control get +2/+0. +S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddPower$ 2 | CheckSVar$ X | SVarCompare$ EQ1 | References$ X | Description$ As long as CARDNAME has five or more quest counters on it, creatures you control get +2/+0. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Goblin.YouCtrl | Execute$ TrigPutCounter | OptionalDecider$ You | TriggerZones$ Battlefield | TriggerDescription$ Whenever a Goblin enters the battlefield under your control, you may put a quest counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ QUEST | CounterNum$ 1 SVar:X:Count$Valid Card.Self+counters_GE5_QUEST diff --git a/res/cardsfolder/q/quillmane_baku.txt b/res/cardsfolder/q/quillmane_baku.txt index e6ca68b5e07..f1d40af1cfb 100644 --- a/res/cardsfolder/q/quillmane_baku.txt +++ b/res/cardsfolder/q/quillmane_baku.txt @@ -5,7 +5,7 @@ Text:no text PT:3/3 T:Mode$ SpellCast | ValidCard$ Spirit,Arcane | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ Whenever you cast a Spirit or Arcane spell, you may put a ki counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ KI | CounterNum$ 1 -A:AB$ ChangeZone | Cost$ 1 T SubCounter | Origin$ Battlefield | Destination$ Hand | ValidTgts$ Creature | ChangeNum$ 1 | SpellDescription$ Return target creature with converted mana cost X or less to its owner's hand. +A:AB$ ChangeZone | Cost$ 1 T SubCounter | Origin$ Battlefield | Destination$ Hand | ValidTgts$ Creature | ChangeNum$ 1 | References$ X | SpellDescription$ Return target creature with converted mana cost X or less to its owner's hand. SVar:X:Targeted$CardManaCost # We'll need to improve the script at some stage, especially if we add Hunter of Eyeblights or Razorfin Abolisher. SVar:RemAIDeck:True diff --git a/res/cardsfolder/r/rabble_rouser.txt b/res/cardsfolder/r/rabble_rouser.txt index 2846de25e77..a15342142e0 100644 --- a/res/cardsfolder/r/rabble_rouser.txt +++ b/res/cardsfolder/r/rabble_rouser.txt @@ -4,7 +4,7 @@ Types:Creature Goblin Shaman Text:no text PT:1/1 K:Bloodthirst 1 -A:AB$ PumpAll | Cost$ R T | ValidCards$ Creature.attacking | NumAtt$ +X | SpellDescription$ Attacking creatures get +X/+0 until end of turn, where X is CARDNAME's power. +A:AB$ PumpAll | Cost$ R T | ValidCards$ Creature.attacking | NumAtt$ +X | References$ X | SpellDescription$ Attacking creatures get +X/+0 until end of turn, where X is CARDNAME's power. SVar:X:Count$CardPower SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/rabble_rouser.jpg diff --git a/res/cardsfolder/r/rabid_elephant.txt b/res/cardsfolder/r/rabid_elephant.txt index 2105b51dead..737b9a404b2 100644 --- a/res/cardsfolder/r/rabid_elephant.txt +++ b/res/cardsfolder/r/rabid_elephant.txt @@ -4,7 +4,7 @@ Types:Creature Elephant Text:no text PT:3/4 T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME becomes blocked, it gets +2/+2 until end of turn for each creature blocking it. -SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ +X | NumDef$ +X +SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ +X | NumDef$ +X | References$ X SVar:X:TriggerCount$NumBlockers/Times.2 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/rabid_elephant.jpg diff --git a/res/cardsfolder/r/rabid_wombat.txt b/res/cardsfolder/r/rabid_wombat.txt index 308f67ac132..b1c64ac7ea2 100644 --- a/res/cardsfolder/r/rabid_wombat.txt +++ b/res/cardsfolder/r/rabid_wombat.txt @@ -4,7 +4,7 @@ Types:Creature Wombat Text:no text PT:0/1 K:Vigilance -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | Description$ CARDNAME gets +2/+2 for each Aura attached to it. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | References$ X | Description$ CARDNAME gets +2/+2 for each Aura attached to it. SVar:X:Count$Valid Aura.Attached/Times.2 SVar:EnchantMe:Multiple SVar:Rarity:Uncommon diff --git a/res/cardsfolder/r/rackling.txt b/res/cardsfolder/r/rackling.txt index bdba89581a7..9f7aa7317c1 100644 --- a/res/cardsfolder/r/rackling.txt +++ b/res/cardsfolder/r/rackling.txt @@ -4,7 +4,7 @@ Types:Artifact Creature Construct Text:no text PT:2/2 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Opponent | IsPresent$ Card.YouDontCtrl | PresentZone$ Hand | PresentCompare$ LT3 | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ At the beginning of each opponent's upkeep, CARDNAME deals X damage to that player, where X is 3 minus the number of cards in his or her hand. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ X +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ X | References$ X SVar:X:Count$InOppHand/NMinus.3 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/rackling.jpg diff --git a/res/cardsfolder/r/radiant_archangel.txt b/res/cardsfolder/r/radiant_archangel.txt index 7a9d3f2a600..ab270677225 100644 --- a/res/cardsfolder/r/radiant_archangel.txt +++ b/res/cardsfolder/r/radiant_archangel.txt @@ -5,7 +5,7 @@ Text:no text PT:3/3 K:Flying K:Vigilance -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | Description$ CARDNAME gets +1/+1 for each other creature with flying on the battlefield. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | References$ X | Description$ CARDNAME gets +1/+1 for each other creature with flying on the battlefield. SVar:X:Count$Valid Creature.Other+withFlying SVar:BuffedBy:Creature.withFlying SVar:Rarity:Rare diff --git a/res/cardsfolder/r/radiant_essence.txt b/res/cardsfolder/r/radiant_essence.txt index f015adc35b2..95cd15db1a1 100644 --- a/res/cardsfolder/r/radiant_essence.txt +++ b/res/cardsfolder/r/radiant_essence.txt @@ -3,7 +3,7 @@ ManaCost:1 W G Types:Creature Spirit Text:no text PT:2/3 -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 1 | AddToughness$ 2 | CheckSVar$ X | SVarCompare$ GE1 | Description$ CARDNAME gets +1/+2 as long as an opponent controls a black permanent. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 1 | AddToughness$ 2 | CheckSVar$ X | SVarCompare$ GE1 | References$ X | Description$ CARDNAME gets +1/+2 as long as an opponent controls a black permanent. SVar:X:Count$Valid Creature.YouDontCtrl+Black SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/r/rage_extractor.txt b/res/cardsfolder/r/rage_extractor.txt index 03b2462e0cc..03ac1f7b010 100644 --- a/res/cardsfolder/r/rage_extractor.txt +++ b/res/cardsfolder/r/rage_extractor.txt @@ -3,7 +3,7 @@ ManaCost:4 PR Types:Artifact Text:no text T:Mode$ SpellCast | ValidCard$ Card.CostsPhyrexianMana | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDealDamage | TriggerDescription$ Whenever you cast a spell with P in its mana cost, CARDNAME deals damage equal to that spell's converted mana cost to target creature or player. -SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Tgt$ TgtCP | NumDmg$ X +SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Tgt$ TgtCP | NumDmg$ X | References$ X SVar:X:TriggeredCard$CardManaCost SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/r/ragged_veins.txt b/res/cardsfolder/r/ragged_veins.txt index cb936cb729a..2ac280fcd74 100644 --- a/res/cardsfolder/r/ragged_veins.txt +++ b/res/cardsfolder/r/ragged_veins.txt @@ -6,7 +6,7 @@ K:Flash K:Enchant creature A:SP$ Attach | Cost$ 1 B | ValidTgts$ Creature | AILogic$ Curse T:Mode$ DamageDone | ValidTarget$ Card.AttachedBy | TriggerZones$ Battlefield | Execute$ TrigLoseLife | TriggerDescription$ Whenever enchanted creature is dealt damage, its controller loses that much life. -SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ TriggeredCardController | LifeAmount$ X +SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ TriggeredCardController | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/ragged_veins.jpg diff --git a/res/cardsfolder/r/rain_of_daggers.txt b/res/cardsfolder/r/rain_of_daggers.txt index 86141c265f9..6fa91e4864a 100644 --- a/res/cardsfolder/r/rain_of_daggers.txt +++ b/res/cardsfolder/r/rain_of_daggers.txt @@ -3,7 +3,7 @@ ManaCost:4 B B Types:Sorcery Text:no text A:SP$ DestroyAll | Cost$ 4 B B | ValidCards$ Creature | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | RememberDestroyed$ True | SubAbility$ DBLoseLife | SpellDescription$ Destroy all creatures target opponent controls. You lose 2 life for each creature destroyed this way. -SVar:DBLoseLife:DB$ LoseLife | LifeAmount$ X +SVar:DBLoseLife:DB$ LoseLife | LifeAmount$ X | References$ X SVar:X:Remembered$Amount/Twice SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/r/raka_sanctuary.txt b/res/cardsfolder/r/raka_sanctuary.txt index 3d83fbde85e..ff2d5d9e76c 100644 --- a/res/cardsfolder/r/raka_sanctuary.txt +++ b/res/cardsfolder/r/raka_sanctuary.txt @@ -2,9 +2,9 @@ Name:Raka Sanctuary ManaCost:2 R Types:Enchantment Text:no text -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | CheckSVar$ X | SVarCompare$ GE1 | Execute$ TrigDmg | TriggerDescription$ At the beginning of your upkeep, if you control a white or blue permanent, CARDNAME deals 1 damage to target creature. If you control a white permanent and a blue permanent, CARDNAME deals 3 damage to that creature instead. -SVar:TrigDmg:AB$ DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature to deal damage to | NumDmg$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | SubAbility$ DBDmg -SVar:DBDmg:DB$ DealDamage | Defined$ Targeted | NumDmg$ 3 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE2 +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | CheckSVar$ X | SVarCompare$ GE1 | References$ X,Y,Z | Execute$ TrigDmg | TriggerDescription$ At the beginning of your upkeep, if you control a white or blue permanent, CARDNAME deals 1 damage to target creature. If you control a white permanent and a blue permanent, CARDNAME deals 3 damage to that creature instead. +SVar:TrigDmg:AB$ DealDamage | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature to deal damage to | NumDmg$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | SubAbility$ DBDmg | References$ X,Y,Z +SVar:DBDmg:DB$ DealDamage | Defined$ Targeted | NumDmg$ 3 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE2 | References$ X,Y,Z SVar:Y:Count$Valid Permanent.White+YouCtrl/LimitMax.1 SVar:Z:Count$Valid Permanent.Blue+YouCtrl/LimitMax.1 SVar:X:SVar$Y/Plus.Z diff --git a/res/cardsfolder/r/rakdos_riteknife.txt b/res/cardsfolder/r/rakdos_riteknife.txt index dca896f0cca..aff566cbc1b 100644 --- a/res/cardsfolder/r/rakdos_riteknife.txt +++ b/res/cardsfolder/r/rakdos_riteknife.txt @@ -3,9 +3,9 @@ ManaCost:2 Types:Artifact Equipment Text:no text A:AB$ Attach | Cost$ 2 | ValidTgts$ Creature.YouCtrl | AILogic$ Pump | IsPresent$ Card.Self+nonCreature | TgtPrompt$ Select target creature you control | SorcerySpeed$ True | PrecostDesc$ Equip | SpellDescription$ Attach CARDNAME to target creature you control. -S:Mode$ Continuous | Affected$ Card.EquippedBy | AddPower$ X | AddAbility$ RitualSac | Description$ Equipped creature gets +1/+0 for each blood counter on CARDNAME and has "T, Sacrifice a creature: Put a blood counter on CARDNAME." +S:Mode$ Continuous | Affected$ Card.EquippedBy | AddPower$ X | References$ X | AddAbility$ RitualSac | Description$ Equipped creature gets +1/+0 for each blood counter on CARDNAME and has "T, Sacrifice a creature: Put a blood counter on CARDNAME." SVar:RitualSac:AB$ PutCounter | Cost$ T Sac<1/Creature> | Defined$ OriginalHost | CounterType$ BLOOD | CounterNum$ 1 | SpellDescription$ Put a blood counter on Rakdos Riteknife. -A:AB$ Sacrifice | Cost$ B R Sac<1/CARDNAME> | ValidTgts$ Player | SacValid$ Permanent | SacMessage$ Permanent | Amount$ X | SpellDescription$ Target player sacrifices a permanent for each blood counter on CARDNAME. +A:AB$ Sacrifice | Cost$ B R Sac<1/CARDNAME> | ValidTgts$ Player | SacValid$ Permanent | SacMessage$ Permanent | Amount$ X | References$ X | SpellDescription$ Target player sacrifices a permanent for each blood counter on CARDNAME. SVar:X:Count$CardCounters.BLOOD SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/r/rakdos_the_defiler.txt b/res/cardsfolder/r/rakdos_the_defiler.txt index b49cd9c0417..fad4efc3335 100644 --- a/res/cardsfolder/r/rakdos_the_defiler.txt +++ b/res/cardsfolder/r/rakdos_the_defiler.txt @@ -7,8 +7,8 @@ K:Flying K:Trample T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigSac | TriggerDescription$ Whenever CARDNAME attacks, sacrifice half the non-Demon permanents you control, rounded up. T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigSac2 | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, that player sacrifices half the non-Demon permanents he or she controls, rounded up. -SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ You | Amount$ X | SacValid$ Permanent.nonDemon | SacMessage$ non-Demon Permanent -SVar:TrigSac2:AB$Sacrifice | Cost$ 0 | Defined$ Opponent | Amount$ Y | SacValid$ Permanent.nonDemon | SacMessage$ non-Demon Permanent +SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ You | Amount$ X | References$ X | SacValid$ Permanent.nonDemon | SacMessage$ non-Demon Permanent +SVar:TrigSac2:AB$Sacrifice | Cost$ 0 | Defined$ Opponent | Amount$ Y | References$ Y | SacValid$ Permanent.nonDemon | SacMessage$ non-Demon Permanent SVar:X:Count$Valid Permanent.nonDemon+YouCtrl/HalfUp SVar:Y:Count$Valid Permanent.nonDemon+YouDontCtrl/HalfUp SVar:RemRandomDeck:True diff --git a/res/cardsfolder/r/raksha_golden_cub.txt b/res/cardsfolder/r/raksha_golden_cub.txt index f05a098719a..9225f6c5eaf 100644 --- a/res/cardsfolder/r/raksha_golden_cub.txt +++ b/res/cardsfolder/r/raksha_golden_cub.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Cat Soldier Text:no text PT:3/4 K:Vigilance -S:Mode$ Continuous | Affected$ Creature.Cat+YouCtrl | AddPower$ 2 | AddToughness$ 2 | CheckSVar$ X | SVarCompare$ EQ1 | AddKeyword$ Double Strike | Description$ As long as CARDNAME is equipped, Cat creatures you control get +2/+2 and have double strike. +S:Mode$ Continuous | Affected$ Creature.Cat+YouCtrl | AddPower$ 2 | AddToughness$ 2 | CheckSVar$ X | SVarCompare$ EQ1 | References$ X | AddKeyword$ Double Strike | Description$ As long as CARDNAME is equipped, Cat creatures you control get +2/+2 and have double strike. SVar:X:Count$Valid Card.Self+equipped SVar:EquipMe:Once SVar:RemRandomDeck:True diff --git a/res/cardsfolder/r/rancid_earth.txt b/res/cardsfolder/r/rancid_earth.txt index d03fcd0942b..36192ddb383 100644 --- a/res/cardsfolder/r/rancid_earth.txt +++ b/res/cardsfolder/r/rancid_earth.txt @@ -3,7 +3,7 @@ ManaCost:1 B B Types:Sorcery Text:no text A:SP$ Destroy | Cost$ 1 B B | ValidTgts$ Land | TgtPrompt$ Select target land | SubAbility$ DBRancidDamage | SpellDescription$ Destroy target land. Threshold - If seven or more cards are in your graveyard, instead destroy that land and CARDNAME deals 1 damage to each creature and each player. -SVar:DBRancidDamage:DB$ DamageAll | NumDmg$ RancidX | ValidCards$ Creature | ValidPlayers$ Each +SVar:DBRancidDamage:DB$ DamageAll | NumDmg$ RancidX | References$ RancidX | ValidCards$ Creature | ValidPlayers$ Each SVar:RancidX:Count$Threshold.1.0 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/rancid_earth.jpg diff --git a/res/cardsfolder/r/rapacious_one.txt b/res/cardsfolder/r/rapacious_one.txt index 72aa1e5e6de..7f2ce93c7c0 100644 --- a/res/cardsfolder/r/rapacious_one.txt +++ b/res/cardsfolder/r/rapacious_one.txt @@ -5,7 +5,7 @@ Text:no text PT:5/4 K:Trample T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigToken | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, put that many 0/1 colorless Eldrazi Spawn creature tokens onto the battlefield. They have "Sacrifice this creature: Add 1 to your mana pool." -SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Eldrazi Spawn | TokenTypes$ Creature,Eldrazi,Spawn | TokenOwner$ You | TokenColors$ Colorless | TokenPower$ 0 | TokenToughness$ 1 | TokenAbilities$ ABMana +SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | References$ X | TokenName$ Eldrazi Spawn | TokenTypes$ Creature,Eldrazi,Spawn | TokenOwner$ You | TokenColors$ Colorless | TokenPower$ 0 | TokenToughness$ 1 | TokenAbilities$ ABMana SVar:ABMana:AB$Mana | Cost$ Sac<1/CARDNAME> | Produced$ 1 | Amount$ 1 | SpellDescription$ Add 1 to your mana pool. SVar:X:TriggerCount$DamageAmount SVar:Rarity:Uncommon diff --git a/res/cardsfolder/r/rapid_fire.txt b/res/cardsfolder/r/rapid_fire.txt index 35eae811e76..e15b8ad7c13 100644 --- a/res/cardsfolder/r/rapid_fire.txt +++ b/res/cardsfolder/r/rapid_fire.txt @@ -3,7 +3,7 @@ ManaCost:3 W Types:Instant Text:Cast Rapid Fire only before blockers are declared. A:SP$ Pump | Cost$ 3 W | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ First Strike | ActivationPhases$ Upkeep->Declare Attackers - Play Instants and Abilities | SubAbility$ DBPump | SpellDescription$ Target creature gains first strike until end of turn. If it doesn't have rampage, that creature gains rampage 2 until end of turn. (Whenever this creature becomes blocked, it gets +2/+2 until end of turn for each creature blocking it beyond the first.) -SVar:DBPump:DB$Pump | Cost$ 0 | Defined$ Targeted | KW$ Rampage 2 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 +SVar:DBPump:DB$Pump | Cost$ 0 | Defined$ Targeted | KW$ Rampage 2 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X SVar:X:Targeted$Valid Creature.withoutRampage SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/r/rashida_scalebane.txt b/res/cardsfolder/r/rashida_scalebane.txt index 47247adc61b..f978197fc6b 100644 --- a/res/cardsfolder/r/rashida_scalebane.txt +++ b/res/cardsfolder/r/rashida_scalebane.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Human Soldier Text:no text PT:3/4 A:AB$ Destroy | Cost$ T | ValidTgts$ Dragon.attacking,Dragon.blocking | NoRegen$ True | TgtPrompt$ Select target attacking or blocking Dragon | SubAbility$ DBGainLife | SpellDescription$ Destroy target attacking or blocking Dragon. It can't be regenerated. You gain life equal to its power. -SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X +SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Targeted$CardPower SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/r/ratchet_bomb.txt b/res/cardsfolder/r/ratchet_bomb.txt index 3ae2449e486..d4f7bd59fa1 100644 --- a/res/cardsfolder/r/ratchet_bomb.txt +++ b/res/cardsfolder/r/ratchet_bomb.txt @@ -3,7 +3,7 @@ ManaCost:2 Types:Artifact Text:no text A:AB$ PutCounter | Cost$ T | CounterType$ CHARGE | CounterNum$ 1 | SpellDescription$ Put a charge counter on CARDNAME. -A:AB$ DestroyAll | Cost$ T Sac<1/CARDNAME> | ValidCards$ Permanent.nonLand+cmcEQX | SpellDescription$ Destroy each nonland permanent with converted mana cost equal to the number of charge counters on CARDNAME. +A:AB$ DestroyAll | Cost$ T Sac<1/CARDNAME> | ValidCards$ Permanent.nonLand+cmcEQX | References$ X | SpellDescription$ Destroy each nonland permanent with converted mana cost equal to the number of charge counters on CARDNAME. SVar:X:Count$CardCounters.CHARGE SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/ratchet_bomb.jpg diff --git a/res/cardsfolder/r/rathi_dragon.txt b/res/cardsfolder/r/rathi_dragon.txt index 689d9383424..a50ced852d7 100644 --- a/res/cardsfolder/r/rathi_dragon.txt +++ b/res/cardsfolder/r/rathi_dragon.txt @@ -6,7 +6,7 @@ PT:5/5 K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSacMtn | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you sacrifice two Mountains. SVar:TrigSacMtn:AB$ Sacrifice | Cost$ 0 | Amount$ 2 | SacValid$ Mountain | RememberSacrificed$ True | Optional$ True | SubAbility$ DBSacSelf -SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT2 +SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT2 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:NeedsToPlayVar:Y GE2 diff --git a/res/cardsfolder/r/rats_feast.txt b/res/cardsfolder/r/rats_feast.txt index 67315e5c9a2..061a9b36bac 100644 --- a/res/cardsfolder/r/rats_feast.txt +++ b/res/cardsfolder/r/rats_feast.txt @@ -2,7 +2,7 @@ Name:Rats' Feast ManaCost:X B Types:Sorcery Text:no text -A:SP$ ChangeZone | Cost$ X B | TargetMin$ 0 | TargetMax$ MaxTgts | TargetsFromSingleZone$ True | Origin$ Graveyard | Destination$ Exile | TgtPrompt$ Choose target card in a graveyard | ValidTgts$ Card | SpellDescription$ Exile X target cards from a single graveyard. +A:SP$ ChangeZone | Cost$ X B | TargetMin$ 0 | TargetMax$ MaxTgts | TargetsFromSingleZone$ True | Origin$ Graveyard | Destination$ Exile | TgtPrompt$ Choose target card in a graveyard | ValidTgts$ Card | References$ X | SpellDescription$ Exile X target cards from a single graveyard. SVar:X:Targeted$Amount SVar:MaxTgts:Count$TypeInYourYard.Creature SVar:RemAIDeck:True diff --git a/res/cardsfolder/r/rattleblaze_scarecrow.txt b/res/cardsfolder/r/rattleblaze_scarecrow.txt index 87e976fe371..f8d6ecbd1ba 100644 --- a/res/cardsfolder/r/rattleblaze_scarecrow.txt +++ b/res/cardsfolder/r/rattleblaze_scarecrow.txt @@ -3,8 +3,8 @@ ManaCost:6 Types:Artifact Creature Scarecrow Text:no text PT:5/3 -S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Persist | CheckSVar$ X | SVarCompare$ GE1 | Description$ CARDNAME has persist as long as you control a black creature. -S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Haste | CheckSVar$ Y | SVarCompare$ GE1 | Description$ CARDNAME has haste as long as you control a red creature. +S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Persist | CheckSVar$ X | SVarCompare$ GE1 | References$ X | Description$ CARDNAME has persist as long as you control a black creature. +S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Haste | CheckSVar$ Y | SVarCompare$ GE1 | References$ Y | Description$ CARDNAME has haste as long as you control a red creature. SVar:X:Count$Valid Creature.YouCtrl+Black SVar:Y:Count$Valid Creature.YouCtrl+Red SVar:BuffedBy:Creature.Black,Creature.Red diff --git a/res/cardsfolder/r/ravenous_demon_archdemon_of_greed.txt b/res/cardsfolder/r/ravenous_demon_archdemon_of_greed.txt index de18ada2093..8ed01209eff 100644 --- a/res/cardsfolder/r/ravenous_demon_archdemon_of_greed.txt +++ b/res/cardsfolder/r/ravenous_demon_archdemon_of_greed.txt @@ -21,8 +21,8 @@ K:Flying K:Trample T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of your upkeep, sacrifice a Human. If you can't, tap CARDNAME and it deals 9 damage to you. SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ You | SacValid$ Creature.Human | SubAbility$ DBTap | RememberSacrificed$ True -SVar:DBTap:DB$ Tap | Cost$ 0 | Defined$ Self | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DBDamage -SVar:DBDamage:DB$ DealDamage | Cost$ 0 | Defined$ You | NumDmg$ 9 | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DBCleanup +SVar:DBTap:DB$ Tap | Cost$ 0 | Defined$ Self | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DBDamage | References$ X +SVar:DBDamage:DB$ DealDamage | Cost$ 0 | Defined$ You | NumDmg$ 9 | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:Picture:http://www.wizards.com/global/images/magic/general/archdemon_of_greed.jpg diff --git a/res/cardsfolder/r/ravenous_trap.txt b/res/cardsfolder/r/ravenous_trap.txt index 5e1e3d1719f..54469594c70 100644 --- a/res/cardsfolder/r/ravenous_trap.txt +++ b/res/cardsfolder/r/ravenous_trap.txt @@ -3,7 +3,7 @@ ManaCost:2 B B Types:Instant Trap Text:no text A:SP$ ChangeZoneAll | Cost$ 2 B B | Origin$ Graveyard | Destination$ Exile | ValidTgts$ Player | TgtPrompt$ Select target player | ChangeType$ Card | SpellDescription$ Exile all cards from target player's graveyard. -A:SP$ ChangeZoneAll | Cost$ 0 | CheckSVar$ CardsToGraveyard | SVarCompare$ GE3 |Origin$ Graveyard | Destination$ Exile | ValidTgts$ Player | TgtPrompt$ Select target player | ChangeType$ Card | SpellDescription$ If an opponent had three or more cards put into his or her graveyard from anywhere this turn, you may pay 0 rather than pay CARDNAME's mana cost. +A:SP$ ChangeZoneAll | Cost$ 0 | CheckSVar$ CardsToGraveyard | SVarCompare$ GE3 | References$ CardsToGraveyard |Origin$ Graveyard | Destination$ Exile | ValidTgts$ Player | TgtPrompt$ Select target player | ChangeType$ Card | SpellDescription$ If an opponent had three or more cards put into his or her graveyard from anywhere this turn, you may pay 0 rather than pay CARDNAME's mana cost. SVar:CardsToGraveyard:Count$ThisTurnEntered_Graveyard_Card.YouDontCtrl SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/r/razor_hippogriff.txt b/res/cardsfolder/r/razor_hippogriff.txt index bd1b5fd76d0..085c93d0515 100644 --- a/res/cardsfolder/r/razor_hippogriff.txt +++ b/res/cardsfolder/r/razor_hippogriff.txt @@ -6,7 +6,7 @@ PT:3/3 K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield, return target artifact card from your graveyard to your hand. You gain life equal to that card's converted mana cost. SVar:TrigChangeZone:AB$ChangeZone | Cost$ 0 | ValidTgts$ Artifact.YouCtrl | TgtPrompt$ Select target artifact | Origin$ Graveyard | Destination$ Hand | SubAbility$ DBGainLife -SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X +SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Targeted$CardManaCost SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/razor_hippogriff.jpg diff --git a/res/cardsfolder/r/razormane_masticore.txt b/res/cardsfolder/r/razormane_masticore.txt index 4c149140cac..d0095e4552a 100644 --- a/res/cardsfolder/r/razormane_masticore.txt +++ b/res/cardsfolder/r/razormane_masticore.txt @@ -6,7 +6,7 @@ PT:5/5 K:First Strike T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigDiscard | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, sacrifice CARDNAME unless you discard a card. SVar:TrigDiscard:AB$ Discard | Cost$ 0 | NumCards$ 1 | Mode$ TgtChoose | Optional$ True | RememberDiscarded$ True | SubAbility$ DBSacrifice -SVar:DBSacrifice:DB$ Sacrifice | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBCleanup +SVar:DBSacrifice:DB$ Sacrifice | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | References$ X | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount T:Mode$ Phase | Phase$ Draw | ValidPlayer$ You | OptionalDecider$ You | Execute$ TrigDealDamage | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your draw step, you may have CARDNAME deal 3 damage to target creature. diff --git a/res/cardsfolder/r/reality_spasm.txt b/res/cardsfolder/r/reality_spasm.txt index 3e8b7f650e4..f0b2fa7a5e8 100644 --- a/res/cardsfolder/r/reality_spasm.txt +++ b/res/cardsfolder/r/reality_spasm.txt @@ -2,8 +2,8 @@ Name:Reality Spasm ManaCost:X U U Types:Instant Text:no text -A:SP$ Tap | Cost$ X U U | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Permanent | TgtPrompt$ Select target permanents | SpellDescription$ Choose one - Tap X target permanents; -A:SP$ Untap | Cost$ X U U | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Permanent | TgtPrompt$ Select target permanents | SpellDescription$ or untap X target permanents. +A:SP$ Tap | Cost$ X U U | TargetMin$ 0 | TargetMax$ MaxTgts | References$ X,MaxTgts | ValidTgts$ Permanent | TgtPrompt$ Select target permanents | SpellDescription$ Choose one - Tap X target permanents; +A:SP$ Untap | Cost$ X U U | TargetMin$ 0 | TargetMax$ MaxTgts | References$ X,MaxTgts | ValidTgts$ Permanent | TgtPrompt$ Select target permanents | SpellDescription$ or untap X target permanents. # It may seem wrong to not use X in the target, but since the Targets are what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Permanent diff --git a/res/cardsfolder/r/reanimate.txt b/res/cardsfolder/r/reanimate.txt index e7b1301b9f6..14baed913b9 100644 --- a/res/cardsfolder/r/reanimate.txt +++ b/res/cardsfolder/r/reanimate.txt @@ -3,7 +3,7 @@ ManaCost:B Types:Sorcery Text:no text A:SP$ ChangeZone | Cost$ B | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | TgtPrompt$ Choose target creature card in a graveyard | ValidTgts$ Creature | ChangeNum$ 1 | SubAbility$ DBLoseLifeYou | SpellDescription$ Put target creature card from a graveyard onto the battlefield under your control. You lose life equal to its converted mana cost. -SVar:DBLoseLifeYou:DB$LoseLife | Defined$ You | LifeAmount$ X +SVar:DBLoseLifeYou:DB$LoseLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Targeted$CardManaCost SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/reanimate.jpg diff --git a/res/cardsfolder/r/reaper_from_the_abyss.txt b/res/cardsfolder/r/reaper_from_the_abyss.txt index e06af4075e3..c6fe61ffeb4 100644 --- a/res/cardsfolder/r/reaper_from_the_abyss.txt +++ b/res/cardsfolder/r/reaper_from_the_abyss.txt @@ -4,7 +4,7 @@ Types:Creature Demon Text:no text PT:6/6 K:Flying -T:Mode$ Phase | Phase$ End of Turn | CheckSVar$ Morbid | SVarCompare$ GE1 | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ Morbid - At the beginning of each end step, if a creature died this turn, destroy target non-demon creature. +T:Mode$ Phase | Phase$ End of Turn | CheckSVar$ Morbid | SVarCompare$ GE1 | References$ Morbid | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ Morbid - At the beginning of each end step, if a creature died this turn, destroy target non-demon creature. SVar:TrigDestroy:AB$ Destroy | Cost$ 0 | ValidTgts$ Creature.nonDemon | TgtPrompt$ Select target non-demon creature SVar:Morbid:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature SVar:Rarity:Mythic diff --git a/res/cardsfolder/r/recall.txt b/res/cardsfolder/r/recall.txt index 515d1a62595..74a2b086c12 100644 --- a/res/cardsfolder/r/recall.txt +++ b/res/cardsfolder/r/recall.txt @@ -2,8 +2,8 @@ Name:Recall ManaCost:X X U Types:Sorcery Text:no text -A:SP$ Discard | Cost$ X X U | Defined$ You | Mode$ TgtChoose | NumCards$ X | RememberDiscarded$ True | SubAbility$ DBChangeZone | SpellDescription$ Discard X cards, then return a card from your graveyard to your hand for each card discarded this way. Exile CARDNAME. -SVar:DBChangeZone:DB$ ChangeZone | Hidden$ True | Mandatory$ True | ChangeType$ Card.YouOwn | ChangeNum$ Y | Origin$ Graveyard | Destination$ Hand | SubAbility$ DBExile +A:SP$ Discard | Cost$ X X U | Defined$ You | Mode$ TgtChoose | NumCards$ X | References$ X | RememberDiscarded$ True | SubAbility$ DBChangeZone | SpellDescription$ Discard X cards, then return a card from your graveyard to your hand for each card discarded this way. Exile CARDNAME. +SVar:DBChangeZone:DB$ ChangeZone | Hidden$ True | Mandatory$ True | ChangeType$ Card.YouOwn | ChangeNum$ Y | References$ Y | Origin$ Graveyard | Destination$ Hand | SubAbility$ DBExile SVar:DBExile:DB$ChangeZone | Origin$ Stack | Destination$ Exile | SubAbility$ Cleanup SVar:Cleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$xPaid diff --git a/res/cardsfolder/r/recantation.txt b/res/cardsfolder/r/recantation.txt index 3d302777965..81cd76cb04e 100644 --- a/res/cardsfolder/r/recantation.txt +++ b/res/cardsfolder/r/recantation.txt @@ -2,7 +2,7 @@ Name:Recantation ManaCost:3 U U Types:Enchantment Text:no text -A:AB$ ChangeZone | Cost$ U Sac<1/CARDNAME> | Origin$ Battlefield | Destination$ Hand | TargetMin$ 0 | TargetMax$ X | ValidTgts$ Permanent | TgtPrompt$ Select target permanent. | SpellDescription$ Return up to X target permanents to their owners' hands, where X is the number of verse counters on CARDNAME. +A:AB$ ChangeZone | Cost$ U Sac<1/CARDNAME> | Origin$ Battlefield | Destination$ Hand | TargetMin$ 0 | TargetMax$ X | References$ X | ValidTgts$ Permanent | TgtPrompt$ Select target permanent. | SpellDescription$ Return up to X target permanents to their owners' hands, where X is the number of verse counters on CARDNAME. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, you may put a verse counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ VERSE | CounterNum$ 1 SVar:X:Count$CardCounters.VERSE diff --git a/res/cardsfolder/r/reckless_one.txt b/res/cardsfolder/r/reckless_one.txt index 51a41ebec02..e5dc7324fcd 100644 --- a/res/cardsfolder/r/reckless_one.txt +++ b/res/cardsfolder/r/reckless_one.txt @@ -4,7 +4,7 @@ Types:Creature Goblin Avatar Text:no text PT:*/* K:Haste -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of Goblins on the battlefield. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | References$ X | Description$ CARDNAME's power and toughness are each equal to the number of Goblins on the battlefield. SVar:X:Count$Valid Goblin SVar:BuffedBy:Goblin SVar:RemRandomDeck:True diff --git a/res/cardsfolder/r/recurring_insight.txt b/res/cardsfolder/r/recurring_insight.txt index d8c2ff94d11..14ab02ce66b 100644 --- a/res/cardsfolder/r/recurring_insight.txt +++ b/res/cardsfolder/r/recurring_insight.txt @@ -4,7 +4,7 @@ Types:Sorcery Text:no text K:Rebound A:SP$ Pump | Cost$ 4 U U | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | SubAbility$ DBDraw | StackDescription$ None | SpellDescription$ Draw cards equal to the number of cards in target opponent's hand. -SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X +SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X | References$ X SVar:X:TargetedPlayer$CardsInHand SVar:RemAIDeck:True SVar:Picture:http://www.wizards.com/global/images/magic/general/recurring_insight.jpg diff --git a/res/cardsfolder/r/red_mana_battery.txt b/res/cardsfolder/r/red_mana_battery.txt index b56aa002af4..27d081e3cf5 100644 --- a/res/cardsfolder/r/red_mana_battery.txt +++ b/res/cardsfolder/r/red_mana_battery.txt @@ -3,7 +3,7 @@ ManaCost:4 Types:Artifact Text:no text A:AB$ PutCounter | Cost$ 2 T | CounterType$ CHARGE | CounterNum$ 1 | SpellDescription$ Put a charge counter on CARDNAME. -A:AB$ Mana | Cost$ T SubCounter | Produced$ R | Amount$ Y | CostDesc$ Tap, Remove any number of charge counters from CARDNAME: | SpellDescription$ Add R to your mana pool, then add an additional R to your mana pool for each charge counter removed this way. +A:AB$ Mana | Cost$ T SubCounter | Produced$ R | Amount$ Y | References$ X,Y | CostDesc$ Tap, Remove any number of charge counters from CARDNAME: | SpellDescription$ Add R to your mana pool, then add an additional R to your mana pool for each charge counter removed this way. SVar:Y:Number$1/Plus.ChosenX SVar:X:XChoice #ChosenX SVar created by Cost payment diff --git a/res/cardsfolder/r/red_scarab.txt b/res/cardsfolder/r/red_scarab.txt index 81cbcabf521..cd954b0c518 100644 --- a/res/cardsfolder/r/red_scarab.txt +++ b/res/cardsfolder/r/red_scarab.txt @@ -5,7 +5,7 @@ Text:no text K:Enchant creature A:SP$ Attach | Cost$ W | ValidTgts$ Creature | AILogic$ Pump S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddKeyword$ CARDNAME can't be blocked by red creatures. | Description$ Enchanted creature can't be blocked by red creatures. -S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 2 | AddToughness$ 2 | CheckSVar$ X | SVarCompare$ GE1 | Description$ Enchanted creature gets +2/+2 as long as an opponent controls a red permanent. +S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 2 | AddToughness$ 2 | CheckSVar$ X | SVarCompare$ GE1 | References$ X | Description$ Enchanted creature gets +2/+2 as long as an opponent controls a red permanent. SVar:X:Count$Valid Permanent.Red+YouDontCtrl SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/r/red_suns_zenith.txt b/res/cardsfolder/r/red_suns_zenith.txt index 38049096053..6359c1b3f05 100644 --- a/res/cardsfolder/r/red_suns_zenith.txt +++ b/res/cardsfolder/r/red_suns_zenith.txt @@ -2,7 +2,7 @@ Name:Red Sun's Zenith ManaCost:X R Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ X R | Tgt$ TgtCP | NumDmg$ X | SubAbility$ DBCurse | SpellDescription$ CARDNAME deals X damage to target creature or player. If a creature dealt damage this way would be put into a graveyard this turn, exile it instead. Shuffle CARDNAME into its owner's library. +A:SP$ DealDamage | Cost$ X R | Tgt$ TgtCP | NumDmg$ X | References$ X | SubAbility$ DBCurse | SpellDescription$ CARDNAME deals X damage to target creature or player. If a creature dealt damage this way would be put into a graveyard this turn, exile it instead. Shuffle CARDNAME into its owner's library. SVar:X:Count$xPaid SVar:DBCurse:DB$Pump | KW$ HIDDEN If CARDNAME would be put into a graveyard, exile it instead. | Defined$ Targeted | SubAbility$ DBShuffle SVar:DBShuffle:DB$ChangeZone | Origin$ Stack | Destination$ Library | Shuffle$ True diff --git a/res/cardsfolder/r/refreshing_rain.txt b/res/cardsfolder/r/refreshing_rain.txt index d31f2c2a470..43e168c4ed7 100644 --- a/res/cardsfolder/r/refreshing_rain.txt +++ b/res/cardsfolder/r/refreshing_rain.txt @@ -2,7 +2,7 @@ Name:Refreshing Rain ManaCost:3 G Types:Instant Text:no text -S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ All | AddHiddenKeyword$ HIDDEN Alternative Cost 0 | CheckSVar$ X | CheckSecondSVar$ Y | Description$ If an opponent controls a Swamp and you control a Forest, you may cast CARDNAME without paying its mana cost. +S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ All | AddHiddenKeyword$ HIDDEN Alternative Cost 0 | CheckSVar$ X | CheckSecondSVar$ Y | References$ X,Y | Description$ If an opponent controls a Swamp and you control a Forest, you may cast CARDNAME without paying its mana cost. SVar:X:Count$Valid Swamp.YouDontCtrl SVar:Y:Count$Valid Forest.YouCtrl A:SP$ GainLife | Cost$ 3 G | LifeAmount$ 6 | ValidTgts$ Player | TgtPrompt$ Choose a player | SpellDescription$ Target player gains 6 life. diff --git a/res/cardsfolder/r/regal_force.txt b/res/cardsfolder/r/regal_force.txt index 1660c69c4e7..be691c28d3c 100644 --- a/res/cardsfolder/r/regal_force.txt +++ b/res/cardsfolder/r/regal_force.txt @@ -4,7 +4,7 @@ Types:Creature Elemental Text:no text PT:5/5 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDraw | TriggerDescription$ When CARDNAME enters the battlefield, draw a card for each green creature you control. -SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ X +SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ X | References$ X SVar:X:Count$GreenTypeYouCtrl.Creature SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/regal_force.jpg diff --git a/res/cardsfolder/r/relentless_rats.txt b/res/cardsfolder/r/relentless_rats.txt index 9721296283a..c226bdee7cb 100644 --- a/res/cardsfolder/r/relentless_rats.txt +++ b/res/cardsfolder/r/relentless_rats.txt @@ -3,7 +3,7 @@ ManaCost:1 B B Types:Creature Rat Text:A deck can have any number of cards named Relentless Rats. PT:2/2 -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | Description$ CARDNAME gets +1/+1 for each other creature on the battlefield named Relentless Rats. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | References$ X | Description$ CARDNAME gets +1/+1 for each other creature on the battlefield named Relentless Rats. SVar:X:Count$Valid Creature.namedRelentless Rats+Other SVar:RemRandomDeck:True SVar:PlayMain1:TRUE diff --git a/res/cardsfolder/r/rending_vines.txt b/res/cardsfolder/r/rending_vines.txt index 024b5a89237..95f8a479152 100644 --- a/res/cardsfolder/r/rending_vines.txt +++ b/res/cardsfolder/r/rending_vines.txt @@ -2,7 +2,7 @@ Name:Rending Vines ManaCost:1 G G Types:Instant Arcane Text:no text -A:SP$ Destroy | Cost$ 1 G G | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact or enchantment | ConditionCheckSVar$ Y | ConditionSVarCompare$ LEX | SubAbility$ DBDraw | SpellDescription$ Destroy target artifact or enchantment if its converted mana cost is less than or equal to the number of cards in your hand. +A:SP$ Destroy | Cost$ 1 G G | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact or enchantment | ConditionCheckSVar$ Y | ConditionSVarCompare$ LEX | References$ X,Y | SubAbility$ DBDraw | SpellDescription$ Destroy target artifact or enchantment if its converted mana cost is less than or equal to the number of cards in your hand. SVar:DBDraw:DB$Draw | NumCards$ 1 | SpellDescription$ Draw a card. SVar:Y:Targeted$CardManaCost SVar:X:Count$InYourHand diff --git a/res/cardsfolder/r/renewing_dawn.txt b/res/cardsfolder/r/renewing_dawn.txt index 9133b13e722..4f3344adeb0 100644 --- a/res/cardsfolder/r/renewing_dawn.txt +++ b/res/cardsfolder/r/renewing_dawn.txt @@ -2,7 +2,7 @@ Name:Renewing Dawn ManaCost:1 W Types:Sorcery Text:no text -A:SP$ GainLife | Cost$ 1 W | LifeAmount$ X | SpellDescription$ You gain 2 life for each Mountain target opponent controls. +A:SP$ GainLife | Cost$ 1 W | LifeAmount$ X | References$ X | SpellDescription$ You gain 2 life for each Mountain target opponent controls. SVar:X:Count$TypeOppCtrl.Mountain/Times.2 SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/r/renewing_touch.txt b/res/cardsfolder/r/renewing_touch.txt index 5e3b945c365..95c7882d408 100644 --- a/res/cardsfolder/r/renewing_touch.txt +++ b/res/cardsfolder/r/renewing_touch.txt @@ -2,7 +2,7 @@ Name:Renewing Touch ManaCost:G Types:Sorcery Text:no text -A:SP$ ChangeZone | Cost$ G | Origin$ Graveyard | Destination$ Library | TargetMin$ 0 | TargetMax$ X | Shuffle$ True | TgtPrompt$ Choose target creature card in your graveyard | ValidTgts$ Creature.YouCtrl | SpellDescription$ Shuffle any number of target creature cards from your graveyard into your library. +A:SP$ ChangeZone | Cost$ G | Origin$ Graveyard | Destination$ Library | TargetMin$ 0 | TargetMax$ X | References$ X | Shuffle$ True | TgtPrompt$ Choose target creature card in your graveyard | ValidTgts$ Creature.YouCtrl | SpellDescription$ Shuffle any number of target creature cards from your graveyard into your library. SVar:X:Count$TypeInYourYard.Creature SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/r/repay_in_kind.txt b/res/cardsfolder/r/repay_in_kind.txt index 0b0b8e49f24..6cc28580814 100644 --- a/res/cardsfolder/r/repay_in_kind.txt +++ b/res/cardsfolder/r/repay_in_kind.txt @@ -2,7 +2,7 @@ Name:Repay in Kind ManaCost:5 B B Types:Sorcery Text:no text -A:SP$ SetLife | Cost$ 5 B B | Defined$ Each | LifeAmount$ X | SpellDescription$ Each player's life total becomes the lowest life total among all players. +A:SP$ SetLife | Cost$ 5 B B | Defined$ Each | LifeAmount$ X | References$ X | SpellDescription$ Each player's life total becomes the lowest life total among all players. SVar:X:Count$LowestLifeTotal SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/repay_in_kind.jpg diff --git a/res/cardsfolder/r/repeal.txt b/res/cardsfolder/r/repeal.txt index 09356c9a3e3..4f0c54a6d29 100644 --- a/res/cardsfolder/r/repeal.txt +++ b/res/cardsfolder/r/repeal.txt @@ -2,7 +2,7 @@ Name:Repeal ManaCost:X U Types:Instant Text:no text -A:SP$ ChangeZone | Cost$ X U | Origin$ Battlefield | Destination$ Hand | TgtPrompt$ Choose target nonland permanent | ValidTgts$ Permanent.nonLand | SubAbility$ DBDraw | SpellDescription$ Return target nonland permanent with converted mana cost X to its owner's hand. Draw a card. +A:SP$ ChangeZone | Cost$ X U | Origin$ Battlefield | Destination$ Hand | TgtPrompt$ Choose target nonland permanent | ValidTgts$ Permanent.nonLand | SubAbility$ DBDraw | References$ X | SpellDescription$ Return target nonland permanent with converted mana cost X to its owner's hand. Draw a card. SVar:DBDraw:DB$Draw | NumCards$ 1 SVar:X:Targeted$CardManaCost SVar:RemAIDeck:True diff --git a/res/cardsfolder/r/repentance.txt b/res/cardsfolder/r/repentance.txt index 07fa364a4b8..001939c20ee 100644 --- a/res/cardsfolder/r/repentance.txt +++ b/res/cardsfolder/r/repentance.txt @@ -2,7 +2,7 @@ Name:Repentance ManaCost:2 W Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ 2 W | Tgt$ TgtC | DamageSource$ Targeted | NumDmg$ X | SpellDescription$ Target creature deals damage to itself equal to its power. +A:SP$ DealDamage | Cost$ 2 W | Tgt$ TgtC | DamageSource$ Targeted | NumDmg$ X | References$ X | SpellDescription$ Target creature deals damage to itself equal to its power. SVar:X:Targeted$CardPower SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/r/repercussion.txt b/res/cardsfolder/r/repercussion.txt index 497c53ae299..dc09b208111 100644 --- a/res/cardsfolder/r/repercussion.txt +++ b/res/cardsfolder/r/repercussion.txt @@ -4,8 +4,8 @@ Types:Enchantment Text:no text T:Mode$ DamageDone | ValidTarget$ Creature.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigDamageYou | TriggerDescription$ Whenever a creature is dealt damage, CARDNAME deals that much damage to that creature's controller. T:Mode$ DamageDone | ValidTarget$ Creature.YouDontCtrl | TriggerZones$ Battlefield | Execute$ TrigDamageOpp | Secondary$ True | TriggerDescription$ Whenever a creature is dealt damage, CARDNAME deals that much damage to that creature's controller. -SVar:TrigDamageYou:AB$DealDamage | Cost$ 0 | Defined$ You | NumDmg$ X -SVar:TrigDamageOpp:AB$DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ Y +SVar:TrigDamageYou:AB$DealDamage | Cost$ 0 | Defined$ You | NumDmg$ X | References$ X +SVar:TrigDamageOpp:AB$DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ Y | References$ X SVar:X:TriggerCount$DamageAmount SVar:Y:TriggerCount$DamageAmount SVar:Rarity:Rare diff --git a/res/cardsfolder/r/reshape.txt b/res/cardsfolder/r/reshape.txt index 3dcf06f1d27..ce9db1b950d 100644 --- a/res/cardsfolder/r/reshape.txt +++ b/res/cardsfolder/r/reshape.txt @@ -2,7 +2,7 @@ Name:Reshape ManaCost:X U U Types:Sorcery Text:no text -A:SP$ ChangeZone | Cost$ X U U Sac<1/Artifact> | Origin$ Library | Destination$ Battlefield | ChangeType$ Artifact.cmcLEX | ChangeNum$ 1 | Shuffle$ True | SpellDescription$ Search your library for an artifact card with converted mana cost X or less and put it onto the battlefield. Then shuffle your library. +A:SP$ ChangeZone | Cost$ X U U Sac<1/Artifact> | Origin$ Library | Destination$ Battlefield | ChangeType$ Artifact.cmcLEX | References$ X | ChangeNum$ 1 | Shuffle$ True | SpellDescription$ Search your library for an artifact card with converted mana cost X or less and put it onto the battlefield. Then shuffle your library. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/r/respite.txt b/res/cardsfolder/r/respite.txt index 941f6d5cde3..d700c349f7d 100644 --- a/res/cardsfolder/r/respite.txt +++ b/res/cardsfolder/r/respite.txt @@ -3,8 +3,8 @@ ManaCost:1 G Types:Instant Text:no text A:SP$ Fog | Cost$ 1 G | SubAbility$ DBGainLife | SpellDescription$ Prevent all combat damage that would be dealt this turn. You gain 1 life for each attacking creature. -SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X -SVar:X:Count$Valid Creature.attacking+YouDontCtrl +SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X | References$ X +SVar:X:Count$Valid Creature.attacking SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/respite.jpg SetInfo:TMP|Common|http://magiccards.info/scans/en/tp/143.jpg diff --git a/res/cardsfolder/r/rest_for_the_weary.txt b/res/cardsfolder/r/rest_for_the_weary.txt index 6e7096a4042..b0892b568bc 100644 --- a/res/cardsfolder/r/rest_for_the_weary.txt +++ b/res/cardsfolder/r/rest_for_the_weary.txt @@ -2,7 +2,7 @@ Name:Rest for the Weary ManaCost:1 W Types:Instant Text:no text -A:SP$ GainLife | Cost$ 1 W | LifeAmount$ X | ValidTgts$ Player | TgtPrompt$ Select target player | SpellDescription$ Target player gains 4 life. Landfall - If you had a land enter the battlefield under your control this turn, that player gains 8 life instead. +A:SP$ GainLife | Cost$ 1 W | LifeAmount$ X | References$ X | ValidTgts$ Player | TgtPrompt$ Select target player | SpellDescription$ Target player gains 4 life. Landfall - If you had a land enter the battlefield under your control this turn, that player gains 8 life instead. SVar:X:Count$Landfall.8.4 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/rest_for_the_weary.jpg diff --git a/res/cardsfolder/r/restless_dreams.txt b/res/cardsfolder/r/restless_dreams.txt index c63373d0101..0b03fe2c399 100644 --- a/res/cardsfolder/r/restless_dreams.txt +++ b/res/cardsfolder/r/restless_dreams.txt @@ -2,7 +2,7 @@ Name:Restless Dreams ManaCost:B Types:Sorcery Text:no text -A:SP$ ChangeZone | Cost$ B Discard | Origin$ Graveyard | Destination$ Hand | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Creature.YouCtrl | SpellDescription$ Return X target creature cards from your graveyard to your hand. +A:SP$ ChangeZone | Cost$ B Discard | Origin$ Graveyard | Destination$ Hand | TargetMin$ 0 | TargetMax$ MaxTgts | References$ X,MaxTgts | ValidTgts$ Creature.YouCtrl | SpellDescription$ Return X target creature cards from your graveyard to your hand. SVar:X:Targeted$Amount SVar:MaxTgts:Count$TypeInYourYard.Creature SVar:RemAIDeck:True diff --git a/res/cardsfolder/r/retaliator_griffin.txt b/res/cardsfolder/r/retaliator_griffin.txt index 8e9aea20268..cd20ec53719 100644 --- a/res/cardsfolder/r/retaliator_griffin.txt +++ b/res/cardsfolder/r/retaliator_griffin.txt @@ -5,7 +5,7 @@ Text:no text PT:2/2 K:Flying T:Mode$ DamageDone | ValidSource$ Card.YouDontCtrl | ValidTarget$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | OptionalDecider$ You | TriggerDescription$ Whenever a source an opponent controls deals damage to you, you may put that many +1/+1 counters on CARDNAME. -SVar:TrigPutCounter:AB$ PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ X +SVar:TrigPutCounter:AB$ PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ X | References$ X SVar:X:TriggerCount$DamageAmount Svar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/retaliator_griffin.jpg diff --git a/res/cardsfolder/r/rethink.txt b/res/cardsfolder/r/rethink.txt index dcd680ecbd9..929f453fa59 100644 --- a/res/cardsfolder/r/rethink.txt +++ b/res/cardsfolder/r/rethink.txt @@ -2,7 +2,7 @@ Name:Rethink ManaCost:2 U Types:Instant Text:no text -A:SP$ Counter | Cost$ 2 U | TargetType$ Spell | ValidTgts$ Card | UnlessCost$ X | UnlessPayer$ TargetedController | SpellDescription$ Counter target spell unless its controller pays X, where X is its converted mana cost. +A:SP$ Counter | Cost$ 2 U | TargetType$ Spell | ValidTgts$ Card | UnlessCost$ X | UnlessPayer$ TargetedController | References$ X | SpellDescription$ Counter target spell unless its controller pays X, where X is its converted mana cost. SVar:X:Targeted$CardManaCost SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/rethink.jpg diff --git a/res/cardsfolder/r/return_to_dust.txt b/res/cardsfolder/r/return_to_dust.txt index 53bbc3a8428..c265fd3a0c1 100644 --- a/res/cardsfolder/r/return_to_dust.txt +++ b/res/cardsfolder/r/return_to_dust.txt @@ -2,7 +2,7 @@ Name:Return to Dust ManaCost:2 W W Types:Instant Text:no text -A:SP$ ChangeZone | Cost$ 2 W W | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact or enchantment | TargetMin$ 1 | TargetMax$ X | SpellDescription$ Exile target artifact or enchantment. If you cast this spell during your main phase, you may exile up to one other target artifact or enchantment. +A:SP$ ChangeZone | Cost$ 2 W W | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact or enchantment | TargetMin$ 1 | TargetMax$ X | References$ X | SpellDescription$ Exile target artifact or enchantment. If you cast this spell during your main phase, you may exile up to one other target artifact or enchantment. SVar:X:Count$IfMainPhase.2.1 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/return_to_dust.jpg diff --git a/res/cardsfolder/r/revenant.txt b/res/cardsfolder/r/revenant.txt index 3d77ef4ae8a..32205a269dc 100644 --- a/res/cardsfolder/r/revenant.txt +++ b/res/cardsfolder/r/revenant.txt @@ -4,7 +4,7 @@ Types:Creature Spirit Text:no text PT:*/* K:Flying -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of creature cards in your graveyard. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | References$ X | Description$ CARDNAME's power and toughness are each equal to the number of creature cards in your graveyard. SVar:X:Count$TypeInYourYard.Creature SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/r/revered_unicorn.txt b/res/cardsfolder/r/revered_unicorn.txt index edd7489cc5d..4b5e17a5af6 100644 --- a/res/cardsfolder/r/revered_unicorn.txt +++ b/res/cardsfolder/r/revered_unicorn.txt @@ -5,7 +5,7 @@ Text:no text PT:2/3 K:Cumulative upkeep:1 T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ TrigGainLife | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME leaves the battlefield, you gain life equal to the number of age counters on it. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggeredCard$CardCounters.AGE SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/revered_unicorn.jpg diff --git a/res/cardsfolder/r/reverse_polarity.txt b/res/cardsfolder/r/reverse_polarity.txt index f45c2f1218d..5eca8690a52 100644 --- a/res/cardsfolder/r/reverse_polarity.txt +++ b/res/cardsfolder/r/reverse_polarity.txt @@ -2,7 +2,7 @@ Name:Reverse Polarity ManaCost:W W Types:Instant Text:no text -A:SP$ GainLife | Cost$ W W | Defined$ You | LifeAmount$ X | SpellDescription$ You gain X life, where X is twice the damage dealt to you so far this turn by artifacts. +A:SP$ GainLife | Cost$ W W | Defined$ You | LifeAmount$ X | References$ X | SpellDescription$ You gain X life, where X is twice the damage dealt to you so far this turn by artifacts. SVar:X:Count$YourTypeDamageThisTurn Artifact/Times.2 SVar:RemRandomDeck:True SVar:Picture:http://www.wizards.com/global/images/magic/general/reverse_polarity.jpg diff --git a/res/cardsfolder/r/reward_the_faithful.txt b/res/cardsfolder/r/reward_the_faithful.txt index ee394e04909..01c0e8211a0 100644 --- a/res/cardsfolder/r/reward_the_faithful.txt +++ b/res/cardsfolder/r/reward_the_faithful.txt @@ -2,7 +2,7 @@ Name:Reward the Faithful ManaCost:W Types:Instant Text:no text -A:SP$ GainLife | Cost$ W | ValidTgts$ Player | TgtPrompt$ Select target player | TargetMin$ 0 | TargetMax$ 2 | LifeAmount$ X | SpellDescription$ Any number of target players each gain life equal to the highest converted mana cost among permanents you control. +A:SP$ GainLife | Cost$ W | ValidTgts$ Player | TgtPrompt$ Select target player | TargetMin$ 0 | TargetMax$ 2 | LifeAmount$ X | References$ X | SpellDescription$ Any number of target players each gain life equal to the highest converted mana cost among permanents you control. SVar:X:Count$MaxCMCYouCtrl SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/reward_the_faithful.jpg diff --git a/res/cardsfolder/r/rhys_the_exiled.txt b/res/cardsfolder/r/rhys_the_exiled.txt index 966655d1236..d1f54004cf4 100644 --- a/res/cardsfolder/r/rhys_the_exiled.txt +++ b/res/cardsfolder/r/rhys_the_exiled.txt @@ -5,7 +5,7 @@ Text:no text PT:3/2 T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigGainLife | TriggerDescription$ Whenever CARDNAME attacks, you gain 1 life for each Elf you control. A:AB$ Regenerate | Cost$ B Sac<1/Elf> | SpellDescription$ Regenerate Rhys the Exiled. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:Count$Valid Elf.YouCtrl SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/r/ribbons_of_the_reikai.txt b/res/cardsfolder/r/ribbons_of_the_reikai.txt index a51130ab34b..9aa297480bd 100644 --- a/res/cardsfolder/r/ribbons_of_the_reikai.txt +++ b/res/cardsfolder/r/ribbons_of_the_reikai.txt @@ -2,7 +2,7 @@ Name:Ribbons of the Reikai ManaCost:4 U Types:Sorcery Arcane Text:no text -A:SP$ Draw | Cost$ 4 U | NumCards$ X | SpellDescription$ Draw a card for each Spirit you control. +A:SP$ Draw | Cost$ 4 U | NumCards$ X | References$ X | SpellDescription$ Draw a card for each Spirit you control. SVar:X:Count$TypeYouCtrl.Spirit SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/r/riddle_of_lightning.txt b/res/cardsfolder/r/riddle_of_lightning.txt index e2a477362f0..33b9cee7e85 100644 --- a/res/cardsfolder/r/riddle_of_lightning.txt +++ b/res/cardsfolder/r/riddle_of_lightning.txt @@ -4,7 +4,7 @@ Types:Instant Text:no text A:SP$Scry | Cost$ 3 R R | ScryNum$ 3 | SubAbility$ DBReveal | SpellDescription$ Choose target creature or player. Scry 3, then reveal the top card of your library. CARDNAME deals damage equal to that card's converted mana cost to that creature or player. (To scry 3, look at the top three cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) SVar:DBReveal:DB$ Dig | Cost$ 0 | DigNum$ 1 | Reveal$ True | DestinationZone$ Library | LibraryPosition$ 0 | SubAbility$ DBDamage -SVar:DBDamage:DB$ DealDamage | Cost$ 0 | Tgt$ TgtCP | NumDmg$ X +SVar:DBDamage:DB$ DealDamage | Cost$ 0 | Tgt$ TgtCP | NumDmg$ X | References$ X SVar:X:Count$TopOfLibraryCMC SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/r/righteous_fury.txt b/res/cardsfolder/r/righteous_fury.txt index 94db4af21ae..a85ba413fa6 100644 --- a/res/cardsfolder/r/righteous_fury.txt +++ b/res/cardsfolder/r/righteous_fury.txt @@ -3,7 +3,7 @@ ManaCost:4 W W Types:Sorcery Text:no text A:SP$ DestroyAll | Cost$ 4 W W | ValidCards$ Creature.tapped | RememberDestroyed$ True | SubAbility$ DBGainLife | SpellDescription$ Destroy all tapped creatures. You gain 2 life for each creature destroyed this way. -SVar:DBGainLife:DB$GainLife | LifeAmount$ X +SVar:DBGainLife:DB$GainLife | LifeAmount$ X | References$ X SVar:X:Remembered$Amount.Twice SVar:Rarity:Rare SVar:Picture:http://serv1.tcgimages.eu/img/cards/Portal_Second_Age/righteous_fury.jpg diff --git a/res/cardsfolder/r/riptide_director.txt b/res/cardsfolder/r/riptide_director.txt index 9fb48f28d3e..be1b940a97b 100644 --- a/res/cardsfolder/r/riptide_director.txt +++ b/res/cardsfolder/r/riptide_director.txt @@ -3,7 +3,7 @@ ManaCost:2 U U Types:Creature Human Wizard Text:no text PT:2/3 -A:AB$ Draw | Cost$ 2 U U T | NumCards$ X | SpellDescription$ Draw a card for each Wizard you control. +A:AB$ Draw | Cost$ 2 U U T | NumCards$ X | References$ X | SpellDescription$ Draw a card for each Wizard you control. SVar:X:Count$TypeYouCtrl.Wizard SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/r/riptide_replicator.txt b/res/cardsfolder/r/riptide_replicator.txt index 6461eb76794..49c81313c07 100644 --- a/res/cardsfolder/r/riptide_replicator.txt +++ b/res/cardsfolder/r/riptide_replicator.txt @@ -7,7 +7,7 @@ SVar:ChooseColor:AB$ ChooseColor | Cost$ 0 | Defined$ You | SubAbility$ ChooseCT SVar:ChooseCT:DB$ ChooseType | Defined$ You | Type$ Creature K:etbCounter:CHARGE:X SVar:X:Count$xPaid -A:AB$ Token | Cost$ 4 T | TokenAmount$ 1 | TokenName$ ChosenType | TokenTypes$ Creature,ChosenType | TokenOwner$ You | TokenColors$ ChosenColor | TokenPower$ Y | TokenToughness$ Y | TokenImage$ C X X Riptide Replicator | SpellDescription$ Put an X/X creature token of the chosen color and type onto the battlefield, where X is the number of charge counters on CARDNAME. +A:AB$ Token | Cost$ 4 T | TokenAmount$ 1 | TokenName$ ChosenType | TokenTypes$ Creature,ChosenType | TokenOwner$ You | TokenColors$ ChosenColor | TokenPower$ Y | TokenToughness$ Y | References$ Y | TokenImage$ C X X Riptide Replicator | SpellDescription$ Put an X/X creature token of the chosen color and type onto the battlefield, where X is the number of charge counters on CARDNAME. SVar:Y:Count$CardCounters.CHARGE SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/r/rise_of_the_hobgoblins.txt b/res/cardsfolder/r/rise_of_the_hobgoblins.txt index 467527204fb..8725772996d 100644 --- a/res/cardsfolder/r/rise_of_the_hobgoblins.txt +++ b/res/cardsfolder/r/rise_of_the_hobgoblins.txt @@ -3,7 +3,7 @@ ManaCost:RW RW Types:Enchantment Text:no text T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, you may pay X. If you do, put X 1/1 red and white Goblin Soldier creature tokens onto the battlefield. -SVar:TrigToken:AB$Token | Cost$ X | TokenAmount$ X | TokenName$ Goblin Soldier | TokenTypes$ Creature,Goblin,Soldier | TokenOwner$ You | TokenColors$ Red,White | TokenPower$ 1 | TokenToughness$ 1 +SVar:TrigToken:AB$Token | Cost$ X | TokenAmount$ X | References$ X | TokenName$ Goblin Soldier | TokenTypes$ Creature,Goblin,Soldier | TokenOwner$ You | TokenColors$ Red,White | TokenPower$ 1 | TokenToughness$ 1 SVar:X:Count$xPaid A:AB$ PumpAll | Cost$ RW | ValidCards$ Creature.Red+YouCtrl,Creature.White+YouCtrl | KW$ First Strike | SpellDescription$ Red creatures and white creatures you control gain first strike until end of turn. SVar:RemAIDeck:True diff --git a/res/cardsfolder/r/rite_of_flame.txt b/res/cardsfolder/r/rite_of_flame.txt index 25e687018aa..1bc6f4709c3 100644 --- a/res/cardsfolder/r/rite_of_flame.txt +++ b/res/cardsfolder/r/rite_of_flame.txt @@ -2,7 +2,7 @@ Name:Rite of Flame ManaCost:R Types:Sorcery Text:no text -A:SP$ Mana | Cost$ R | Produced$ R | Amount$ X | SpellDescription$ Add R R to your mana pool, then add R to your mana pool for each card named CARDNAME in each graveyard. +A:SP$ Mana | Cost$ R | Produced$ R | Amount$ X | References$ X | SpellDescription$ Add R R to your mana pool, then add R to your mana pool for each card named CARDNAME in each graveyard. SVar:X:Count$NamedInAllYards.Rite of Flame/Plus.2 SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/r/rith_the_awakener.txt b/res/cardsfolder/r/rith_the_awakener.txt index 62020b80d06..6df05a5f49f 100644 --- a/res/cardsfolder/r/rith_the_awakener.txt +++ b/res/cardsfolder/r/rith_the_awakener.txt @@ -6,7 +6,7 @@ PT:6/6 K:Flying T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | CombatDamage$ True | OptionalDecider$ You | Execute$ TrigChoose | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you may pay 2 G. If you do, choose a color, then put a 1/1 green Saproling creature token onto the battlefield for each permanent of that color. SVar:TrigChoose:AB$ ChooseColor | Cost$ 2 G | Defined$ You | AILogic$ MostProminentPermanent | SubAbility$ DBToken -SVar:DBToken:DB$ Token | TokenAmount$ X | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 +SVar:DBToken:DB$ Token | TokenAmount$ X | References$ X | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 SVar:X:Count$Valid Permanent.ChosenColor SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/rith_the_awakener.jpg diff --git a/res/cardsfolder/r/rivalry.txt b/res/cardsfolder/r/rivalry.txt index 97665e64499..38db5a2686f 100644 --- a/res/cardsfolder/r/rivalry.txt +++ b/res/cardsfolder/r/rivalry.txt @@ -2,8 +2,8 @@ Name:Rivalry ManaCost:2 R Types:Enchantment Text:no text -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigDamageYou | IsPresent$ Land.YouCtrl | PresentCompare$ GTX | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of each player's upkeep, if that player controls more lands than each other player, CARDNAME deals 2 damage to him or her. -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Opponent | Execute$ TrigDamageOpp | TriggerZones$ Battlefield | Secondary$ True | IsPresent$ Land.YouCtrl | PresentCompare$ LTX | TriggerDescription$ At the beginning of each player's upkeep, if that player controls more lands than each other player, CARDNAME deals 2 damage to him or her. +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigDamageYou | IsPresent$ Land.YouCtrl | PresentCompare$ GTX | References$ X | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of each player's upkeep, if that player controls more lands than each other player, CARDNAME deals 2 damage to him or her. +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Opponent | Execute$ TrigDamageOpp | TriggerZones$ Battlefield | Secondary$ True | IsPresent$ Land.YouCtrl | PresentCompare$ LTX | References$ X | TriggerDescription$ At the beginning of each player's upkeep, if that player controls more lands than each other player, CARDNAME deals 2 damage to him or her. SVar:TrigDamageYou:AB$DealDamage | Cost$ 0 | NumDmg$ 2 | Defined$ You SVar:TrigDamageOpp:AB$DealDamage | Cost$ 0 | NumDmg$ 2 | Defined$ Opponent SVar:X:Count$Valid Land.YouDontCtrl diff --git a/res/cardsfolder/r/river_of_tears.txt b/res/cardsfolder/r/river_of_tears.txt index 03e9ebe2737..fa66ef8067c 100644 --- a/res/cardsfolder/r/river_of_tears.txt +++ b/res/cardsfolder/r/river_of_tears.txt @@ -2,8 +2,8 @@ Name:River of Tears ManaCost:no cost Types:Land Text:no text -A:AB$ Mana | Cost$ T | Produced$ U | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBBlack | SpellDescription$ Add U to your mana pool. If you played a land this turn, add B to your mana pool instead. -SVar:DBBlack:DB$ Mana | Produced$ B | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 +A:AB$ Mana | Cost$ T | Produced$ U | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | References$ X | SubAbility$ DBBlack | SpellDescription$ Add U to your mana pool. If you played a land this turn, add B to your mana pool instead. +SVar:DBBlack:DB$ Mana | Produced$ B | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X SVar:X:Count$YourLandsPlayed SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/r/roar_of_the_crowd.txt b/res/cardsfolder/r/roar_of_the_crowd.txt index e2df317fa7b..4af6dba5969 100644 --- a/res/cardsfolder/r/roar_of_the_crowd.txt +++ b/res/cardsfolder/r/roar_of_the_crowd.txt @@ -3,7 +3,7 @@ ManaCost:3 R Types:Instant Text:no text A:SP$ ChooseType | Cost$ 3 R | Defined$ You | Type$ Creature | SubAbility$ DBDamage | SpellDescription$ Choose a creature type. CARDNAME deals damage to target creature or player equal to the number of permanents you control of the chosen type. -SVar:DBDamage:DB$ DealDamage | Cost$ 0 | Tgt$ TgtCP | NumDmg$ X +SVar:DBDamage:DB$ DealDamage | Cost$ 0 | Tgt$ TgtCP | NumDmg$ X | References$ X SVar:X:Count$Valid Permanent.ChosenType+YouCtrl SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/r/robber_fly.txt b/res/cardsfolder/r/robber_fly.txt index a141f9c574f..8074adffe1c 100644 --- a/res/cardsfolder/r/robber_fly.txt +++ b/res/cardsfolder/r/robber_fly.txt @@ -6,7 +6,7 @@ PT:1/1 K:Flying T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigDiscard | TriggerDescription$ Whenever CARDNAME becomes blocked, defending player discards all the cards in his or her hand, then draws that many cards. SVar:TrigDiscard:AB$ Discard | Cost$ 0 | Defined$ Opponent | Mode$ Hand | RememberDiscarded$ True | SubAbility$ DBDraw -SVar:DBDraw:DB$ Draw | NumCards$ X | Defined$ Opponent | SubAbility$ DBCleanup +SVar:DBDraw:DB$ Draw | NumCards$ X | Defined$ Opponent | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:Rarity:Uncommon diff --git a/res/cardsfolder/r/rockslide_ambush.txt b/res/cardsfolder/r/rockslide_ambush.txt index b1bb4954784..fb7927a02a4 100644 --- a/res/cardsfolder/r/rockslide_ambush.txt +++ b/res/cardsfolder/r/rockslide_ambush.txt @@ -2,7 +2,7 @@ Name:Rockslide Ambush ManaCost:1 R Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ 1 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to the number of Mountains you control to target creature. +A:SP$ DealDamage | Cost$ 1 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to the number of Mountains you control to target creature. SVar:X:Count$TypeYouCtrl.Mountain SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/rockslide_ambush.jpg diff --git a/res/cardsfolder/r/rofellos_llanowar_emissary.txt b/res/cardsfolder/r/rofellos_llanowar_emissary.txt index 6c06f290cfa..793e8927fd3 100644 --- a/res/cardsfolder/r/rofellos_llanowar_emissary.txt +++ b/res/cardsfolder/r/rofellos_llanowar_emissary.txt @@ -3,7 +3,7 @@ ManaCost:G G Types:Legendary Creature Elf Druid Text:no text PT:2/1 -A:AB$ Mana | Cost$ T | Produced$ G | Amount$ X | SpellDescription$ Add G to your mana pool for each Forest you control. +A:AB$ Mana | Cost$ T | Produced$ G | Amount$ X | References$ X | SpellDescription$ Add G to your mana pool for each Forest you control. SVar:X:Count$Valid Forest.YouCtrl SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/r/rogue_elephant.txt b/res/cardsfolder/r/rogue_elephant.txt index b5b8cb1f0df..91b6900f782 100644 --- a/res/cardsfolder/r/rogue_elephant.txt +++ b/res/cardsfolder/r/rogue_elephant.txt @@ -5,7 +5,7 @@ Text:no text PT:3/3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSac | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you sacrifice a Forest. SVar:TrigSac:AB$ Sacrifice | Cost$ 0 | Amount$ 1 | SacValid$ Forest | RememberSacrificed$ True | Optional$ True | SubAbility$ DBSacSelf -SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 +SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:NeedsToPlay:Forest.YouCtrl diff --git a/res/cardsfolder/r/roiling_terrain.txt b/res/cardsfolder/r/roiling_terrain.txt index 195221e361c..6d29802de18 100644 --- a/res/cardsfolder/r/roiling_terrain.txt +++ b/res/cardsfolder/r/roiling_terrain.txt @@ -3,7 +3,7 @@ ManaCost:2 R R Types:Sorcery Text:no text A:SP$ Destroy | Cost$ 2 R R | ValidTgts$ Land | TgtPrompt$ Select target land | SubAbility$ DBDamage | SpellDescription$ Destroy target land, then CARDNAME deals damage to that land's controller equal to the number of land cards in that player's graveyard. -SVar:DBDamage:DB$DealDamage | Defined$ TargetedController | NumDmg$ X +SVar:DBDamage:DB$DealDamage | Defined$ TargetedController | NumDmg$ X | References$ X SVar:X:TargetedController$LandsInGraveyard SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/r/rolling_earthquake.txt b/res/cardsfolder/r/rolling_earthquake.txt index 8302789b2be..368dff6138f 100644 --- a/res/cardsfolder/r/rolling_earthquake.txt +++ b/res/cardsfolder/r/rolling_earthquake.txt @@ -2,7 +2,7 @@ Name:Rolling Earthquake ManaCost:X R Types:Sorcery Text:no text -A:SP$ DamageAll | Cost$ X R | ValidCards$ Creature.withoutHorsemanship | ValidPlayers$ Each | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to each creature without horsemanship and each player. +A:SP$ DamageAll | Cost$ X R | ValidCards$ Creature.withoutHorsemanship | ValidPlayers$ Each | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to each creature without horsemanship and each player. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/r/ronom_serpent.txt b/res/cardsfolder/r/ronom_serpent.txt index b7c85749fa5..247e53c55fb 100644 --- a/res/cardsfolder/r/ronom_serpent.txt +++ b/res/cardsfolder/r/ronom_serpent.txt @@ -3,7 +3,7 @@ ManaCost:5 U Types:Snow Creature Serpent Text:no text PT:5/6 -S:Mode$ Continuous | Affected$ Card.Self | AddHiddenKeyword$ HIDDEN CARDNAME can't attack. | CheckSVar$ X | SVarCompare$ LT1 | Description$ CARDNAME can't attack unless defending player controls a snow land. +S:Mode$ Continuous | Affected$ Card.Self | AddHiddenKeyword$ HIDDEN CARDNAME can't attack. | CheckSVar$ X | SVarCompare$ LT1 | References$ X | Description$ CARDNAME can't attack unless defending player controls a snow land. SVar:X:Count$Valid Land.Snow+YouDontCtrl T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Land.Snow+YouCtrl | PresentCompare$ EQ0 | Execute$ TrigSac | TriggerDescription$ When you control no snow lands, sacrifice Ronom Serpent. SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ Self diff --git a/res/cardsfolder/r/rule_of_law.txt b/res/cardsfolder/r/rule_of_law.txt index 1a7bd18f417..baface03510 100644 --- a/res/cardsfolder/r/rule_of_law.txt +++ b/res/cardsfolder/r/rule_of_law.txt @@ -2,8 +2,8 @@ Name:Rule of Law ManaCost:2 W Types:Enchantment Text:no text -S:Mode$ CantBeCast | ValidCard$ Card | Caster$ You | CheckSVar$ X | Description$ Each player can't cast more than one spell each turn. -S:Mode$ CantBeCast | ValidCard$ Card | Caster$ Opponent | CheckSVar$ Y +S:Mode$ CantBeCast | ValidCard$ Card | Caster$ You | CheckSVar$ X | References$ X | Description$ Each player can't cast more than one spell each turn. +S:Mode$ CantBeCast | ValidCard$ Card | Caster$ Opponent | CheckSVar$ Y | References$ Y SVar:X:Count$ThisTurnCast_Card.YouCtrl SVar:Y:Count$ThisTurnCast_Card.YouDontCtrl SVar:RemRandomDeck:True diff --git a/res/cardsfolder/r/rumbling_crescendo.txt b/res/cardsfolder/r/rumbling_crescendo.txt index 20493a742bc..209d72f35f7 100644 --- a/res/cardsfolder/r/rumbling_crescendo.txt +++ b/res/cardsfolder/r/rumbling_crescendo.txt @@ -2,7 +2,7 @@ Name:Rumbling Crescendo ManaCost:3 R R Types:Enchantment Text:no text -A:AB$ Destroy | Cost$ R Sac<1/CARDNAME> | TargetMin$ 0 | TargetMax$ X | ValidTgts$ Land | TgtPrompt$ Select target land | SpellDescription$ Destroy up to X target lands, where X is the number of verse counters on CARDNAME. +A:AB$ Destroy | Cost$ R Sac<1/CARDNAME> | TargetMin$ 0 | TargetMax$ X | References$ X | ValidTgts$ Land | TgtPrompt$ Select target land | SpellDescription$ Destroy up to X target lands, where X is the number of verse counters on CARDNAME. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, you may put a verse counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ VERSE | CounterNum$ 1 SVar:X:Count$CardCounters.VERSE diff --git a/res/cardsfolder/r/rune_snag.txt b/res/cardsfolder/r/rune_snag.txt index a1257e5a966..f5ae0e96aea 100644 --- a/res/cardsfolder/r/rune_snag.txt +++ b/res/cardsfolder/r/rune_snag.txt @@ -2,7 +2,7 @@ Name:Rune Snag ManaCost:1 U Types:Instant Text:no text -A:SP$ Counter | Cost$ 1 U | TargetType$ Spell | ValidTgts$ Card | TgtPrompt$ Select target spell | UnlessCost$ X | UnlessPayer$ TargetedController | SpellDescription$ Counter target spell unless its controller pays 2 plus an additional 2 for each card named CARDNAME in each graveyard. +A:SP$ Counter | Cost$ 1 U | TargetType$ Spell | ValidTgts$ Card | TgtPrompt$ Select target spell | UnlessCost$ X | UnlessPayer$ TargetedController | References$ X,Y | SpellDescription$ Counter target spell unless its controller pays 2 plus an additional 2 for each card named CARDNAME in each graveyard. SVar:Y:Count$NamedInAllYards.Rune Snag/Times.2 SVar:X:Number$2/Plus.Y SVar:Rarity:Common diff --git a/res/cardsfolder/r/runechanters_pike.txt b/res/cardsfolder/r/runechanters_pike.txt index cf339dc6d0e..cd5ae5559d4 100644 --- a/res/cardsfolder/r/runechanters_pike.txt +++ b/res/cardsfolder/r/runechanters_pike.txt @@ -3,7 +3,7 @@ ManaCost:2 Types:Artifact Equipment Text:no text K:eqPump 2:+0/+0/First Strike -S:Mode$ Continuous | Affected$ Card.EquippedBy | AddPower$ X | Description$ Equipped creature has first strike and gets +X/+0 where X is the number of instant and sorcery cards in your graveyard. +S:Mode$ Continuous | Affected$ Card.EquippedBy | AddPower$ X | References$ X,Y | Description$ Equipped creature has first strike and gets +X/+0 where X is the number of instant and sorcery cards in your graveyard. SVar:X:Count$TypeInYourYard.Instant/Plus.Y SVar:Y:Count$TypeInYourYard.sorcery SVar:Rarity:Rare diff --git a/res/cardsfolder/r/runed_arch.txt b/res/cardsfolder/r/runed_arch.txt index 1877c4832a7..e6636c8a43a 100644 --- a/res/cardsfolder/r/runed_arch.txt +++ b/res/cardsfolder/r/runed_arch.txt @@ -3,7 +3,7 @@ ManaCost:3 Types:Artifact Text:no text K:CARDNAME enters the battlefield tapped. -A:AB$ Pump | Cost$ X T Sac<1/CARDNAME> | KW$ HIDDEN Unblockable | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Creature.powerLE2 | TgtPrompt$ Select target creature with power 2 or less | SpellDescription$ X target creatures with power 2 or less are unblockable this turn. +A:AB$ Pump | Cost$ X T Sac<1/CARDNAME> | KW$ HIDDEN Unblockable | TargetMin$ 0 | TargetMax$ MaxTgts | References$ X,MaxTgts | ValidTgts$ Creature.powerLE2 | TgtPrompt$ Select target creature with power 2 or less | SpellDescription$ X target creatures with power 2 or less are unblockable this turn. # It may seem wrong to not use X in the target, but since the Targets are what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Creature.powerLE2 diff --git a/res/cardsfolder/r/runeflare_trap.txt b/res/cardsfolder/r/runeflare_trap.txt index 37456ab5e78..46235808929 100644 --- a/res/cardsfolder/r/runeflare_trap.txt +++ b/res/cardsfolder/r/runeflare_trap.txt @@ -2,8 +2,8 @@ Name:Runeflare Trap ManaCost:4 R R Types:Instant Trap Text:no text -A:SP$DealDamage | Cost$ R | ValidTgts$ Player | NumDmg$ X | CheckSVar$ Y | SVarCompare$ GE3 | SpellDescription$ If an opponent drew three or more cards this turn, you may pay R rather than pay CARDNAME's mana cost. -A:SP$DealDamage | Cost$ 4 R R | ValidTgts$ Player | NumDmg$ X | SpellDescription$ CARDNAME deals damage to target player equal to the number of cards in that player's hand. +A:SP$DealDamage | Cost$ R | ValidTgts$ Player | NumDmg$ X | CheckSVar$ Y | SVarCompare$ GE3 | References$ X,Y | SpellDescription$ If an opponent drew three or more cards this turn, you may pay R rather than pay CARDNAME's mana cost. +A:SP$DealDamage | Cost$ 4 R R | ValidTgts$ Player | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage to target player equal to the number of cards in that player's hand. SVar:X:TargetedPlayer$CardsInHand SVar:Y:Count$OppDrewThisTurn SVar:Rarity:Uncommon diff --git a/res/cardsfolder/r/rupture.txt b/res/cardsfolder/r/rupture.txt index 662e48bcae9..2d19b45a231 100644 --- a/res/cardsfolder/r/rupture.txt +++ b/res/cardsfolder/r/rupture.txt @@ -3,7 +3,7 @@ ManaCost:2 R Types:Sorcery Text:no text A:SP$ Sacrifice | Cost$ 2 R | Amount$ 1 | SacValid$ Creature | RememberSacrificed$ True | SubAbility$ RuptureDmg | SpellDescription$ Sacrifice a creature. CARDNAME deals damage equal to that creature's power to each creature without flying and each player. -SVar:RuptureDmg:DB$ DamageAll | ValidCards$ Creature.withoutFlying | ValidPlayers$ Each | NumDmg$ X | SubAbility$ DBCleanup +SVar:RuptureDmg:DB$ DamageAll | ValidCards$ Creature.withoutFlying | ValidPlayers$ Each | NumDmg$ X | References$ X | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$CardPower SVar:RemAIDeck:True diff --git a/res/cardsfolder/r/rush_of_blood.txt b/res/cardsfolder/r/rush_of_blood.txt index bd174f8ff1a..ba5a03be115 100644 --- a/res/cardsfolder/r/rush_of_blood.txt +++ b/res/cardsfolder/r/rush_of_blood.txt @@ -2,7 +2,7 @@ Name:Rush of Blood ManaCost:2 R Types:Instant Text:no text -A:SP$ Pump | Cost$ 2 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | SpellDescription$ Target creature gets +X/+0 until end of turn, where X is its power. +A:SP$ Pump | Cost$ 2 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | References$ X | SpellDescription$ Target creature gets +X/+0 until end of turn, where X is its power. SVar:X:Targeted$CardPower SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/rush_of_blood.jpg diff --git a/res/cardsfolder/r/rush_of_knowledge.txt b/res/cardsfolder/r/rush_of_knowledge.txt index bc2d5d3519d..014b97e9ab8 100644 --- a/res/cardsfolder/r/rush_of_knowledge.txt +++ b/res/cardsfolder/r/rush_of_knowledge.txt @@ -2,7 +2,7 @@ Name:Rush of Knowledge ManaCost:4 U Types:Sorcery Text:no text -A:SP$ Draw | Cost$ 4 U | Defined$ You | NumCards$ X | SpellDescription$ Draw cards equal to the highest converted mana cost among permanents you control. +A:SP$ Draw | Cost$ 4 U | Defined$ You | NumCards$ X | References$ X | SpellDescription$ Draw cards equal to the highest converted mana cost among permanents you control. SVar:X:Count$MaxCMCYouCtrl SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/r/rushwood_grove.txt b/res/cardsfolder/r/rushwood_grove.txt index 69ef626aa28..42453d465db 100644 --- a/res/cardsfolder/r/rushwood_grove.txt +++ b/res/cardsfolder/r/rushwood_grove.txt @@ -4,7 +4,7 @@ Types:Land Text:no text K:CARDNAME enters the battlefield tapped. A:AB$ PutCounter | Cost$ T | Defined$ Self | CounterType$ STORAGE | CounterNum$ 1 | SpellDescription$ Put a storage counter on CARDNAME. -A:AB$ Mana | Cost$ T SubCounter | Produced$ G | Amount$ ChosenX | CostDesc$ Tap, Remove any number of storage counters from CARDNAME: | SpellDescription$ Add G to your mana pool for each storage counter removed this way. +A:AB$ Mana | Cost$ T SubCounter | Produced$ G | Amount$ ChosenX | CostDesc$ Tap, Remove any number of storage counters from CARDNAME: | References$ X | SpellDescription$ Add G to your mana pool for each storage counter removed this way. SVar:X:XChoice #ChosenX SVar created by Cost payment SVar:RemAIDeck:True diff --git a/res/cardsfolder/r/rushwood_legate.txt b/res/cardsfolder/r/rushwood_legate.txt index 2665c82708d..cea5a5ee103 100644 --- a/res/cardsfolder/r/rushwood_legate.txt +++ b/res/cardsfolder/r/rushwood_legate.txt @@ -3,7 +3,7 @@ ManaCost:2 G Types:Creature Dryad Text:no text PT:2/1 -S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ All | AddHiddenKeyword$ HIDDEN Alternative Cost 0 | CheckSVar$ X | CheckSecondSVar$ Y | Description$ If an opponent controls an Island and you control a Forest, you may cast CARDNAME without paying its mana cost. +S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ All | AddHiddenKeyword$ HIDDEN Alternative Cost 0 | CheckSVar$ X | CheckSecondSVar$ Y | References$ X,Y | Description$ If an opponent controls an Island and you control a Forest, you may cast CARDNAME without paying its mana cost. SVar:X:Count$Valid Island.YouDontCtrl SVar:Y:Count$Valid Forest.YouCtrl SVar:Rarity:Uncommon diff --git a/res/cardsfolder/r/rusting_golem.txt b/res/cardsfolder/r/rusting_golem.txt index 2508930a45f..284e7d09d3a 100644 --- a/res/cardsfolder/r/rusting_golem.txt +++ b/res/cardsfolder/r/rusting_golem.txt @@ -4,7 +4,7 @@ Types:Artifact Creature Golem Text:no text PT:*/* K:Fading:5 -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of fade counters on CARDNAME. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | References$ X | Description$ CARDNAME's power and toughness are each equal to the number of fade counters on CARDNAME. SVar:X:Count$CardCounters.FADE SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/rusting_golem.jpg diff --git a/res/cardsfolder/r/ruthless_cullblade.txt b/res/cardsfolder/r/ruthless_cullblade.txt index c1c707b0ab8..d82a90196ae 100644 --- a/res/cardsfolder/r/ruthless_cullblade.txt +++ b/res/cardsfolder/r/ruthless_cullblade.txt @@ -3,7 +3,7 @@ ManaCost:1 B Types:Creature Vampire Warrior Text:no text PT:2/1 -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 2 | AddToughness$ 1 | CheckSVar$ X | SVarCompare$ LE10 | Description$ CARDNAME gets +2/+1 as long as an opponent has 10 or less life. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 2 | AddToughness$ 1 | CheckSVar$ X | SVarCompare$ LE10 | References$ X | Description$ CARDNAME gets +2/+1 as long as an opponent has 10 or less life. SVar:X:Count$OppLifeTotal SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/ruthless_cullblade.jpg diff --git a/res/cardsfolder/s/saber_ants.txt b/res/cardsfolder/s/saber_ants.txt index f3ce1103e16..e609f78cd83 100644 --- a/res/cardsfolder/s/saber_ants.txt +++ b/res/cardsfolder/s/saber_ants.txt @@ -4,7 +4,7 @@ Types:Creature Insect Text:no text PT:2/3 T:Mode$ DamageDone | Execute$ TrigToken | ValidTarget$ Card.Self | TriggerZones$ Battlefield | OptionalDecider$ You | TriggerDescription$ Whenever CARDNAME is dealt damage, you may put that many 1/1 green Insect creature tokens onto the battlefield. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Insect | TokenTypes$ Creature,Insect | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 +SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Insect | TokenTypes$ Creature,Insect | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/saber_ants.jpg diff --git a/res/cardsfolder/s/sacred_mesa.txt b/res/cardsfolder/s/sacred_mesa.txt index 38bbbf2c5ad..5504b0f6cbe 100644 --- a/res/cardsfolder/s/sacred_mesa.txt +++ b/res/cardsfolder/s/sacred_mesa.txt @@ -4,7 +4,7 @@ Types:Enchantment Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigSac | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, sacrifice CARDNAME unless you sacrifice a Pegasus. SVar:TrigSac:AB$ Sacrifice | Cost$ 0 | Amount$ 1 | SacValid$ Pegasus | RememberSacrificed$ True | Optional$ True | SubAbility$ DBSacSelf -SVar:DBSacSelf:DB$ Sacrifice | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 +SVar:DBSacSelf:DB$ Sacrifice | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount A:AB$ Token | Cost$ 1 W | TokenImage$ W 1 1 Pegasus Flying | TokenAmount$ 1 | TokenName$ Pegasus | TokenTypes$ Creature,Pegasus | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying | SpellDescription$ Put a 1/1 white Pegasus creature token with flying onto the battlefield. diff --git a/res/cardsfolder/s/sacrifice.txt b/res/cardsfolder/s/sacrifice.txt index 0c701e7c7d1..71508359b74 100644 --- a/res/cardsfolder/s/sacrifice.txt +++ b/res/cardsfolder/s/sacrifice.txt @@ -2,7 +2,7 @@ Name:Sacrifice ManaCost:B Types:Instant Text:no text -A:SP$ Mana | Cost$ B Sac<1/Creature> | Produced$ B | Amount$ X | SpellDescription$ Add to your mana pool an amount of black mana equal to the sacrificed creature's converted mana cost. +A:SP$ Mana | Cost$ B Sac<1/Creature> | Produced$ B | Amount$ X | References$ X | SpellDescription$ Add to your mana pool an amount of black mana equal to the sacrificed creature's converted mana cost. SVar:X:Sacrificed$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/saffi_eriksdotter.txt b/res/cardsfolder/s/saffi_eriksdotter.txt index 35a4f3539fe..167927a7488 100644 --- a/res/cardsfolder/s/saffi_eriksdotter.txt +++ b/res/cardsfolder/s/saffi_eriksdotter.txt @@ -3,7 +3,7 @@ ManaCost:G W Types:Legendary Creature Human Scout Text:no text PT:2/2 -A:AB$ Effect | Cost$ Sac<1/CARDNAME> | Name$ Saffi Eriksdotter | ValidTgts$ Creature | TgtPrompt$ Select target creature | Triggers$ TrigChangesZone | SVars$ TrigBounceMe | RememberObjects$ Targeted | SpellDescription$ When target creature is put into your graveyard from the battlefield this turn, return that card to the battlefield. +A:AB$ Effect | Cost$ Sac<1/CARDNAME> | Name$ Saffi Eriksdotter | ValidTgts$ Creature | TgtPrompt$ Select target creature | Triggers$ TrigChangesZone | SVars$ TrigBounceMe | References$ TrigChangesZone,TrigBounceMe | RememberObjects$ Targeted | SpellDescription$ When target creature is put into your graveyard from the battlefield this turn, return that card to the battlefield. SVar:TrigChangesZone:Mode$ ChangesZone | ValidCard$ Creature.IsRemembered+YouOwn | Origin$ Battlefield | Destination$ Graveyard | Execute$ TrigBounceMe | TriggerDescription$ If the targeted card of Saffi Eriksdotter is put into your graveyard from the battlefield this turn, return it to the battlefield. SVar:TrigBounceMe:AB$ ChangeZone | Cost$ 0 | Defined$ Remembered | Origin$ Graveyard | Destination$ Battlefield SVar:RemAIDeck:True diff --git a/res/cardsfolder/s/sai_of_the_shinobi.txt b/res/cardsfolder/s/sai_of_the_shinobi.txt new file mode 100644 index 00000000000..7b43aad7467 --- /dev/null +++ b/res/cardsfolder/s/sai_of_the_shinobi.txt @@ -0,0 +1,12 @@ +Name:Sai of the Shinobi +ManaCost:1 +Types:Tribal Artifact Rogue Equipment +Text:Equipped creature gets +1/+1. +K:eqPump 2:+1/+1 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigAttach | OptionalDecider$ You | TriggerDescription$ Whenever a creature enters the battlefield under your control, you may attach CARDNAME to it. +SVar:TrigAttach:DB$ Attach | Cost$ 0 | Defined$ TriggeredCard +SVar:Rarity:Uncommon +SVar:Picture:http://www.wizards.com/global/images/magic/general/sai_of_the_shinobi.jpg +SetInfo:PC2|Uncommon|http://magiccards.info/scans/en/pc2/113.jpg +Oracle:Equipped creature gets +1/+1.\nWhenever a creature enters the battlefield under your control, you may attach Sai of the Shinobi to it.\nEquip {2} +End \ No newline at end of file diff --git a/res/cardsfolder/s/samite_pilgrim.txt b/res/cardsfolder/s/samite_pilgrim.txt index 6f56e66c24e..6a689721d8c 100644 --- a/res/cardsfolder/s/samite_pilgrim.txt +++ b/res/cardsfolder/s/samite_pilgrim.txt @@ -3,7 +3,7 @@ ManaCost:1 W Types:Creature Human Cleric Text:no text PT:1/1 -A:AB$ PreventDamage | Cost$ T | ValidTgts$ Creature | Amount$ X | PrecostDesc$ Domain - | SpellDescription$ Prevent the next X damage that would be dealt to target creature this turn, where X is the number of basic land types among lands you control. +A:AB$ PreventDamage | Cost$ T | ValidTgts$ Creature | Amount$ X | PrecostDesc$ Domain - | References$ X | SpellDescription$ Prevent the next X damage that would be dealt to target creature this turn, where X is the number of basic land types among lands you control. SVar:X:Count$Domain SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/samite_pilgrim.jpg diff --git a/res/cardsfolder/s/sand_silos.txt b/res/cardsfolder/s/sand_silos.txt index 788c11cd357..3d90ba4e73f 100644 --- a/res/cardsfolder/s/sand_silos.txt +++ b/res/cardsfolder/s/sand_silos.txt @@ -6,7 +6,7 @@ K:CARDNAME enters the battlefield tapped. K:You may choose not to untap CARDNAME during your untap step. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | IsPresent$ Card.Self+tapped | Execute$ TrigStore | TriggerDescription$ At the beginning of your upkeep, if CARDNAME is tapped, put a storage counter on it. SVar:TrigStore:DB$PutCounter | Defined$ Self | CounterType$ STORAGE | CounterNum$ 1 -A:AB$ Mana | Cost$ T SubCounter | Produced$ U | Amount$ ChosenX | CostDesc$ Tap, Remove any number of storage counters from CARDNAME: | SpellDescription$ Add U to your mana pool for each storage counter removed this way. +A:AB$ Mana | Cost$ T SubCounter | Produced$ U | Amount$ ChosenX | CostDesc$ Tap, Remove any number of storage counters from CARDNAME: | References$ X | SpellDescription$ Add U to your mana pool for each storage counter removed this way. SVar:X:XChoice #ChosenX SVar created by Cost payment SVar:RemAIDeck:True diff --git a/res/cardsfolder/s/sandals_of_abdallah.txt b/res/cardsfolder/s/sandals_of_abdallah.txt index 088c62df53c..13489f68a4b 100644 --- a/res/cardsfolder/s/sandals_of_abdallah.txt +++ b/res/cardsfolder/s/sandals_of_abdallah.txt @@ -3,7 +3,7 @@ ManaCost:4 Types:Artifact Text:no text A:AB$ Pump | Cost$ 2 T | KW$ Islandwalk | ValidTgts$ Creature | TgtPrompt$ Select target creature | SubAbility$ AbdallahsSandalsEffect | SpellDescription$ Target creature gains islandwalk until end of turn. When that creature dies this turn, destroy CARDNAME. -SVar:AbdallahsSandalsEffect:DB$ Effect | Name$ Sandals of Abdallah Effect | Triggers$ SandalWearerDied | SVars$ ExileEffect,SandalsDestroyed | RememberObjects$ Targeted | ImprintCards$ Self +SVar:AbdallahsSandalsEffect:DB$ Effect | Name$ Sandals of Abdallah Effect | Triggers$ SandalWearerDied | SVars$ ExileEffect,SandalsDestroyed | References$ SandalWearerDied,ExileEffect,SandalsDestroyed | RememberObjects$ Targeted | ImprintCards$ Self SVar:SandalWearerDied:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Battlefield | Destination$ Graveyard | Execute$ SandalsDestroyed | TriggerDescription$ When the targeted creature dies this turn, destroy Sandals of Abdallah. SVar:SandalsDestroyed:DB$ Destroy | Defined$ Imprinted | SubAbility$ ExileEffect SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Exile diff --git a/res/cardsfolder/s/sanguine_bond.txt b/res/cardsfolder/s/sanguine_bond.txt index ca6fdbcce48..b4ca1cc6d1f 100644 --- a/res/cardsfolder/s/sanguine_bond.txt +++ b/res/cardsfolder/s/sanguine_bond.txt @@ -3,7 +3,7 @@ ManaCost:3 B B Types:Enchantment Text:no text T:Mode$ LifeGained | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDrain | TriggerDescription$ Whenever you gain life, target opponent loses that much life. -SVar:TrigDrain:AB$LoseLife | Cost$ 0 | ValidTgts$ Opponent | TgtPromp$ Select target opponent | LifeAmount$ X +SVar:TrigDrain:AB$LoseLife | Cost$ 0 | ValidTgts$ Opponent | TgtPromp$ Select target opponent | LifeAmount$ X | References$ X SVar:X:TriggerCount$LifeAmount SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/s/sanguine_praetor.txt b/res/cardsfolder/s/sanguine_praetor.txt index f9d516effa0..9281eb99211 100644 --- a/res/cardsfolder/s/sanguine_praetor.txt +++ b/res/cardsfolder/s/sanguine_praetor.txt @@ -3,7 +3,7 @@ ManaCost:6 B B Types:Creature Avatar Text:no text PT:7/5 -A:AB$ DestroyAll | Cost$ B Sac<1/Creature> | ValidCards$ Creature.cmcEQX | SpellDescription$ Destroy each creature with the same converted mana cost as the sacrificed creature. +A:AB$ DestroyAll | Cost$ B Sac<1/Creature> | ValidCards$ Creature.cmcEQX | References$ X | SpellDescription$ Destroy each creature with the same converted mana cost as the sacrificed creature. SVar:X:Sacrificed$CardManaCost SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/s/saprazzan_cove.txt b/res/cardsfolder/s/saprazzan_cove.txt index b8488be8ec5..e13e9a2437d 100644 --- a/res/cardsfolder/s/saprazzan_cove.txt +++ b/res/cardsfolder/s/saprazzan_cove.txt @@ -4,7 +4,7 @@ Types:Land Text:no text K:CARDNAME enters the battlefield tapped. A:AB$ PutCounter | Cost$ T | Defined$ Self | CounterType$ STORAGE | CounterNum$ 1 | SpellDescription$ Put a storage counter on CARDNAME. -A:AB$ Mana | Cost$ T SubCounter | Produced$ U | Amount$ ChosenX | CostDesc$ Tap, Remove any number of storage counters from CARDNAME: | SpellDescription$ Add U to your mana pool for each storage counter removed this way. +A:AB$ Mana | Cost$ T SubCounter | Produced$ U | Amount$ ChosenX | CostDesc$ Tap, Remove any number of storage counters from CARDNAME: | References$ X | SpellDescription$ Add U to your mana pool for each storage counter removed this way. SVar:X:XChoice #ChosenX SVar created by Cost payment SVar:RemAIDeck:True diff --git a/res/cardsfolder/s/sarkhan_the_mad.txt b/res/cardsfolder/s/sarkhan_the_mad.txt index 8f3523e200d..38235d74583 100644 --- a/res/cardsfolder/s/sarkhan_the_mad.txt +++ b/res/cardsfolder/s/sarkhan_the_mad.txt @@ -4,13 +4,13 @@ Types:Planeswalker Sarkhan Text:no text Loyalty:7 A:AB$Dig | Cost$ AddCounter<0/LOYALTY> | DigNum$ 1 | Reveal$ True | ChangeNum$ All | ChangeValid$ Card | DestinationZone$ Hand | RememberChanged$ True | SubAbility$ DBDamage | Planeswalker$ True | SpellDescription$ Reveal the top card of your library and put it into your hand. CARDNAME deals damage to himself equal to that card's converted mana cost. -SVar:DBDamage:DB$ DealDamage | Defined$ Self | NumDmg$ Y | SubAbility$ DBCleanup +SVar:DBDamage:DB$ DealDamage | Defined$ Self | NumDmg$ Y | SubAbility$ DBCleanup | References$ Y SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:Y:Remembered$CardManaCost A:AB$ Destroy | Cost$ SubCounter<2/LOYALTY> | ValidTgts$ Creature | TgtPrompt$ Select target creature | Sacrifice$ True | SubAbility$ DBToken | Planeswalker$ True | SpellDescription$ Target creature's controller sacrifices it, then that player puts a 5/5 red Dragon creature token with flying onto the battlefield. SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenName$ Dragon | TokenTypes$ Creature,Dragon | TokenOwner$ TargetedController | TokenColors$ Red | TokenPower$ 5 | TokenToughness$ 5 | TokenKeywords$ Flying #for this AF, the DefinedCards$ Self is the target for Each damaging. They EachDamage themselves. -A:AB$ EachDamage | Cost$ SubCounter<4/LOYALTY> | ValidCards$ Dragon.Creature+YouCtrl | ValidDescription$ Dragon creature you control | NumDmg$ X | DamageDesc$ damage equal to its power | Tgt$ TgtP | Planeswalker$ True | Ultimate$ True | SpellDescription$ Each Dragon creature you control deals damage equal to its power to target player. +A:AB$ EachDamage | Cost$ SubCounter<4/LOYALTY> | ValidCards$ Dragon.Creature+YouCtrl | ValidDescription$ Dragon creature you control | NumDmg$ X | DamageDesc$ damage equal to its power | Tgt$ TgtP | Planeswalker$ True | Ultimate$ True | References$ X | SpellDescription$ Each Dragon creature you control deals damage equal to its power to target player. #NumDmg isn't really used here. It is left for clarity. The AF pulls Damage straight from "X" hardcoded. SVar:X:Count$CardPower SVar:RemAIDeck:True diff --git a/res/cardsfolder/s/savage_twister.txt b/res/cardsfolder/s/savage_twister.txt index 33cac381d02..1f58a543530 100644 --- a/res/cardsfolder/s/savage_twister.txt +++ b/res/cardsfolder/s/savage_twister.txt @@ -2,7 +2,7 @@ Name:Savage Twister ManaCost:X R G Types:Sorcery Text:no text -A:SP$ DamageAll | Cost$ X R G | ValidCards$ Creature | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to each creature. +A:SP$ DamageAll | Cost$ X R G | ValidCards$ Creature | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to each creature. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/scapegoat.txt b/res/cardsfolder/s/scapegoat.txt index c45bef5ce7d..1e09e03597f 100644 --- a/res/cardsfolder/s/scapegoat.txt +++ b/res/cardsfolder/s/scapegoat.txt @@ -2,7 +2,7 @@ Name:Scapegoat ManaCost:W Types:Instant Text:no text -A:SP$ ChangeZone | Cost$ W Sac<1/Creature> | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature | TargetMin$ 0 | TargetMax$ X | Origin$ Battlefield | Destination$ Hand | CostDesc$ As an additional cost to cast CARDNAME, sacrifice a creature. | SpellDescription$ Return any number of target creatures you control to their owner's hand. +A:SP$ ChangeZone | Cost$ W Sac<1/Creature> | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature | TargetMin$ 0 | TargetMax$ X | Origin$ Battlefield | Destination$ Hand | CostDesc$ As an additional cost to cast CARDNAME, sacrifice a creature. | References$ X | SpellDescription$ Return any number of target creatures you control to their owner's hand. SVar:X:Count$Valid Creature.YouCtrl SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/scavenging_ghoul.txt b/res/cardsfolder/s/scavenging_ghoul.txt index 0c265145594..c90c4ac75be 100644 --- a/res/cardsfolder/s/scavenging_ghoul.txt +++ b/res/cardsfolder/s/scavenging_ghoul.txt @@ -5,7 +5,7 @@ Text:no text PT:2/2 T:Mode$ Phase | Phase$ End of Turn | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of each end step, put a corpse counter on CARDNAME for each creature put into a graveyard from the battlefield this turn. A:AB$ Regenerate | Cost$ SubCounter<1/CORPSE> | SpellDescription$ Regenerate CARDNAME. -SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ CORPSE | CounterNum$ X +SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ CORPSE | CounterNum$ X | References$ X SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/scavenging_ghoul.jpg diff --git a/res/cardsfolder/s/scent_of_brine.txt b/res/cardsfolder/s/scent_of_brine.txt index 37feec8a0f5..02055cefd30 100644 --- a/res/cardsfolder/s/scent_of_brine.txt +++ b/res/cardsfolder/s/scent_of_brine.txt @@ -3,7 +3,7 @@ ManaCost:1 U Types:Instant Text:no text A:SP$ Reveal | Cost$ 1 U | Defined$ You | RevealValid$ Card.Blue | AnyNumber$ True | RememberRevealed$ True | SubAbility$ DBScentOfBrineCounter | SpellDescription$ Reveal any number of blue cards in your hand. Counter target spell unless its controller pays 1 for each card revealed this way. -SVar:DBScentOfBrineCounter:DB$ Counter | Cost$ 0 | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ ScentOfBrineX | SubAbility$ DBScentOfBrineCleanup +SVar:DBScentOfBrineCounter:DB$ Counter | Cost$ 0 | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ ScentOfBrineX | SubAbility$ DBScentOfBrineCleanup | References$ ScentOfBrineX SVar:DBScentOfBrineCleanup:DB$ Cleanup | ClearRemembered$ True SVar:ScentOfBrineX:Remembered$Amount SVar:RemAIDeck:True diff --git a/res/cardsfolder/s/scent_of_cinder.txt b/res/cardsfolder/s/scent_of_cinder.txt index 01fd82d44c2..d7399ef4f5b 100644 --- a/res/cardsfolder/s/scent_of_cinder.txt +++ b/res/cardsfolder/s/scent_of_cinder.txt @@ -3,7 +3,7 @@ ManaCost:1 R Types:Sorcery Text:no text A:SP$ Reveal | Cost$ 1 R | Defined$ You | RevealValid$ Card.Red | AnyNumber$ True | RememberRevealed$ True | SubAbility$ DBScentOfCinderDamage | SpellDescription$ Reveal any number of red cards in your hand. CARDNAME deals X damage to target creature or player, where X is the number of cards revealed this way. -SVar:DBScentOfCinderDamage:DB$ DealDamage | Tgt$ TgtCP | NumDmg$ ScentOfCinderX | SubAbility$ DBScentOfCinderCleanup +SVar:DBScentOfCinderDamage:DB$ DealDamage | Tgt$ TgtCP | NumDmg$ ScentOfCinderX | SubAbility$ DBScentOfCinderCleanup | References$ ScentOfCinderX SVar:ScentOfCinderX:Remembered$Amount SVar:DBScentOfCinderCleanup:DB$ Cleanup | ClearRemembered$ True SVar:RemAIDeck:True diff --git a/res/cardsfolder/s/scent_of_ivy.txt b/res/cardsfolder/s/scent_of_ivy.txt index 80a13e727f9..7f0f36f90d4 100644 --- a/res/cardsfolder/s/scent_of_ivy.txt +++ b/res/cardsfolder/s/scent_of_ivy.txt @@ -3,7 +3,7 @@ ManaCost:G Types:Instant Text:no text A:SP$ Reveal | Cost$ G | Defined$ You | RevealValid$ Card.Green | AnyNumber$ True | RememberRevealed$ True | SubAbility$ DBScentOfIvyPump | SpellDescription$ Reveal any number of green cards in your hand. Target creature gets +X/+X until end of turn, where X is the number of cards revealed this way. -SVar:DBScentOfIvyPump:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ ScentOfIvyX | NumDef$ ScentOfIvyX | SubAbility$ DBScentOfIvyCleanup +SVar:DBScentOfIvyPump:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ ScentOfIvyX | NumDef$ ScentOfIvyX | SubAbility$ DBScentOfIvyCleanup | References$ ScentOfIvyX SVar:ScentOfIvyX:Remembered$Amount SVar:DBScentOfIvyCleanup:DB$ Cleanup | ClearRemembered$ True SVar:RemAIDeck:True diff --git a/res/cardsfolder/s/scent_of_jasmine.txt b/res/cardsfolder/s/scent_of_jasmine.txt index d6c5f61f601..01cc1b2b2aa 100644 --- a/res/cardsfolder/s/scent_of_jasmine.txt +++ b/res/cardsfolder/s/scent_of_jasmine.txt @@ -3,7 +3,7 @@ ManaCost:W Types:Instant Text:no text A:SP$ Reveal | Cost$ W | Defined$ You | RevealValid$ Card.White | AnyNumber$ True | RememberRevealed$ True | SubAbility$ DBScentOfJasmineLife | SpellDescription$ Reveal any number of white cards in your hand. You gain 2 life for each card revealed this way. -SVar:DBScentOfJasmineLife:DB$ GainLife | LifeAmount$ ScentOfJasmineX | SubAbility$ DBScentOfJasmineCleanup +SVar:DBScentOfJasmineLife:DB$ GainLife | LifeAmount$ ScentOfJasmineX | SubAbility$ DBScentOfJasmineCleanup | References$ ScentOfJasmineX SVar:ScentOfJasmineX:Remembered$Amount.Twice SVar:DBScentOfJasmineCleanup:DB$ Cleanup | ClearRemembered$ True SVar:RemAIDeck:True diff --git a/res/cardsfolder/s/scent_of_nightshade.txt b/res/cardsfolder/s/scent_of_nightshade.txt index b7f3c762c10..cf2a2fa920d 100644 --- a/res/cardsfolder/s/scent_of_nightshade.txt +++ b/res/cardsfolder/s/scent_of_nightshade.txt @@ -3,7 +3,7 @@ ManaCost:1 B Types:Instant Text:no text A:SP$ Reveal | Cost$ 1 B | Defined$ You | RevealValid$ Card.Black | AnyNumber$ True | RememberRevealed$ True | SubAbility$ DBScentOfNightshadePump | SpellDescription$ Reveal any number of black cards in your hand. Target creature gets -X/-X until end of turn, where X is the number of cards revealed this way. -SVar:DBScentOfNightshadePump:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ ScentOfNightshadeX | NumDef$ ScentOfNightshadeX | SubAbility$ DBScentOfNightshadeCleanup +SVar:DBScentOfNightshadePump:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ ScentOfNightshadeX | NumDef$ ScentOfNightshadeX | SubAbility$ DBScentOfNightshadeCleanup | References$ ScentOfNightshadeX SVar:DBScentOfNightshadeCleanup:DB$ Cleanup | ClearRemembered$ True SVar:ScentOfNightshadeX:Remembered$Amount.Negative SVar:RemAIDeck:True diff --git a/res/cardsfolder/s/scepter_of_empires.txt b/res/cardsfolder/s/scepter_of_empires.txt index 98eca3c4c8d..2034e7a2fa6 100644 --- a/res/cardsfolder/s/scepter_of_empires.txt +++ b/res/cardsfolder/s/scepter_of_empires.txt @@ -2,7 +2,7 @@ Name:Scepter of Empires ManaCost:3 Types:Artifact Text:no text -A:AB$ DealDamage | Cost$ T | Tgt$ TgtP | NumDmg$ X | SpellDescription$ CARDNAME deals 1 damage to target player. It deals 3 damage to that player instead if you control artifacts named Crown of Empires and Throne of Empires. +A:AB$ DealDamage | Cost$ T | Tgt$ TgtP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals 1 damage to target player. It deals 3 damage to that player instead if you control artifacts named Crown of Empires and Throne of Empires. SVar:X:Count$AllM12Empires.3.1 SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/scorched_earth.txt b/res/cardsfolder/s/scorched_earth.txt index 93bdb201567..9a999fbdafc 100644 --- a/res/cardsfolder/s/scorched_earth.txt +++ b/res/cardsfolder/s/scorched_earth.txt @@ -2,7 +2,7 @@ Name:Scorched Earth ManaCost:X R Types:Sorcery Text:no text -A:SP$ Destroy | Cost$ X R Discard | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Land | TgtPrompt$ Select target land | SpellDescription$ Destroy X target lands. +A:SP$ Destroy | Cost$ X R Discard | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Land | TgtPrompt$ Select target land | References$ X | SpellDescription$ Destroy X target lands. # It may seem wrong to not use X in the target, but since the Targets are what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Land diff --git a/res/cardsfolder/s/scouting_trek.txt b/res/cardsfolder/s/scouting_trek.txt index 866da5821e4..a1ad3596eae 100644 --- a/res/cardsfolder/s/scouting_trek.txt +++ b/res/cardsfolder/s/scouting_trek.txt @@ -2,7 +2,7 @@ Name:Scouting Trek ManaCost:1 G Types:Sorcery Text:no text -A:SP$ ChangeZone | Cost$ 1 G | ChangeNum$ X | ChangeType$ Land.Basic | Origin$ Library | Destination$ Library | LibraryPosition$ 0 | SpellDescription$ Search your library for any number of basic land cards. Reveal those cards, then shuffle your library and put them on top of it. +A:SP$ ChangeZone | Cost$ 1 G | ChangeNum$ X | ChangeType$ Land.Basic | Origin$ Library | Destination$ Library | LibraryPosition$ 0 | References$ X | SpellDescription$ Search your library for any number of basic land cards. Reveal those cards, then shuffle your library and put them on top of it. SVar:X:Count$InYourLibrary.Land.Basic SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/scrapyard_salvo.txt b/res/cardsfolder/s/scrapyard_salvo.txt index eae8c52ba09..a3acc3c37c6 100644 --- a/res/cardsfolder/s/scrapyard_salvo.txt +++ b/res/cardsfolder/s/scrapyard_salvo.txt @@ -2,7 +2,7 @@ Name:Scrapyard Salvo ManaCost:1 R R Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ 1 R R | Tgt$ TgtP | NumDmg$ X | SpellDescription$ CARDNAME deals damage to target player equal to the number of artifact cards in your graveyard. +A:SP$ DealDamage | Cost$ 1 R R | Tgt$ TgtP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage to target player equal to the number of artifact cards in your graveyard. SVar:X:Count$TypeInYourYard.Artifact SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/s/scrying_glass.txt b/res/cardsfolder/s/scrying_glass.txt index 95434ec15c5..7f95a2f5b57 100644 --- a/res/cardsfolder/s/scrying_glass.txt +++ b/res/cardsfolder/s/scrying_glass.txt @@ -5,7 +5,7 @@ Text:no text A:AB$ ChooseNumber | Cost$ 3 T | Min$ 1 | SubAbility$ DBScryingGlassChooseColor | SpellDescription$ Choose a number greater than 0 and a color. Target opponent reveals his or her hand. If that opponent reveals exactly the chosen number of cards of the chosen color, you draw a card. SVar:DBScryingGlassChooseColor:DB$ ChooseColor | SubAbility$ DBScryingGlassRevealHand SVar:DBScryingGlassRevealHand:DB$ RevealHand | RememberRevealed$ True | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | SubAbility$ DBScryingGlassDraw -SVar:DBScryingGlassDraw:DB$ Draw | ConditionCheckSVar$ ScryingGlassX | ConditionSVarCompare$ EQScryingGlassY | SubAbility$ DBScryingGlassCleanup +SVar:DBScryingGlassDraw:DB$ Draw | ConditionCheckSVar$ ScryingGlassX | ConditionSVarCompare$ EQScryingGlassY | SubAbility$ DBScryingGlassCleanup | References$ ScryingGlassX,ScryingGlassY SVar:DBScryingGlassCleanup:DB$ Cleanup | ClearRemembered$ True SVar:ScryingGlassX:Remembered$Valid Card.ChosenColor SVar:ScryingGlassY:Count$ChosenNumber diff --git a/res/cardsfolder/s/scythe_tiger.txt b/res/cardsfolder/s/scythe_tiger.txt index bfa6b5c2f54..d27ae02e602 100644 --- a/res/cardsfolder/s/scythe_tiger.txt +++ b/res/cardsfolder/s/scythe_tiger.txt @@ -6,7 +6,7 @@ PT:3/2 K:Shroud T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSac | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you sacrifice a Land. SVar:TrigSac:AB$ Sacrifice | Cost$ 0 | Amount$ 1 | SacValid$ Land | RememberSacrificed$ True | Optional$ True | SubAbility$ DBSacSelf -SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 +SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:NeedsToPlay:Land.YouCtrl diff --git a/res/cardsfolder/s/sea_gate_loremaster.txt b/res/cardsfolder/s/sea_gate_loremaster.txt index fcdfb5f46f8..a14afc185ff 100644 --- a/res/cardsfolder/s/sea_gate_loremaster.txt +++ b/res/cardsfolder/s/sea_gate_loremaster.txt @@ -3,7 +3,7 @@ ManaCost:4 U Types:Creature Merfolk Wizard Ally Text:no text PT:1/3 -A:AB$ Draw | Cost$ T | NumCards$ X | SpellDescription$ Draw a card for each Ally you control. +A:AB$ Draw | Cost$ T | NumCards$ X | References$ X | SpellDescription$ Draw a card for each Ally you control. SVar:X:Count$TypeYouCtrl.Ally SVar:BuffedBy:Ally SVar:Rarity:Rare diff --git a/res/cardsfolder/s/sea_kings_blessing.txt b/res/cardsfolder/s/sea_kings_blessing.txt index 7321fbdc0a5..9d81ba50056 100644 --- a/res/cardsfolder/s/sea_kings_blessing.txt +++ b/res/cardsfolder/s/sea_kings_blessing.txt @@ -2,7 +2,7 @@ Name:Sea Kings' Blessing ManaCost:U Types:Instant Text:no text -A:SP$ Animate | Cost$ U | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ MaxTgts | TgtPrompt$ Select target creatures | Colors$ Blue | OverwriteColors$ True | SpellDescription$ Any number of target creatures become blue until end of turn. +A:SP$ Animate | Cost$ U | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ MaxTgts | TgtPrompt$ Select target creatures | Colors$ Blue | OverwriteColors$ True | References$ MaxTgts | SpellDescription$ Any number of target creatures become blue until end of turn. SVar:MaxTgts:Count$Valid Creature SVar:RemAIDeck:True SVar:RemRandomDeck:True diff --git a/res/cardsfolder/s/sealed_fate.txt b/res/cardsfolder/s/sealed_fate.txt index 226e890bde6..2af965d441d 100644 --- a/res/cardsfolder/s/sealed_fate.txt +++ b/res/cardsfolder/s/sealed_fate.txt @@ -2,7 +2,7 @@ Name:Sealed Fate ManaCost:X U B Types:Sorcery Text:no text -A:SP$ Dig | Cost$ X U B | ValidTgts$ Opponent | DigNum$ X | ChangeNum$ 1 | DestinationZone$ Exile | LibraryPosition2$ 0 | SpellDescription$ Look at the top X cards of target opponent's library. Exile one of those cards and put the rest back on top of that player's library in any order. +A:SP$ Dig | Cost$ X U B | ValidTgts$ Opponent | DigNum$ X | ChangeNum$ 1 | DestinationZone$ Exile | LibraryPosition2$ 0 | References$ X | SpellDescription$ Look at the top X cards of target opponent's library. Exile one of those cards and put the rest back on top of that player's library in any order. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/searing_blaze.txt b/res/cardsfolder/s/searing_blaze.txt index cfa6580b9ad..d83bb8afe65 100644 --- a/res/cardsfolder/s/searing_blaze.txt +++ b/res/cardsfolder/s/searing_blaze.txt @@ -2,8 +2,8 @@ Name:Searing Blaze ManaCost:R R Types:Instant Text:no text -A:SP$ DealDamage | Cost$ R R | ValidTgts$ Player | TgtPrompt$ Select target player | NumDmg$ SearingX | SubAbility$ SearingDamage | SpellDescription$ CARDNAME deals 1 damage to target player and 1 damage to target creature that player controls. Landfall - If you had a land enter the battlefield under your control this turn, CARDNAME deals 3 damage to that player and 3 damage to that creature instead. -SVar:SearingDamage:DB$ DealDamage | ValidTgts$ Creature.TargetedPlayerCtrl | TgtPrompt$ Select target creature that player controls | NumDmg$ SearingX +A:SP$ DealDamage | Cost$ R R | ValidTgts$ Player | TgtPrompt$ Select target player | NumDmg$ SearingX | SubAbility$ SearingDamage | References$ SearingX | SpellDescription$ CARDNAME deals 1 damage to target player and 1 damage to target creature that player controls. Landfall - If you had a land enter the battlefield under your control this turn, CARDNAME deals 3 damage to that player and 3 damage to that creature instead. +SVar:SearingDamage:DB$ DealDamage | ValidTgts$ Creature.TargetedPlayerCtrl | TgtPrompt$ Select target creature that player controls | NumDmg$ SearingX | References$ SearingX SVar:SearingX:Count$Landfall.3.1 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/searing_blaze.jpg diff --git a/res/cardsfolder/s/secretkeeper.txt b/res/cardsfolder/s/secretkeeper.txt index b1c0c7f0585..b4ea1600b30 100644 --- a/res/cardsfolder/s/secretkeeper.txt +++ b/res/cardsfolder/s/secretkeeper.txt @@ -3,7 +3,7 @@ ManaCost:3 U Types:Creature Spirit Text:no text PT:2/2 -S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 2 | AddToughness$ 2 | AddKeyword$ Fyling | CheckSVar$ X | SVarCompare$ GTY | Description$ As long as you have more cards in hand than each opponent, CARDNAME gets +2/+2 and has flying. +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 2 | AddToughness$ 2 | AddKeyword$ Flying | CheckSVar$ X | SVarCompare$ GTY | Description$ As long as you have more cards in hand than each opponent, CARDNAME gets +2/+2 and has flying. SVar:X:Count$InYourHand SVar:Y:Count$InOppHand SVar:RemAIDeck:True diff --git a/res/cardsfolder/s/seedtime.txt b/res/cardsfolder/s/seedtime.txt index 3d441bfd721..8e1d13ba1f1 100644 --- a/res/cardsfolder/s/seedtime.txt +++ b/res/cardsfolder/s/seedtime.txt @@ -2,7 +2,7 @@ Name:Seedtime ManaCost:1 G Types:Instant Text:no text -A:SP$ AddTurn | Cost$ 1 G | NumTurns$ 1 | PlayerTurn$ True | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SpellDescription$ Cast CARDNAME only during your turn. Take an extra turn after this one if an opponent cast a blue spell this turn. +A:SP$ AddTurn | Cost$ 1 G | NumTurns$ 1 | PlayerTurn$ True | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | References$ X | SpellDescription$ Cast CARDNAME only during your turn. Take an extra turn after this one if an opponent cast a blue spell this turn. SVar:X:Count$ThisTurnCast_Card.Blue+YouDontCtrl SVar:RemAIDeck:True SVar:RemRandomDeck:True diff --git a/res/cardsfolder/s/seismic_strike.txt b/res/cardsfolder/s/seismic_strike.txt index be650880853..c8febc44e91 100644 --- a/res/cardsfolder/s/seismic_strike.txt +++ b/res/cardsfolder/s/seismic_strike.txt @@ -2,7 +2,7 @@ Name:Seismic Strike ManaCost:2 R Types:Instant Text:no text -A:SP$ DealDamage | Cost$ 2 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SpellDescription$ CARDNAME deals damage to target creature equal to the number of Mountains you control. +A:SP$ DealDamage | Cost$ 2 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage to target creature equal to the number of Mountains you control. SVar:X:Count$TypeYouCtrl.Mountain SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/seismic_strike.jpg diff --git a/res/cardsfolder/s/sekki_seasons_guide.txt b/res/cardsfolder/s/sekki_seasons_guide.txt index 340aaef6e14..78cd1ecced9 100644 --- a/res/cardsfolder/s/sekki_seasons_guide.txt +++ b/res/cardsfolder/s/sekki_seasons_guide.txt @@ -5,8 +5,8 @@ Text:no text PT:0/0 K:etbCounters:P1P1:8 R:Event$ DamageDone | ValidTarget$ Card.Self | ReplaceWith$ SekkiCounters | PreventionEffect$ True | Description$ If damage would be dealt to Sekki, prevent that damage, remove that many +1/+1 counters from Sekki, and put that many 1/1 colorless Spirit creature tokens onto the battlefield. -SVar:SekkiCounters:AB$ RemoveCounter | Cost$ 0 | CounterType$ P1P1 | CounterNum$ SekkiX | SubAbility$ DBSekkiToken -SVar:DBSekkiToken:DB$ Token | Cost$ 0 | TokenAmount$ SekkiX | TokenName$ Spirit | TokenTypes$ Creature,Spirit | TokenColors$ Colorless | TokenPower$ 1 | TokenToughness$ 1 +SVar:SekkiCounters:AB$ RemoveCounter | Cost$ 0 | CounterType$ P1P1 | CounterNum$ SekkiX | SubAbility$ DBSekkiToken | References$ X +SVar:DBSekkiToken:DB$ Token | Cost$ 0 | TokenAmount$ SekkiX | TokenName$ Spirit | TokenTypes$ Creature,Spirit | TokenColors$ Colorless | TokenPower$ 1 | TokenToughness$ 1 | References$ SekkiX A:AB$ ChangeZone | Cost$ Sac<8/Spirit> | Defined$ Self | ActivationZone$ Graveyard | Origin$ Graveyard | Destination$ Battlefield | SpellDescription$ Return Sekki from your graveyard to the battlefield. SVar:SekkiX:ReplaceCount$DamageAmount SVar:Rarity:Rare diff --git a/res/cardsfolder/s/selective_memory.txt b/res/cardsfolder/s/selective_memory.txt index 59727ad5f16..e306ecc60af 100644 --- a/res/cardsfolder/s/selective_memory.txt +++ b/res/cardsfolder/s/selective_memory.txt @@ -2,7 +2,7 @@ Name:Selective Memory ManaCost:3 U Types:Sorcery Text:no text -A:SP$ ChangeZone | Cost$ 3 U | Origin$ Library | Destination$ Exile | ChangeType$ Card.nonLand | ChangeNum$ XFetch | SpellDescription$ Search your library for any number of nonland cards and exile them. Then shuffle your library. +A:SP$ ChangeZone | Cost$ 3 U | Origin$ Library | Destination$ Exile | ChangeType$ Card.nonLand | ChangeNum$ XFetch | References$ XFetch | SpellDescription$ Search your library for any number of nonland cards and exile them. Then shuffle your library. SVar:XFetch:Count$InYourLibrary SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/s/selfless_exorcist.txt b/res/cardsfolder/s/selfless_exorcist.txt index e780cfb0a1b..44c02854d25 100644 --- a/res/cardsfolder/s/selfless_exorcist.txt +++ b/res/cardsfolder/s/selfless_exorcist.txt @@ -4,7 +4,7 @@ Types:Creature Human Cleric Text:no text PT:3/4 A:AB$ ChangeZone | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | Origin$ Graveyard | Destination$ Exile | SubAbility$ DBDealDamage | SpellDescription$ Exile target creature card from a graveyard. That card deals damage equal to its power to CARDNAME. -SVar:DBDealDamage:DB$DealDamage | Defined$ Self | NumDmg$ X +SVar:DBDealDamage:DB$DealDamage | Defined$ Self | NumDmg$ X | References$ X SVar:X:Targeted$CardPower SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/s/serene_offering.txt b/res/cardsfolder/s/serene_offering.txt index 25f4213c8da..e4562912eab 100644 --- a/res/cardsfolder/s/serene_offering.txt +++ b/res/cardsfolder/s/serene_offering.txt @@ -3,7 +3,7 @@ ManaCost:1 W Types:Instant Text:no text A:SP$ Destroy | Cost$ 1 W | ValidTgts$ Enchantment | TgtPrompt$ Select target enchantment | SubAbility$ DBGainLife | SpellDescription$ Destroy target enchantment. You gain life equal to its converted mana cost. -SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X +SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Targeted$CardManaCost SVar:PlayMain1:TRUE SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/serene_sunset.txt b/res/cardsfolder/s/serene_sunset.txt index 8f5a69a5c06..4cef60d9d0a 100644 --- a/res/cardsfolder/s/serene_sunset.txt +++ b/res/cardsfolder/s/serene_sunset.txt @@ -2,7 +2,7 @@ Name:Serene Sunset ManaCost:X G Types:Instant Text:no text -A:SP$ Pump | Cost$ X G | ValidTgts$ Creature | TgtPrompt$ Select target creature | TargetMin$ 0 | TargetMax$ MaxTgts | KW$ HIDDEN Prevent all combat damage that would be dealt by CARDNAME. | IsCurse$ True | SpellDescription$ Prevent all combat damage X target creatures would deal this turn. +A:SP$ Pump | Cost$ X G | ValidTgts$ Creature | TgtPrompt$ Select target creature | TargetMin$ 0 | TargetMax$ MaxTgts | KW$ HIDDEN Prevent all combat damage that would be dealt by CARDNAME. | IsCurse$ True | References$ X,MaxTgts | SpellDescription$ Prevent all combat damage X target creatures would deal this turn. SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Creature SVar:RemAIDeck:True diff --git a/res/cardsfolder/s/serpent_generator.txt b/res/cardsfolder/s/serpent_generator.txt index 4772b71b87e..ee73e5e7d75 100644 --- a/res/cardsfolder/s/serpent_generator.txt +++ b/res/cardsfolder/s/serpent_generator.txt @@ -2,7 +2,7 @@ Name:Serpent Generator ManaCost:6 Types:Artifact Text:no text -A:AB$ Token | Cost$ 4 T | TokenAmount$ 1 | TokenName$ Snake | TokenTypes$ Artifact,Creature,Snake | TokenOwner$ You | TokenColors$ Colorless | TokenPower$ 1 | TokenToughness$ 1 | TokenTriggers$ TrigTokenPoison | SpellDescription$ Put a 1/1 colorless Snake artifact creature token onto the battlefield. This creature has "Whenever this creature deals damage to a player, that player gets a poison counter." (A player with ten or more poison counters loses the game.) +A:AB$ Token | Cost$ 4 T | TokenAmount$ 1 | TokenName$ Snake | TokenTypes$ Artifact,Creature,Snake | TokenOwner$ You | TokenColors$ Colorless | TokenPower$ 1 | TokenToughness$ 1 | TokenTriggers$ TrigTokenPoison,TrigPoison | References$ TrigTokenPoison | SpellDescription$ Put a 1/1 colorless Snake artifact creature token onto the battlefield. This creature has "Whenever this creature deals damage to a player, that player gets a poison counter." (A player with ten or more poison counters loses the game.) SVar:TrigTokenPoison:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | Execute$ TrigPoison | TriggerZones$ Battlefield | TriggerDescription$ Whenever this creature deals damage to a player, that player gets a poison counter. SVar:TrigPoison:AB$ Poison | Cost$ 0 | Defined$ TriggeredTarget | Num$ 1 SVar:Rarity:Rare diff --git a/res/cardsfolder/s/serras_liturgy.txt b/res/cardsfolder/s/serras_liturgy.txt index bc844c94f8a..bb6337d03f1 100644 --- a/res/cardsfolder/s/serras_liturgy.txt +++ b/res/cardsfolder/s/serras_liturgy.txt @@ -2,7 +2,7 @@ Name:Serra's Liturgy ManaCost:2 W W Types:Enchantment Text:no text -A:AB$ Destroy | Cost$ W Sac<1/CARDNAME> | TargetMin$ 0 | TargetMax$ X | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact or enchantment | SpellDescription$ Destroy up to X target artifacts and/or enchantments, where X is the number of verse counters on CARDNAME. +A:AB$ Destroy | Cost$ W Sac<1/CARDNAME> | TargetMin$ 0 | TargetMax$ X | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact or enchantment | References$ X | SpellDescription$ Destroy up to X target artifacts and/or enchantments, where X is the number of verse counters on CARDNAME. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, you may put a verse counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ VERSE | CounterNum$ 1 SVar:X:Count$CardCounters.VERSE diff --git a/res/cardsfolder/s/serras_sanctum.txt b/res/cardsfolder/s/serras_sanctum.txt index 13c5cf189bd..04edfe16394 100644 --- a/res/cardsfolder/s/serras_sanctum.txt +++ b/res/cardsfolder/s/serras_sanctum.txt @@ -2,7 +2,7 @@ Name:Serra's Sanctum ManaCost:no cost Types:Legendary Land Text:no text -A:AB$ Mana | Cost$ T | Produced$ W | Amount$ X | SpellDescription$ Add W to your mana pool for each Enchantment you control. +A:AB$ Mana | Cost$ T | Produced$ W | Amount$ X | References$ X | SpellDescription$ Add W to your mana pool for each Enchantment you control. SVar:X:Count$Valid Enchantment.YouCtrl SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/s/sever_soul.txt b/res/cardsfolder/s/sever_soul.txt index 6b3f626945a..f3d0fb74017 100644 --- a/res/cardsfolder/s/sever_soul.txt +++ b/res/cardsfolder/s/sever_soul.txt @@ -3,7 +3,7 @@ ManaCost:3 B B Types:Sorcery Text:no text A:SP$ Destroy | Cost$ 3 B B | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonblack creature | NoRegen$ True | SubAbility$ DBGainLife | SpellDescription$ Destroy target nonblack creature. It can't be regenerated. You gain life equal to its toughness. -SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X +SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Targeted$CardToughness SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/sever_soul.jpg diff --git a/res/cardsfolder/s/shaleskin_bruiser.txt b/res/cardsfolder/s/shaleskin_bruiser.txt index df42c9c4782..11a0496b90e 100644 --- a/res/cardsfolder/s/shaleskin_bruiser.txt +++ b/res/cardsfolder/s/shaleskin_bruiser.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 K:Trample T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, it gets +3/+0 until end of turn for each other attacking Beast. -SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ X +SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ X | References$ X SVar:X:Count$Valid Creature.Beast+Other+attacking/Times.3 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/shaleskin_bruiser.jpg diff --git a/res/cardsfolder/s/shape_stealer.txt b/res/cardsfolder/s/shape_stealer.txt index c7259563a23..49977ec1fc1 100644 --- a/res/cardsfolder/s/shape_stealer.txt +++ b/res/cardsfolder/s/shape_stealer.txt @@ -5,8 +5,8 @@ Text:no text PT:1/1 T:Mode$ Blocks | ValidCard$ Card.Self | ValidBlocked$ Creature | Execute$ TrigAnimateBlocker | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature, change CARDNAME's power and toughness to that creature's power and toughness until end of turn. T:Mode$ Blocks | ValidCard$ Creature | ValidBlocked$ Card.Self | Execute$ TrigAnimateAttacker | TriggerZones$ Battlefield | Secondary$ True | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature, change CARDNAME's power and toughness to that creature's power and toughness until end of turn. -SVar:TrigAnimateBlocker:AB$ Animate | Cost$ 0 | Power$ W | Toughness$ X -SVar:TrigAnimateAttacker:AB$ Animate | Cost$ 0 | Power$ Y | Toughness$ Z +SVar:TrigAnimateBlocker:AB$ Animate | Cost$ 0 | Power$ W | Toughness$ X | References$ W,X +SVar:TrigAnimateAttacker:AB$ Animate | Cost$ 0 | Power$ Y | Toughness$ Z | References$ Y,Z SVar:W:TriggeredAttacker$CardPower SVar:X:TriggeredAttacker$CardToughness SVar:Y:TriggeredBlocker$CardPower diff --git a/res/cardsfolder/s/shattered_crypt.txt b/res/cardsfolder/s/shattered_crypt.txt index f566f533bc3..f708f9c1d31 100644 --- a/res/cardsfolder/s/shattered_crypt.txt +++ b/res/cardsfolder/s/shattered_crypt.txt @@ -2,8 +2,8 @@ Name:Shattered Crypt ManaCost:X B B Types:Sorcery Text:no text -A:SP$ ChangeZone | Cost$ X B B | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Creature.YouOwn | TgtPrompt$ Select target creature | TargetMin$ 0 | TargetMax$ MaxTgts | SubAbility$ DBLoseLife | SpellDescription$ Return X target creature cards from your graveyard to your hand. You lose X life. -SVar:DBLoseLife:DB$LoseLife | Defined$ You | LifeAmount$ X +A:SP$ ChangeZone | Cost$ X B B | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Creature.YouOwn | TgtPrompt$ Select target creature | TargetMin$ 0 | TargetMax$ MaxTgts | SubAbility$ DBLoseLife | References$ X,MaxTgts | SpellDescription$ Return X target creature cards from your graveyard to your hand. You lose X life. +SVar:DBLoseLife:DB$LoseLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Targeted$Amount SVar:MaxTgts:Count$TypeInYourYard.Creature SVar:RemAIDeck:True diff --git a/res/cardsfolder/s/shattered_perception.txt b/res/cardsfolder/s/shattered_perception.txt index e26aefbb25c..2a9df922bcd 100644 --- a/res/cardsfolder/s/shattered_perception.txt +++ b/res/cardsfolder/s/shattered_perception.txt @@ -3,7 +3,7 @@ ManaCost:2 R Types:Sorcery Text:no text A:SP$ Discard | Cost$ 2 R | Defined$ You | RememberDiscarded$ True | Mode$ Hand | SubAbility$ DBDraw | SpellDescription$ Discard all the cards in your hand, then draw that many cards. -SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X | SubAbility$ DBCleanup +SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount K:Flashback 5 R diff --git a/res/cardsfolder/s/shelldock_isle.txt b/res/cardsfolder/s/shelldock_isle.txt index 741bc5cfd4e..0195f26f9e2 100644 --- a/res/cardsfolder/s/shelldock_isle.txt +++ b/res/cardsfolder/s/shelldock_isle.txt @@ -6,7 +6,7 @@ K:Hideaway T:Mode$ ChangesZone | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDig | TriggerDescription$ This land enters the battlefield tapped. When it does, look at the top four cards of your library, exile one face down, then put the rest on the bottom of your library. SVar:TrigDig:AB$ Dig | Cost$ 0 | Defined$ You | DigNum$ 4 | DestinationZone$ Exile | ExileFaceDown$ True | RememberChanged$ True A:AB$ Mana | Cost$ T | Produced$ U | SpellDescription$ Add U to your mana pool. -A:AB$ Play | Cost$ U T | Defined$ Remembered | Controller$ You | WithoutManaCost$ True | Optional$ True | ConditionCheckSVar$ X | ConditionSVarCompare$ LEY | ForgetRemembered$ True | SpellDescription$ You may play the exiled card without paying its mana cost if a library has twenty or fewer cards in it. +A:AB$ Play | Cost$ U T | Defined$ Remembered | Controller$ You | WithoutManaCost$ True | Optional$ True | ConditionCheckSVar$ X | ConditionSVarCompare$ LEY | ForgetRemembered$ True | References$ X,Y | SpellDescription$ You may play the exiled card without paying its mana cost if a library has twenty or fewer cards in it. SVar:Y:Number$20 SVar:X:Count$LowestLibrary SVar:RemRandomDeck:True diff --git a/res/cardsfolder/s/sheltering_word.txt b/res/cardsfolder/s/sheltering_word.txt index 33675bfa9de..8483d95deb7 100644 --- a/res/cardsfolder/s/sheltering_word.txt +++ b/res/cardsfolder/s/sheltering_word.txt @@ -3,7 +3,7 @@ ManaCost:1 G Types:Instant Text:no text A:SP$ Pump | Cost$ 1 G | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | KW$ Hexproof | SubAbility$ LifeTough | SpellDescription$ Target creature you control gains hexproof until end of turn. You gain life equal to that creature's toughness. -SVar:LifeTough:DB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:LifeTough:DB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:Targeted$CardToughness SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/sheltering_word.jpg diff --git a/res/cardsfolder/s/shepherd_of_rot.txt b/res/cardsfolder/s/shepherd_of_rot.txt index 613979731f7..63ad9ce38d6 100644 --- a/res/cardsfolder/s/shepherd_of_rot.txt +++ b/res/cardsfolder/s/shepherd_of_rot.txt @@ -3,7 +3,7 @@ ManaCost:1 B Types:Creature Zombie Cleric Text:no text PT:1/1 -A:AB$ LoseLife | Cost$ T | Defined$ Each | LifeAmount$ X | SpellDescription$ Each player loses 1 life for each Zombie on the battlefield. +A:AB$ LoseLife | Cost$ T | Defined$ Each | LifeAmount$ X | References$ X | SpellDescription$ Each player loses 1 life for each Zombie on the battlefield. SVar:X:Count$TypeOnBattlefield.Zombie SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/s/shield_dancer.txt b/res/cardsfolder/s/shield_dancer.txt index a93c230283b..279a2bfcd4a 100644 --- a/res/cardsfolder/s/shield_dancer.txt +++ b/res/cardsfolder/s/shield_dancer.txt @@ -3,9 +3,9 @@ ManaCost:2 W Types:Creature Human Rebel Text:no text PT:1/3 -A:AB$ Effect | Cost$ 2 W | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | Name$ Shield Dancing | IsCurse$ True | ReplacementEffects$ DamageShielded | Triggers$ OutOfSight | SVars$ ExileEffect,ReflectDmg,X | RememberObjects$ Targeted | ImprintCards$ Self | AILogic$ Fog | SpellDescription$ The next time target attacking creature would deal combat damage to CARDNAME this turn, that creature deals that damage to itself instead. +A:AB$ Effect | Cost$ 2 W | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | Name$ Shield Dancing | IsCurse$ True | ReplacementEffects$ DamageShielded | Triggers$ OutOfSight | SVars$ ExileEffect,ReflectDmg,X | References$ DamageShielded,OutOfSight,ExileEffect,ReflectDmg,X | RememberObjects$ Targeted | ImprintCards$ Self | AILogic$ Fog | SpellDescription$ The next time target attacking creature would deal combat damage to CARDNAME this turn, that creature deals that damage to itself instead. SVar:DamageShielded:Event$ DamageDone | CombatDamage$ True | ValidSource$ Card.IsRemembered | ValidTarget$ Card.IsImprinted | ReplaceWith$ ReflectDmg | Description$ The next time the targeted attacking creature would deal combat damage to Shield Dancer this turn, that creature deals that damage to itself instead. -SVar:ReflectDmg:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ Remembered | DamageSource$ ReplacedSource | NumDmg$ X | SubAbility$ ExileEffect +SVar:ReflectDmg:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ Remembered | DamageSource$ ReplacedSource | NumDmg$ X | SubAbility$ ExileEffect | References$ X SVar:X:ReplaceCount$DamageAmount SVar:OutOfSight:Mode$ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Creature.IsRemembered | Execute$ ExileEffect | Static$ True SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Exile diff --git a/res/cardsfolder/s/shinka_gatekeeper.txt b/res/cardsfolder/s/shinka_gatekeeper.txt index be0289606d2..a19f7b00727 100644 --- a/res/cardsfolder/s/shinka_gatekeeper.txt +++ b/res/cardsfolder/s/shinka_gatekeeper.txt @@ -4,7 +4,7 @@ Types:Creature Ogre Warrior Text:no text PT:3/2 T:Mode$ DamageDone | Execute$ TrigDamage | ValidTarget$ Card.Self | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME is dealt damage, it deals that much damage to you. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | NumDmg$ X | Defined$ You +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | NumDmg$ X | Defined$ You | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/shinka_gatekeeper.jpg diff --git a/res/cardsfolder/s/shocker.txt b/res/cardsfolder/s/shocker.txt index 259245547af..73e6fb255f4 100644 --- a/res/cardsfolder/s/shocker.txt +++ b/res/cardsfolder/s/shocker.txt @@ -5,7 +5,7 @@ Text:no text PT:1/1 T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | TriggerZones$ Battlefield | Execute$ TrigDiscard | TriggerDescription$ Whenever CARDNAME deals damage to a player, that player discards all the cards in his or her hand, then draws that many cards. SVar:TrigDiscard:AB$ Discard | Cost$ 0 | Defined$ TriggeredTarget | Mode$ Hand | RememberDiscarded$ True | SubAbility$ DBDraw | SpellDescription$ Discard hand -SVar:DBDraw:DB$ Draw | NumCards$ X | Defined$ TriggeredTarget | SubAbility$ DBCleanup | SpellDescription$ Draw that many cards +SVar:DBDraw:DB$ Draw | NumCards$ X | Defined$ TriggeredTarget | SubAbility$ DBCleanup | References$ X | SpellDescription$ Draw that many cards SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:Rarity:Rare diff --git a/res/cardsfolder/s/shower_of_coals.txt b/res/cardsfolder/s/shower_of_coals.txt index 177801bdcfc..07b8effd4f2 100644 --- a/res/cardsfolder/s/shower_of_coals.txt +++ b/res/cardsfolder/s/shower_of_coals.txt @@ -2,7 +2,7 @@ Name:Shower of Coals ManaCost:3 R R Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ 3 R R | NumDmg$ X | TargetMin$ 0 | TargetMax$ 3 | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | SpellDescription$ CARDNAME deals 2 damage to each of up to three target creatures and/or players. Threshold - CARDNAME deals 4 damage to each of those creatures and/or players instead if seven or more cards are in your graveyard. +A:SP$ DealDamage | Cost$ 3 R R | NumDmg$ X | TargetMin$ 0 | TargetMax$ 3 | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | References$ X | SpellDescription$ CARDNAME deals 2 damage to each of up to three target creatures and/or players. Threshold - CARDNAME deals 4 damage to each of those creatures and/or players instead if seven or more cards are in your graveyard. SVar:X:Count$Threshold.4.2 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/shower_of_coals.jpg diff --git a/res/cardsfolder/s/shrine_of_boundless_growth.txt b/res/cardsfolder/s/shrine_of_boundless_growth.txt index b27d5bbc408..2d730919a53 100644 --- a/res/cardsfolder/s/shrine_of_boundless_growth.txt +++ b/res/cardsfolder/s/shrine_of_boundless_growth.txt @@ -5,7 +5,7 @@ Text:no text T:Mode$ SpellCast | ValidCard$ Card.Green | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigAddCounter | TriggerDescription$ At the beginning of your upkeep or whenever you cast a green spell, put a charge counter on CARDNAME. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigAddCounter | Secondary$ True | TriggerDescription$ At the beginning of your upkeep or whenever you cast a green spell, put a charge counter on CARDNAME. SVar:TrigAddCounter:AB$PutCounter | Cost$ 0 | CounterType$ CHARGE | CounterNum$ 1 -A:AB$Mana | Cost$ T Sac<1/CARDNAME> | Produced$ 1 | Amount$ X | SpellDescription$ Add 1 to your mana pool for each charge counter on CARDNAME. +A:AB$Mana | Cost$ T Sac<1/CARDNAME> | Produced$ 1 | Amount$ X | References$ X | SpellDescription$ Add 1 to your mana pool for each charge counter on CARDNAME. SVar:X:Count$CardCounters.CHARGE SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/shrine_of_burning_rage.txt b/res/cardsfolder/s/shrine_of_burning_rage.txt index 9092bf528f8..e2d3329b44f 100644 --- a/res/cardsfolder/s/shrine_of_burning_rage.txt +++ b/res/cardsfolder/s/shrine_of_burning_rage.txt @@ -5,7 +5,7 @@ Text:no text T:Mode$ SpellCast | ValidCard$ Card.Red | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigAddCounter | TriggerDescription$ At the beginning of your upkeep or whenever you cast a red spell, put a charge counter on CARDNAME. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigAddCounter | Secondary$ True | TriggerDescription$ At the beginning of your upkeep or whenever you cast a red spell, put a charge counter on CARDNAME. SVar:TrigAddCounter:AB$PutCounter | Cost$ 0 | CounterType$ CHARGE | CounterNum$ 1 -A:AB$ DealDamage | Cost$ 3 T Sac<1/CARDNAME> | Tgt$TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to the number of charge counters on it to target creature or player. +A:AB$ DealDamage | Cost$ 3 T Sac<1/CARDNAME> | Tgt$TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to the number of charge counters on it to target creature or player. SVar:X:Count$CardCounters.CHARGE SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/shrine_of_burning_rage.jpg diff --git a/res/cardsfolder/s/shrine_of_limitless_power.txt b/res/cardsfolder/s/shrine_of_limitless_power.txt index 00f913d74a4..0c79b941415 100644 --- a/res/cardsfolder/s/shrine_of_limitless_power.txt +++ b/res/cardsfolder/s/shrine_of_limitless_power.txt @@ -5,7 +5,7 @@ Text:no text T:Mode$ SpellCast | ValidCard$ Card.Black | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigAddCounter | TriggerDescription$ At the beginning of your upkeep or whenever you cast a black spell, put a charge counter on CARDNAME. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigAddCounter | Secondary$ True | TriggerDescription$ At the beginning of your upkeep or whenever you cast a black spell, put a charge counter on CARDNAME. SVar:TrigAddCounter:AB$ PutCounter | Cost$ 0 | CounterType$ CHARGE | CounterNum$ 1 -A:AB$ Discard | Cost$ 4 T Sac<1/CARDNAME> | ValidTgts$ Player | TgtPrompt$ Select target player | NumCards$ X | Mode$ TgtChoose | SpellDescription$ Target player discards a card for each charge counter on CARDNAME. +A:AB$ Discard | Cost$ 4 T Sac<1/CARDNAME> | ValidTgts$ Player | TgtPrompt$ Select target player | NumCards$ X | Mode$ TgtChoose | References$ X | SpellDescription$ Target player discards a card for each charge counter on CARDNAME. SVar:X:Sacrificed$CardCounters.CHARGE SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/shrine_of_loyal_legions.txt b/res/cardsfolder/s/shrine_of_loyal_legions.txt index 6b54fc05caa..6a8a6a15170 100644 --- a/res/cardsfolder/s/shrine_of_loyal_legions.txt +++ b/res/cardsfolder/s/shrine_of_loyal_legions.txt @@ -5,7 +5,7 @@ Text:no text T:Mode$ SpellCast | ValidCard$ Card.White | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigAddCounter | TriggerDescription$ At the beginning of your upkeep or whenever you cast a white spell, put a charge counter on CARDNAME. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigAddCounter | Secondary$ True | TriggerDescription$ At the beginning of your upkeep or whenever you cast a white spell, put a charge counter on CARDNAME. SVar:TrigAddCounter:AB$PutCounter | Cost$ 0 | CounterType$ CHARGE | CounterNum$ 1 -A:AB$ Token | Cost$ 3 T Sac<1/CARDNAME> | TokenAmount$ X | TokenName$ Myr | TokenTypes$ Artifact,Creature,Myr | TokenColors$ Colorless | TokenPower$ 1 | TokenToughness$ 1 | TokenOwner$ You | SpellDescription$ Put a 1/1 colorless Myr artifact creature token onto the battlefield for each charge counter on CARDNAME. +A:AB$ Token | Cost$ 3 T Sac<1/CARDNAME> | TokenAmount$ X | TokenName$ Myr | TokenTypes$ Artifact,Creature,Myr | TokenColors$ Colorless | TokenPower$ 1 | TokenToughness$ 1 | TokenOwner$ You | References$ X | SpellDescription$ Put a 1/1 colorless Myr artifact creature token onto the battlefield for each charge counter on CARDNAME. SVar:X:Count$CardCounters.CHARGE SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/shrine_of_loyal_legions.jpg diff --git a/res/cardsfolder/s/shrine_of_piercing_vision.txt b/res/cardsfolder/s/shrine_of_piercing_vision.txt index 49c3f2e5d88..1283ba0fa45 100644 --- a/res/cardsfolder/s/shrine_of_piercing_vision.txt +++ b/res/cardsfolder/s/shrine_of_piercing_vision.txt @@ -5,7 +5,7 @@ Text:no text T:Mode$ SpellCast | ValidCard$ Card.Blue | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigAddCounter | TriggerDescription$ At the beginning of your upkeep or whenever you cast a blue spell, put a charge counter on CARDNAME. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigAddCounter | Secondary$ True | TriggerDescription$ At the beginning of your upkeep or whenever you cast a blue spell, put a charge counter on CARDNAME. SVar:TrigAddCounter:AB$PutCounter | Cost$ 0 | CounterType$ CHARGE | CounterNum$ 1 -A:AB$ Dig | Cost$ T Sac<1/CARDNAME> | DigNum$ X | SpellDescription$ Look at the top X cards of your library, where X is the number of charge counters on CARDNAME. Put one of those cards into your hand and the rest on the bottom of your library in any order. +A:AB$ Dig | Cost$ T Sac<1/CARDNAME> | DigNum$ X | References$ X | SpellDescription$ Look at the top X cards of your library, where X is the number of charge counters on CARDNAME. Put one of those cards into your hand and the rest on the bottom of your library in any order. SVar:X:Count$CardCounters.CHARGE SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/shriveling_rot.txt b/res/cardsfolder/s/shriveling_rot.txt index 2ff40935cca..07ff0a19d3d 100644 --- a/res/cardsfolder/s/shriveling_rot.txt +++ b/res/cardsfolder/s/shriveling_rot.txt @@ -8,7 +8,7 @@ A:SP$ Effect | Cost$ 4 B B B | Name$ Shriveling Rot Effect | Triggers$ Trig1,Tri SVar:Trig1:Mode$ DamageDone | ValidTarget$ Creature | Execute$ SVar1 | TriggerDescription$ Whenever a creature is dealt damage, destroy it. SVar:SVar1:AB$Destroy | Cost$ 0 | Defined$ TriggeredTarget SVar:Trig2:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature | Execute$ SVar2 | TriggerDescription$ Whenever a creature is put into a graveyard from the battlefield, that creature's controller loses life equal to its toughness. -SVar:SVar2:AB$LoseLife | Cost$ 0 | Defined$ TriggeredCardController | LifeAmount$ X +SVar:SVar2:AB$LoseLife | Cost$ 0 | Defined$ TriggeredCardController | LifeAmount$ X | References$ X SVar:X:TriggeredCard$CardToughness SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/s/sickening_dreams.txt b/res/cardsfolder/s/sickening_dreams.txt index da544f86272..e36a99be159 100644 --- a/res/cardsfolder/s/sickening_dreams.txt +++ b/res/cardsfolder/s/sickening_dreams.txt @@ -2,7 +2,7 @@ Name:Sickening Dreams ManaCost:1 B Types:Sorcery Text:no text -A:SP$ DamageAll | Cost$ 1 B Discard | NumDmg$ ChosenX | ValidCards$ Creature | ValidPlayers$ Each | ValidDescription$ each creature and each player. | SpellDescription$ CARDNAME deals X damage to each creature and each player. +A:SP$ DamageAll | Cost$ 1 B Discard | NumDmg$ ChosenX | ValidCards$ Creature | ValidPlayers$ Each | ValidDescription$ each creature and each player. | References$ X | SpellDescription$ CARDNAME deals X damage to each creature and each player. SVar:X:XChoice SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/sickening_shoal.txt b/res/cardsfolder/s/sickening_shoal.txt index 1daff74ff40..e01a9cddf1a 100644 --- a/res/cardsfolder/s/sickening_shoal.txt +++ b/res/cardsfolder/s/sickening_shoal.txt @@ -2,8 +2,8 @@ Name:Sickening Shoal ManaCost:X B B Types:Instant Arcane Text:no text -A:SP$ Pump | Cost$ X B B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | SpellDescription$ Target creature gets -X/-X until end of turn. -A:SP$ Pump | Cost$ ExileFromHand<1/Card.Black> | CostDesc$ You may exile a black card from your hand rather than pay Sickening Shoal's mana cost. | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -Y | NumDef$ -Y | IsCurse$ True | SpellDescription$ Target creature gets -X/-X until end of turn, where X is the exiled card's converted mana cost. +A:SP$ Pump | Cost$ X B B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | References$ X | SpellDescription$ Target creature gets -X/-X until end of turn. +A:SP$ Pump | Cost$ ExileFromHand<1/Card.Black> | CostDesc$ You may exile a black card from your hand rather than pay Sickening Shoal's mana cost. | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -Y | NumDef$ -Y | IsCurse$ True | References$ Y | SpellDescription$ Target creature gets -X/-X until end of turn, where X is the exiled card's converted mana cost. SVar:X:Count$xPaid SVar:Y:Exiled$CardManaCost SVar:RemAIDeck:True diff --git a/res/cardsfolder/s/sift_through_sands.txt b/res/cardsfolder/s/sift_through_sands.txt index 8058a66d607..b405ef75bd1 100644 --- a/res/cardsfolder/s/sift_through_sands.txt +++ b/res/cardsfolder/s/sift_through_sands.txt @@ -4,7 +4,7 @@ Types:Instant Arcane Text:no text A:SP$ Draw | Cost$ 1 U U | Defined$ You | NumCards$ 2 | SubAbility$ DBDiscard | SpellDescription$ Draw two cards, then discard a card. If you've cast a spell named Peer Through Depths and a spell named Reach Through Mists this turn, you may search your library for a card named The Unspeakable, put it onto the battlefield, then shuffle your library. SVar:DBDiscard:DB$Discard | Defined$ You | NumCards$ 1 | Mode$ TgtChoose | SubAbility$ DBUnspeakable -SVar:DBUnspeakable:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | ChangeType$ Card.namedThe Unspeakable | ChangeNum$ 1 | ConditionCheckSVar$ PeerReachTotal | ConditionSVarCompare$ EQ2 +SVar:DBUnspeakable:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | ChangeType$ Card.namedThe Unspeakable | ChangeNum$ 1 | ConditionCheckSVar$ PeerReachTotal | ConditionSVarCompare$ EQ2 | References$ Peer,Reach,PeerReachTotal SVar:PeerReachTotal:SVar$Peer/Plus.Reach #Max returns any number lower than or equally to the number following the period. SVar:Peer:Count$ThisTurnCast_Card.YouCtrl+namedPeer Through Depths/LimitMax.1 diff --git a/res/cardsfolder/s/silent_assassin.txt b/res/cardsfolder/s/silent_assassin.txt index 485551f757a..4d614ab3529 100644 --- a/res/cardsfolder/s/silent_assassin.txt +++ b/res/cardsfolder/s/silent_assassin.txt @@ -3,7 +3,7 @@ ManaCost:B B Types:Creature Human Mercenary Assassin Text:no text PT:2/1 -A:AB$ Effect | Cost$ 3 B | ValidTgts$ Creature.blocking | Name$ Assassin Tracking Effect | TgtPrompt$ Select target blocking creature | IsCurse$ True | RememberObjects$ Targeted | Triggers$ DelTrig | SVars$ TrigDestroy | SpellDescription$ Destroy target blocking creature at end of combat. +A:AB$ Effect | Cost$ 3 B | ValidTgts$ Creature.blocking | Name$ Assassin Tracking Effect | TgtPrompt$ Select target blocking creature | IsCurse$ True | RememberObjects$ Targeted | Triggers$ DelTrig | SVars$ TrigDestroy | References$ DelTrig,TrigDestroy | SpellDescription$ Destroy target blocking creature at end of combat. SVar:DelTrig:Mode$ Phase | Phase$ EndCombat | Execute$ TrigDestroy | TriggerDescription$ Destroy the blocking creature at end of combat. SVar:TrigDestroy:DB$ Destroy | Defined$ Remembered | SpellDescription$ Destroy the blocking creature. SVar:RemAIDeck:True diff --git a/res/cardsfolder/s/silent_chant_zubera.txt b/res/cardsfolder/s/silent_chant_zubera.txt index bf142a4b9d2..9f96a31806e 100644 --- a/res/cardsfolder/s/silent_chant_zubera.txt +++ b/res/cardsfolder/s/silent_chant_zubera.txt @@ -3,7 +3,7 @@ ManaCost:1 W Types:Creature Zubera Spirit Text:no text T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigGainLife | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME is put into a graveyard from the battlefield, you gain 2 life for each Zubera put into a graveyard from the battlefield this turn. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Card.Zubera/Double PT:1/2 SVar:Rarity:Common diff --git a/res/cardsfolder/s/silklash_spider.txt b/res/cardsfolder/s/silklash_spider.txt index 2a7e716bb1b..3007e8379b0 100644 --- a/res/cardsfolder/s/silklash_spider.txt +++ b/res/cardsfolder/s/silklash_spider.txt @@ -4,7 +4,7 @@ Types:Creature Spider Text:no text PT:2/7 K:Reach -A:AB$ DamageAll | Cost$ X G G | ValidCards$ Creature.withFlying | NumDmg$ X | ValidDescription$ each creature with flying. | SpellDescription$ CARDNAME deals X damage to each creature with flying. +A:AB$ DamageAll | Cost$ X G G | ValidCards$ Creature.withFlying | NumDmg$ X | ValidDescription$ each creature with flying. | References$ X | SpellDescription$ CARDNAME deals X damage to each creature with flying. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/s/silvergill_douser.txt b/res/cardsfolder/s/silvergill_douser.txt index 19400b79974..5f3cbfd62ff 100644 --- a/res/cardsfolder/s/silvergill_douser.txt +++ b/res/cardsfolder/s/silvergill_douser.txt @@ -3,7 +3,7 @@ ManaCost:1 U Types:Creature Merfolk Wizard Text:no text PT:1/1 -A:AB$ Pump | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | IsCurse$ True | NumAtt$ -X | SpellDescription$ Target creature gets -X/-0 until end of turn, where X is the number of Merfolk and/or Faeries you control +A:AB$ Pump | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | IsCurse$ True | NumAtt$ -X | References$ X | SpellDescription$ Target creature gets -X/-0 until end of turn, where X is the number of Merfolk and/or Faeries you control SVar:X:Count$Valid Merfolk.YouCtrl,Faerie.YouCtrl SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/s/simic_basilisk.txt b/res/cardsfolder/s/simic_basilisk.txt index 1010d9d20e4..9fbb3e56ecd 100644 --- a/res/cardsfolder/s/simic_basilisk.txt +++ b/res/cardsfolder/s/simic_basilisk.txt @@ -4,7 +4,7 @@ Types:Creature Basilisk Mutant Text:no text PT:0/0 K:Graft 3 -A:AB$ Animate | Cost$ 1 G | ValidTgts$ Creature.counters_GE1_P1P1 | TgtPrompt$ Select target creature with a +1/+1 counter on it | Triggers$ DestroyTrigger | sVars$ DelTrig,TrigDestroy | SpellDescription$ Until end of turn, target creature with a +1/+1 counter on it gains "Whenever this creature deals combat damage to a creature, destroy that creature at end of combat." +A:AB$ Animate | Cost$ 1 G | ValidTgts$ Creature.counters_GE1_P1P1 | TgtPrompt$ Select target creature with a +1/+1 counter on it | Triggers$ DestroyTrigger | sVars$ DelTrig,TrigDestroy | References$ DestroyTrigger,DelTrig,TrigDestroy | SpellDescription$ Until end of turn, target creature with a +1/+1 counter on it gains "Whenever this creature deals combat damage to a creature, destroy that creature at end of combat." SVar:DestroyTrigger:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Creature | CombatDamage$ True | TriggerZones$ Battlefield | DelayedTrigger$ DelTrig | TriggerDescription$ Whenever CARDNAME deals combat damage to a creature, destroy that creature at end of combat. SVar:DelTrig:Mode$ Phase | Phase$ EndCombat | ValidPlayer$ Player | Execute$ TrigDestroy | TriggerDescription$ Destroy damaged creature at end of combat. SVar:TrigDestroy:AB$Destroy | Cost$ 0 | Defined$ TriggeredTarget diff --git a/res/cardsfolder/s/simulacrum.txt b/res/cardsfolder/s/simulacrum.txt index c43c44f3d43..fb46d5ccd9c 100644 --- a/res/cardsfolder/s/simulacrum.txt +++ b/res/cardsfolder/s/simulacrum.txt @@ -2,8 +2,8 @@ Name:Simulacrum ManaCost:1 B Types:Instant Text:no text -A:SP$ GainLife | Cost$ 1 B | Defined$ You | LifeAmount$ X | SubAbility$ Dmg | SpellDescription$ You gain life equal to the damage dealt to you this turn. CARDNAME deals damage to target creature you control equal to the damage dealt to you this turn. -SVar:Dmg:DB$ DealDamage | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumDmg$ X +A:SP$ GainLife | Cost$ 1 B | Defined$ You | LifeAmount$ X | SubAbility$ Dmg | References$ X | SpellDescription$ You gain life equal to the damage dealt to you this turn. CARDNAME deals damage to target creature you control equal to the damage dealt to you this turn. +SVar:Dmg:DB$ DealDamage | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumDmg$ X | References$ X SVar:X:Count$YourDamageThisTurn SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/singe_mind_ogre.txt b/res/cardsfolder/s/singe_mind_ogre.txt index 14eedc5221b..f59afbfcdbd 100644 --- a/res/cardsfolder/s/singe_mind_ogre.txt +++ b/res/cardsfolder/s/singe_mind_ogre.txt @@ -5,7 +5,7 @@ Text:no text PT:3/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigReveal | TriggerDescription$ When CARDNAME enters the battlefield, target player reveals a card at random from his or her hand, then loses life equal to that card's converted mana cost. SVar:TrigReveal:AB$ Reveal | Cost$ 0 | Random$ True | RememberRevealed$ True | ValidTgts$ Player | TgtPrompt$ Select target player | SubAbility$ DBLose -SVar:DBLose:DB$LoseLife | LifeAmount$ X | Defined$ Targeted | SubAbility$ DBCleanup +SVar:DBLose:DB$LoseLife | LifeAmount$ X | Defined$ Targeted | SubAbility$ DBCleanup | References$ X SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:X:Remembered$CardManaCost SVar:Rarity:Common diff --git a/res/cardsfolder/s/sink_into_takenuma.txt b/res/cardsfolder/s/sink_into_takenuma.txt index 6252080fe62..de5c8e37efa 100644 --- a/res/cardsfolder/s/sink_into_takenuma.txt +++ b/res/cardsfolder/s/sink_into_takenuma.txt @@ -2,8 +2,8 @@ Name:Sink into Takenuma ManaCost:3 B Types:Sorcery Arcane Text:no text -A:SP$ ChangeZone | Cost$ 3 B | Origin$ Battlefield | Destination$ Hand | ChangeType$ Swamp.YouCtrl | ChangeNum$ X | Hidden$ True | RememberChanged$ True | SubAbility$ DBDiscard | SpellDescription$ Sweep - Return any number of Swamps you control to their owner's hand. Target player discards a card for each Swamp returned this way. -SVar:DBDiscard:DB$ Discard | ValidTgts$ Player | TgtPrompt$ Select target player | NumCards$ Y | Mode$ TgtChoose +A:SP$ ChangeZone | Cost$ 3 B | Origin$ Battlefield | Destination$ Hand | ChangeType$ Swamp.YouCtrl | ChangeNum$ X | Hidden$ True | RememberChanged$ True | SubAbility$ DBDiscard | References$ X | SpellDescription$ Sweep - Return any number of Swamps you control to their owner's hand. Target player discards a card for each Swamp returned this way. +SVar:DBDiscard:DB$ Discard | ValidTgts$ Player | TgtPrompt$ Select target player | NumCards$ Y | Mode$ TgtChoose | References$ Y SVar:X:Count$Valid Swamp.YouCtrl SVar:Y:Remembered$Amount SVar:RemAIDeck:True diff --git a/res/cardsfolder/s/skarrgan_skybreaker.txt b/res/cardsfolder/s/skarrgan_skybreaker.txt index f6b840808a8..8a1c0e2e16e 100644 --- a/res/cardsfolder/s/skarrgan_skybreaker.txt +++ b/res/cardsfolder/s/skarrgan_skybreaker.txt @@ -4,7 +4,7 @@ Types:Creature Giant Shaman Text:no text PT:3/3 K:Bloodthirst 3 -A:AB$ DealDamage | Cost$ 1 Sac<1/CARDNAME> | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to its power to target creature or player. +A:AB$ DealDamage | Cost$ 1 Sac<1/CARDNAME> | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to its power to target creature or player. SVar:X:Count$CardPower SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/skarrgan_skybreaker.jpg diff --git a/res/cardsfolder/s/skeletal_scrying.txt b/res/cardsfolder/s/skeletal_scrying.txt index bd40c97fe85..7ba1436ad9f 100644 --- a/res/cardsfolder/s/skeletal_scrying.txt +++ b/res/cardsfolder/s/skeletal_scrying.txt @@ -2,8 +2,8 @@ Name:Skeletal Scrying ManaCost:X B Types:Instant Text:no text -A:SP$ Draw | Cost$ X B ExileFromGrave | NumCards$ X | SubAbility$ DBLoseLife | SpellDescription$ You draw X cards and you lose X life. -SVar:DBLoseLife:DB$ LoseLife | LifeAmount$ X +A:SP$ Draw | Cost$ X B ExileFromGrave | NumCards$ X | SubAbility$ DBLoseLife | References$ X | SpellDescription$ You draw X cards and you lose X life. +SVar:DBLoseLife:DB$ LoseLife | LifeAmount$ X | References$ X SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/skirk_ridge_exhumer.txt b/res/cardsfolder/s/skirk_ridge_exhumer.txt index 8686f6db820..19a91a21ee2 100644 --- a/res/cardsfolder/s/skirk_ridge_exhumer.txt +++ b/res/cardsfolder/s/skirk_ridge_exhumer.txt @@ -3,7 +3,7 @@ ManaCost:1 B Types:Creature Zombie Spellshaper Text:no text PT:1/1 -A:AB$ Token | Cost$ B T Discard<1/Card> | TokenName$ Festering Goblin | TokenTypes$ Creature,Zombie,Goblin | TokenColors$ Black | TokenOwner$ You | TokenPower$ 1 | TokenToughness$ 1 | TokenAmount$ 1 | TokenTriggers$ TriggerJunior | TokenSVars$ TrigTokenPump | SpellDescription$ Put a 1/1 black Zombie Goblin creature token named Festering Goblin onto the battlefield. It has "When Festering Goblin is put into a graveyard from the battlefield, target creature gets -1/-1 until end of turn." +A:AB$ Token | Cost$ B T Discard<1/Card> | TokenName$ Festering Goblin | TokenTypes$ Creature,Zombie,Goblin | TokenColors$ Black | TokenOwner$ You | TokenPower$ 1 | TokenToughness$ 1 | TokenAmount$ 1 | TokenTriggers$ TriggerJunior | TokenSVars$ TrigTokenPump | References$ TriggerJunior,TrigTokenPump | SpellDescription$ Put a 1/1 black Zombie Goblin creature token named Festering Goblin onto the battlefield. It has "When Festering Goblin is put into a graveyard from the battlefield, target creature gets -1/-1 until end of turn." SVar:TriggerJunior:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigTokenPump | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME is put into a graveyard from the battlefield, target creature gets -1/-1 until end of turn. SVar:TrigTokenPump:AB$Pump | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -1 | NumDef$ -1 | IsCurse$ True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/skirsdag_high_priest.txt b/res/cardsfolder/s/skirsdag_high_priest.txt index 7349376336a..ef7c0c4827e 100644 --- a/res/cardsfolder/s/skirsdag_high_priest.txt +++ b/res/cardsfolder/s/skirsdag_high_priest.txt @@ -3,7 +3,7 @@ ManaCost:1 B Types:Creature Human Cleric Text:no text PT:1/2 -A:AB$ Token | Cost$ T tapXType<2/Creature> | CheckSVar$ Morbid | SVarCompare$ GE1 | TokenImage$ B 5 5 Demon | TokenAmount$ 1 | TokenName$ Demon | TokenTypes$ Creature,Demon | TokenOwner$ You | TokenColors$ Black | TokenPower$ 5 | TokenToughness$ 5 | TokenKeywords$ Flying | CostDesc$ Morbid - Tap, Tap two untapped creatures you control: | SpellDescription$ Put a 5/5 black Demon creature token with flying onto the battlefield. Activate this ability only if a creature died this turn. +A:AB$ Token | Cost$ T tapXType<2/Creature> | CheckSVar$ Morbid | SVarCompare$ GE1 | TokenImage$ B 5 5 Demon | TokenAmount$ 1 | TokenName$ Demon | TokenTypes$ Creature,Demon | TokenOwner$ You | TokenColors$ Black | TokenPower$ 5 | TokenToughness$ 5 | TokenKeywords$ Flying | CostDesc$ Morbid - Tap, Tap two untapped creatures you control: | References$ Morbid | SpellDescription$ Put a 5/5 black Demon creature token with flying onto the battlefield. Activate this ability only if a creature died this turn. SVar:Morbid:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/skirsdag_high_priest.jpg diff --git a/res/cardsfolder/s/skred.txt b/res/cardsfolder/s/skred.txt index e369514319b..8717d7edd6c 100644 --- a/res/cardsfolder/s/skred.txt +++ b/res/cardsfolder/s/skred.txt @@ -2,7 +2,7 @@ Name:Skred ManaCost:R Types:Instant Text:no text -A:SP$ DealDamage | Cost$ R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SpellDescription$ Skred deals damage to target creature equal to the number of snow permanents you control. +A:SP$ DealDamage | Cost$ R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | References$ X | SpellDescription$ Skred deals damage to target creature equal to the number of snow permanents you control. SVar:X:Count$TypeYouCtrl.Snow SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/s/skull_collector.txt b/res/cardsfolder/s/skull_collector.txt index 543fccb5861..99760c805d7 100644 --- a/res/cardsfolder/s/skull_collector.txt +++ b/res/cardsfolder/s/skull_collector.txt @@ -5,7 +5,7 @@ Text:no text PT:3/3 A:AB$ Regenerate | Cost$ 1 B | SpellDescription$ Regenerate CARDNAME. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigBounce | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, return a black creature you control to its owner's hand. -SVar:TrigBounce:AB$ChangeZone | Cost$ 0 | Origin$ Battlefield | Destination$ Hand | TgtPrompt$ Choose target black creature | Mandatory$ True | Hidden$ True | ValidTgts$ Creature.Black+YouCtrl +SVar:TrigBounce:AB$ChangeZone | Cost$ 0 | Origin$ Battlefield | Destination$ Hand | Mandatory$ True | Hidden$ True | ChangeType$ Creature.Black+YouCtrl SVar:RemAIDeck:True SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/skull_collector.jpg diff --git a/res/cardsfolder/s/skullcage.txt b/res/cardsfolder/s/skullcage.txt index 9b6540cb919..2809e22dac8 100644 --- a/res/cardsfolder/s/skullcage.txt +++ b/res/cardsfolder/s/skullcage.txt @@ -3,8 +3,8 @@ ManaCost:4 Types:Artifact Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Opponent | Execute$ TrigDamage | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of each opponent's upkeep, CARDNAME deals 2 damage to that player unless he or she has exactly three or exactly four cards in hand. -SVar:TrigDamage:AB$ DealDamage | Cost$ 0 | NumDmg$ 2 | Defined$ Opponent | ConditionCheckSVar$ X | ConditionSVarCompare$ LT3 | SubAbility$ DBDamage -SVar:DBDamage:DB$ DealDamage | NumDmg$ 2 | Defined$ Opponent | ConditionCheckSVar$ X | ConditionSVarCompare$ GT4 +SVar:TrigDamage:AB$ DealDamage | Cost$ 0 | NumDmg$ 2 | Defined$ Opponent | ConditionCheckSVar$ X | ConditionSVarCompare$ LT3 | SubAbility$ DBDamage | References$ X +SVar:DBDamage:DB$ DealDamage | NumDmg$ 2 | Defined$ Opponent | ConditionCheckSVar$ X | ConditionSVarCompare$ GT4 | References$ X SVar:X:Count$InOppHand SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/skullcage.jpg diff --git a/res/cardsfolder/s/skullmane_baku.txt b/res/cardsfolder/s/skullmane_baku.txt index 21db0ba37db..93dc37c8c46 100644 --- a/res/cardsfolder/s/skullmane_baku.txt +++ b/res/cardsfolder/s/skullmane_baku.txt @@ -6,7 +6,7 @@ PT:2/1 T:Mode$ SpellCast | ValidCard$ Spirit,Arcane | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ Whenever you cast a Spirit or Arcane spell, you may put a ki counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ KI | CounterNum$ 1 #ChosenX SVar created by Cost payment -A:AB$ Pump | Cost$ 1 SubCounter | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -ChosenX | NumDef$ -ChosenX | SpellDescription$ Target creature gets -X/-X until end of turn. +A:AB$ Pump | Cost$ 1 SubCounter | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -ChosenX | NumDef$ -ChosenX | References$ X | SpellDescription$ Target creature gets -X/-X until end of turn. SVar:X:XChoice SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/s/skullmulcher.txt b/res/cardsfolder/s/skullmulcher.txt index 893c95530dc..b623e8f6118 100644 --- a/res/cardsfolder/s/skullmulcher.txt +++ b/res/cardsfolder/s/skullmulcher.txt @@ -5,7 +5,7 @@ Text:no text PT:3/3 K:Devour:1 T:Mode$ ChangesZone | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDraw | TriggerDescription$ When CARDNAME enters the battlefield, draw a card for each creature it devoured. -SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ X +SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ X | References$ X SVar:X:Count$Devoured Card SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/skullmulcher.jpg diff --git a/res/cardsfolder/s/skyscribing.txt b/res/cardsfolder/s/skyscribing.txt index 111b8437612..d22a4630fad 100644 --- a/res/cardsfolder/s/skyscribing.txt +++ b/res/cardsfolder/s/skyscribing.txt @@ -2,7 +2,7 @@ Name:Skyscribing ManaCost:X U U Types:Sorcery Text:no text -A:SP$ Draw | Cost$ X U U | Defined$ Each | NumCards$ X | SpellDescription$ Each player draws X cards. +A:SP$ Draw | Cost$ X U U | Defined$ Each | NumCards$ X | References$ X | SpellDescription$ Each player draws X cards. A:AB$ Draw | Cost$ 2 U | NumCards$ 1 | Defined$ Each | ActivationZone$ Hand | ActivationLimit$ 1 | PlayerTurn$ True | ActivationPhases$ Upkeep | PrecostDesc$ Forecast - | CostDesc$ 2 U Reveal CARDNAME from your hand: | SpellDescription$ Each player draws a card. (Activate this ability only during your upkeep and only once each turn.) SVar:X:Count$xPaid SVar:RemAIDeck:True diff --git a/res/cardsfolder/s/slate_of_ancestry.txt b/res/cardsfolder/s/slate_of_ancestry.txt index 9753d35e595..2a21626606d 100644 --- a/res/cardsfolder/s/slate_of_ancestry.txt +++ b/res/cardsfolder/s/slate_of_ancestry.txt @@ -2,7 +2,7 @@ Name:Slate of Ancestry ManaCost:4 Types:Artifact Text:no text -A:AB$ Draw | Cost$ 4 T Discard<1/Hand> | NumCards$ X | SpellDescription$ Draw a card for each creature you control. +A:AB$ Draw | Cost$ 4 T Discard<1/Hand> | NumCards$ X | References$ X | SpellDescription$ Draw a card for each creature you control. SVar:X:Count$TypeYouCtrl.Creature SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/s/slithermuse.txt b/res/cardsfolder/s/slithermuse.txt index 881f0ed3c1a..1c918f3e1ad 100644 --- a/res/cardsfolder/s/slithermuse.txt +++ b/res/cardsfolder/s/slithermuse.txt @@ -5,9 +5,9 @@ Text:no text PT:3/3 K:Evoke:3 U T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Any | Execute$ TrigDraw | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME leaves the battlefield, choose an opponent. If that player has more cards in hand than you, draw cards equal to the difference. -SVar:TrigDraw:DB$Draw | Cost$ 0 | NumCards$ X | Defined$ You | IsPresent$ Card.YouDontCtrl | PresentCompare$ GTY | PresentZone$ Hand +SVar:TrigDraw:DB$ Draw | Cost$ 0 | NumCards$ X | References$ X,Y | Defined$ You | IsPresent$ Card.YouDontCtrl | PresentCompare$ GTY | PresentZone$ Hand T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self+evoked | Execute$ TrigSac | Secondary$ True | TriggerDescription$ When CARDNAME enters the battlefield, if you cast it by it's evoke cost, sacrifice it. -SVar:TrigSac:AB$Sacrifice | Cost$ 0 +SVar:TrigSac:AB$ Sacrifice | Cost$ 0 SVar:Y:Count$InYourHand SVar:X:Count$InOppHand/Minus.Y SVar:Rarity:Rare diff --git a/res/cardsfolder/s/smokestack.txt b/res/cardsfolder/s/smokestack.txt index 9ea8eb285ef..49ac178b1c2 100644 --- a/res/cardsfolder/s/smokestack.txt +++ b/res/cardsfolder/s/smokestack.txt @@ -5,9 +5,9 @@ Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSacrifice | TriggerDescription$ At the beginning of your upkeep . T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Opponent | TriggerZones$ Battlefield | Execute$ TriggerSacrifice | TriggerDescription$ that player sacrifices a Permanent for each soot counter on CARDNAME T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, you may put a soot counter on CARDNAME. -SVar:TrigSacrifice:AB$Sacrifice | Cost$ 0 | Amount$ X | SacValid$ Permanent | SacMessage$ Permanent -SVar:TriggerSacrifice:AB$Sacrifice | Cost$ 0 | Defined$ Opponent | Amount$ X | SacValid$ Permanent | SacMessage$ Permanent -SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ SOOT | CounterNum$ 1 +SVar:TrigSacrifice:AB$ Sacrifice | Cost$ 0 | Amount$ X | References$ X | SacValid$ Permanent | SacMessage$ Permanent +SVar:TriggerSacrifice:AB$ Sacrifice | Cost$ 0 | Defined$ Opponent | Amount$ X | References$ X | SacValid$ Permanent | SacMessage$ Permanent +SVar:TrigPutCounter:AB$ PutCounter | Cost$ 0 | Defined$ Self | CounterType$ SOOT | CounterNum$ 1 SVar:X:Count$CardCounters.SOOT SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/snake_basket.txt b/res/cardsfolder/s/snake_basket.txt index 9bfe994796a..35bb1a1e566 100644 --- a/res/cardsfolder/s/snake_basket.txt +++ b/res/cardsfolder/s/snake_basket.txt @@ -2,7 +2,7 @@ Name:Snake Basket ManaCost:4 Types:Artifact Text:no text -A:AB$ Token | Cost$ X Sac<1/CARDNAME> | TokenOwner$ You | TokenAmount$ X | TokenName$ Snake | TokenTypes$ Creature,Snake | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | SorcerySpeed$ True | SpellDescription$ Put X 1/1 green Snake creature tokens onto the battlefield. Activate this ability only any time you could cast a sorcery. +A:AB$ Token | Cost$ X Sac<1/CARDNAME> | TokenOwner$ You | TokenAmount$ X | References$ X | TokenName$ Snake | TokenTypes$ Creature,Snake | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | SorcerySpeed$ True | SpellDescription$ Put X 1/1 green Snake creature tokens onto the battlefield. Activate this ability only any time you could cast a sorcery. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/s/sokenzan_renegade.txt b/res/cardsfolder/s/sokenzan_renegade.txt index 487f42cfa76..3bd462be339 100644 --- a/res/cardsfolder/s/sokenzan_renegade.txt +++ b/res/cardsfolder/s/sokenzan_renegade.txt @@ -1,16 +1,16 @@ -Name:Sokenzan Renegade -ManaCost:2 R -Types:Creature Ogre Samurai Mercenary -Text:no text -PT:3/3 -K:Bushido 1 -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigGainControl | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, if a player has more cards in hand than each other player, the player who has the most cards in hand gains control of CARDNAME. -SVar:TrigGainControl:AB$ GainControl | Cost$ 0 | Defined$ Self | NewController$ Opponent | ConditionCheckSVar$ SokenzanX | ConditionSVarCompare$ LTSokenzanY -SVar:SokenzanX:Count$InYourHand -SVar:SokenzanY:Count$InOppHand -SVar:RemAIDeck:True -SVar:Rarity:Uncommon -SVar:Picture:http://www.wizards.com/global/images/magic/general/sokenzan_renegade.jpg -SetInfo:SOK|Uncommon|http://magiccards.info/scans/en/sok/114.jpg -Oracle:Bushido 1 (When this blocks or becomes blocked, it gets +1/+1 until end of turn.)\nAt the beginning of your upkeep, if a player has more cards in hand than each other player, the player who has the most cards in hand gains control of Sokenzan Renegade. +Name:Sokenzan Renegade +ManaCost:2 R +Types:Creature Ogre Samurai Mercenary +Text:no text +PT:3/3 +K:Bushido 1 +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigGainControl | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, if a player has more cards in hand than each other player, the player who has the most cards in hand gains control of CARDNAME. +SVar:TrigGainControl:AB$ GainControl | Cost$ 0 | Defined$ Self | NewController$ Opponent | ConditionCheckSVar$ SokenzanX | References$ SokenzanX,SokenzanY | ConditionSVarCompare$ LTSokenzanY +SVar:SokenzanX:Count$InYourHand +SVar:SokenzanY:Count$InOppHand +SVar:RemAIDeck:True +SVar:Rarity:Uncommon +SVar:Picture:http://www.wizards.com/global/images/magic/general/sokenzan_renegade.jpg +SetInfo:SOK|Uncommon|http://magiccards.info/scans/en/sok/114.jpg +Oracle:Bushido 1 (When this blocks or becomes blocked, it gets +1/+1 until end of turn.)\nAt the beginning of your upkeep, if a player has more cards in hand than each other player, the player who has the most cards in hand gains control of Sokenzan Renegade. End \ No newline at end of file diff --git a/res/cardsfolder/s/sokenzan_spellblade.txt b/res/cardsfolder/s/sokenzan_spellblade.txt index 7b7c13e3d3d..9e962c3abff 100644 --- a/res/cardsfolder/s/sokenzan_spellblade.txt +++ b/res/cardsfolder/s/sokenzan_spellblade.txt @@ -4,7 +4,7 @@ Types:Creature Ogre Samurai Shaman Text:no text PT:2/3 K:Bushido 1 -A:AB$ Pump | Cost$ 1 R | Defined$ Self | NumAtt$ +X | SpellDescription$ CARDNAME gets +X/+0 until end of turn, where X is the number of cards in your hand. +A:AB$ Pump | Cost$ 1 R | Defined$ Self | NumAtt$ +X | References$ X | SpellDescription$ CARDNAME gets +X/+0 until end of turn, where X is the number of cards in your hand. SVar:X:Count$InYourHand SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/sokenzan_spellblade.jpg diff --git a/res/cardsfolder/s/solarion.txt b/res/cardsfolder/s/solarion.txt index 71313d228c2..d0c030776e6 100644 --- a/res/cardsfolder/s/solarion.txt +++ b/res/cardsfolder/s/solarion.txt @@ -4,7 +4,7 @@ Types:Artifact Creature Construct PT:0/0 Text:no text K:Sunburst -A:AB$PutCounter | Cost$ T | Defined$ Self | CounterType$ P1P1 | CounterNum$ X | SpellDescription$ Double the number of +1/+1 counters on CARDNAME. +A:AB$ PutCounter | Cost$ T | Defined$ Self | CounterType$ P1P1 | CounterNum$ X | References$ X | SpellDescription$ Double the number of +1/+1 counters on CARDNAME. SVar:X:Count$CardCounters.P1P1 SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/s/soltari_guerrillas.txt b/res/cardsfolder/s/soltari_guerrillas.txt index 2644f2147d8..363e9edfdae 100644 --- a/res/cardsfolder/s/soltari_guerrillas.txt +++ b/res/cardsfolder/s/soltari_guerrillas.txt @@ -4,9 +4,9 @@ Types:Creature Soltari Soldier Text:no text PT:3/2 K:Shadow -A:AB$ Effect | Cost$ 0 | Name$ Soltari Guerrillas Effect | ReplacementEffects$ EventGuerrillasDamageDone | SVars$ DamageGuerrillasCreature,GuerrillasX | ValidTgts$ Creature | TgtPrompt$ Select target creature | RememberObjects$ Targeted | ImprintCards$ Self | SpellDescription$ The next time CARDNAME would deal combat damage to an opponent this turn, it deals that damage to target creature instead. +A:AB$ Effect | Cost$ 0 | Name$ Soltari Guerrillas Effect | ReplacementEffects$ EventGuerrillasDamageDone | SVars$ DamageGuerrillasCreature,GuerrillasX | References$ EventGuerrillasDamageDone,DamageGuerrillasCreature,GuerrillasX | ValidTgts$ Creature | TgtPrompt$ Select target creature | RememberObjects$ Targeted | ImprintCards$ Self | SpellDescription$ The next time CARDNAME would deal combat damage to an opponent this turn, it deals that damage to target creature instead. SVar:EventGuerrillasDamageDone:Event$ DamageDone | ValidSource$ Card.IsImprinted | ValidTarget$ Opponent | ReplaceWith$ DamageGuerrillasCreature | IsCombat$ True | Description$ The next time Soltari Guerrillas would deal combat damage to an opponent this turn, it deals that damage to target creature instead. -SVar:DamageGuerrillasCreature:AB$ DealDamage | Cost$ 0 | CombatDamage$ True | NumDmg$ GuerrillasX | Defined$ Remembered | DamageSource$ Imprinted +SVar:DamageGuerrillasCreature:AB$ DealDamage | Cost$ 0 | CombatDamage$ True | NumDmg$ GuerrillasX | References$ GuerrillasX | Defined$ Remembered | DamageSource$ Imprinted SVar:GuerrillasX:ReplaceCount$DamageAmount SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/s/songs_of_the_damned.txt b/res/cardsfolder/s/songs_of_the_damned.txt index 2dae1800e1c..df976d52f1c 100644 --- a/res/cardsfolder/s/songs_of_the_damned.txt +++ b/res/cardsfolder/s/songs_of_the_damned.txt @@ -2,7 +2,7 @@ Name:Songs of the Damned ManaCost:B Types:Instant Text:no text -A:SP$ Mana | Cost$ B | Produced$ B | Amount$ X | SpellDescription$ Add B to your mana pool for each creature card in your graveyard. +A:SP$ Mana | Cost$ B | Produced$ B | Amount$ X | References$ X | SpellDescription$ Add B to your mana pool for each creature card in your graveyard. SVar:X:Count$TypeInYourYard.Creature SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/s/soothsaying.txt b/res/cardsfolder/s/soothsaying.txt index 0db2d7e0752..70bac11b00c 100644 --- a/res/cardsfolder/s/soothsaying.txt +++ b/res/cardsfolder/s/soothsaying.txt @@ -3,7 +3,7 @@ ManaCost:U Types:Enchantment Text:no text A:AB$ Shuffle | Cost$ 3 U U | Defined$ You | SpellDescription$ Shuffle your library. -A:AB$ RearrangeTopOfLibrary | Cost$ X | Defined$ You | NumCards$ X | SpellDescription$ Look at the top X cards of your library, then put them back in any order. +A:AB$ RearrangeTopOfLibrary | Cost$ X | Defined$ You | NumCards$ X | References$ X | SpellDescription$ Look at the top X cards of your library, then put them back in any order. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/sophic_centaur.txt b/res/cardsfolder/s/sophic_centaur.txt index 47036d750e8..a9176236c03 100644 --- a/res/cardsfolder/s/sophic_centaur.txt +++ b/res/cardsfolder/s/sophic_centaur.txt @@ -3,7 +3,7 @@ ManaCost:3 G Types:Creature Centaur Spellshaper Text:no text PT:1/1 -A:AB$ GainLife | Cost$ 2 G G T Discard<1/Card> | LifeAmount$ X | SpellDescription$ You gain 2 life for each card in your hand. +A:AB$ GainLife | Cost$ 2 G G T Discard<1/Card> | LifeAmount$ X | References$ X | SpellDescription$ You gain 2 life for each card in your hand. SVar:X:Count$CardsInYourHand/Times.2 SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/soul_link.txt b/res/cardsfolder/s/soul_link.txt index 60b87428a6d..864154088b2 100644 --- a/res/cardsfolder/s/soul_link.txt +++ b/res/cardsfolder/s/soul_link.txt @@ -6,7 +6,7 @@ K:Enchant creature A:SP$ Attach | Cost$ 1 W B | ValidTgts$ Creature | AILogic$ Pump T:Mode$ DamageDone | ValidSource$ Card.AttachedBy | Execute$ TrigGain | TriggerZones$ Battlefield | TriggerDescription$ Whenever enchanted creature deals damage, you gain that much life. T:Mode$ DamageDone | ValidTarget$ Card.AttachedBy | Execute$ TrigGain | TriggerZones$ Battlefield | TriggerDescription$ Whenever enchanted creature is dealt damage, you gain that much life. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGain:AB$ GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/soul_link.jpg diff --git a/res/cardsfolder/s/soul_reap.txt b/res/cardsfolder/s/soul_reap.txt index cf7a55f7324..d1d3bc01627 100644 --- a/res/cardsfolder/s/soul_reap.txt +++ b/res/cardsfolder/s/soul_reap.txt @@ -3,7 +3,7 @@ ManaCost:1 B Types:Sorcery Text:no text A:SP$Destroy | Cost$ 1 B | ValidTgts$ Creature.nonGreen | TgtPrompt$ Select target nongreen creature. | SubAbility$ DBLoseLife | SpellDescription$ Destroy target nongreen creature. Its controller loses 3 life if you've cast another black spell this turn. -SVar:DBLoseLife:DB$LoseLife | Defined$ TargetedController | LifeAmount$ 3 | ConditionCheckSVar$ X +SVar:DBLoseLife:DB$ LoseLife | Defined$ TargetedController | LifeAmount$ 3 | ConditionCheckSVar$ X | References$ X SVar:X:Count$ThisTurnCast_Card.Black+Other+YouCtrl SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/soul_reap.jpg diff --git a/res/cardsfolder/s/souls_grace.txt b/res/cardsfolder/s/souls_grace.txt index c8d66039fcb..88063696249 100644 --- a/res/cardsfolder/s/souls_grace.txt +++ b/res/cardsfolder/s/souls_grace.txt @@ -5,6 +5,7 @@ Text:no text A:SP$ Pump | Cost$ 1 W | ValidTgts$ Creature | TgtPrompt$ Select target creature | SubAbility$ DBGainLife | SpellDescription$ You gain life equal to target creature's power. SVar:DBGainLife:DB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X SVar:X:Targeted$CardPower +SVar:RemAIDeck:True SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/souls_grace.jpg SetInfo:ALA|Common|http://magiccards.info/scans/en/ala/28.jpg diff --git a/res/cardsfolder/s/soulshriek.txt b/res/cardsfolder/s/soulshriek.txt index 8df1f48127b..0089d0f4412 100644 --- a/res/cardsfolder/s/soulshriek.txt +++ b/res/cardsfolder/s/soulshriek.txt @@ -2,7 +2,7 @@ Name:Soulshriek ManaCost:B Types:Instant Text:no text -A:SP$ Pump | Cost$ B | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumAtt$ X | KW$ HIDDEN At the beginning of the end step, sacrifice CARDNAME. | SpellDescription$ Target creature you control gets +X/+0 until end of turn, where X is the number of creature cards in your graveyard. Sacrifice that creature at the beginning of the next end step. +A:SP$ Pump | Cost$ B | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumAtt$ X | References$ X | KW$ HIDDEN At the beginning of the end step, sacrifice CARDNAME. | SpellDescription$ Target creature you control gets +X/+0 until end of turn, where X is the number of creature cards in your graveyard. Sacrifice that creature at the beginning of the next end step. SVar:X:Count$TypeInYourYard.Creature SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/s/sparksmith.txt b/res/cardsfolder/s/sparksmith.txt index be813877c49..3c4795f618e 100644 --- a/res/cardsfolder/s/sparksmith.txt +++ b/res/cardsfolder/s/sparksmith.txt @@ -3,8 +3,8 @@ ManaCost:1 R Types:Creature Goblin Text:no text PT:1/1 -A:AB$ DealDamage | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DBDealDamage | SpellDescription$ CARDNAME deals X damage to target creature and X damage to you, where X is the number of Goblins on the battlefield. -SVar:DBDealDamage:DB$DealDamage | Defined$ You | NumDmg$ X +A:AB$ DealDamage | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | References$ X | SubAbility$ DBDealDamage | SpellDescription$ CARDNAME deals X damage to target creature and X damage to you, where X is the number of Goblins on the battlefield. +SVar:DBDealDamage:DB$ DealDamage | Defined$ You | NumDmg$ X | References$ X SVar:X:Count$TypeOnBattlefield.Goblin SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/s/sparring_golem.txt b/res/cardsfolder/s/sparring_golem.txt index b3273cc3f9d..5b4acf40a59 100644 --- a/res/cardsfolder/s/sparring_golem.txt +++ b/res/cardsfolder/s/sparring_golem.txt @@ -4,7 +4,7 @@ Types:Artifact Creature Golem Text:no text PT:2/2 T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME becomes blocked, it gets +1/+1 until end of turn for each creature blocking it. -SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ +X | NumDef$ +X +SVar:TrigPump:AB$ Pump | Cost$ 0 | Defined$ Self | NumAtt$ +X | NumDef$ +X | References$ X SVar:X:TriggerCount$NumBlockers SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/sparring_golem.jpg diff --git a/res/cardsfolder/s/spell_contortion.txt b/res/cardsfolder/s/spell_contortion.txt index 84732bf107e..ca762545a0d 100644 --- a/res/cardsfolder/s/spell_contortion.txt +++ b/res/cardsfolder/s/spell_contortion.txt @@ -4,7 +4,7 @@ Types:Instant Text:no text A:SP$ Counter | Cost$ 2 U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ 2 | SubAbility$ DBDraw | SpellDescription$ Counter target spell unless its controller pays 2. Draw a card for each time CARDNAME was kicked. K:Multikicker 1 U -SVar:DBDraw:DB$Draw | NumCards$ X +SVar:DBDraw:DB$ Draw | NumCards$ X | References$ X SVar:X:Count$TimesKicked SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/spell_syphon.txt b/res/cardsfolder/s/spell_syphon.txt index 73c25a475e7..c0cc0393c26 100644 --- a/res/cardsfolder/s/spell_syphon.txt +++ b/res/cardsfolder/s/spell_syphon.txt @@ -2,7 +2,7 @@ Name:Spell Syphon ManaCost:1 U Types:Instant Text:no text -A:SP$ Counter | Cost$ 1 U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | SpellDescription$ Counter target spell unless its controller pays 1 for each blue permanent you control. +A:SP$ Counter | Cost$ 1 U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | References$ X | SpellDescription$ Counter target spell unless its controller pays 1 for each blue permanent you control. SVar:X:Count$BlueYouCtrl SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/s/spellstutter_sprite.txt b/res/cardsfolder/s/spellstutter_sprite.txt index 8b6d11c2080..d84dc1ec851 100644 --- a/res/cardsfolder/s/spellstutter_sprite.txt +++ b/res/cardsfolder/s/spellstutter_sprite.txt @@ -6,7 +6,7 @@ PT:1/1 K:Flash K:Flying T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigCounter | TriggerDescription$ When CARDNAME enters the battlefield, counter target spell with converted mana cost X or less, where X is the number of Faeries you control. -SVar:TrigCounter:DB$Counter | Cost$ 0 | TargetType$ Spell | ValidTgts$ Card.cmcLEX | TgtPrompt$ Select target spell with CMC less than or equal to the number of Faeries you control +SVar:TrigCounter:DB$ Counter | Cost$ 0 | TargetType$ Spell | ValidTgts$ Card.cmcLEX | References$ X | TgtPrompt$ Select target spell with CMC less than or equal to the number of Faeries you control SVar:X:Count$Valid Faerie.YouCtrl SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/spellstutter_sprite.jpg diff --git a/res/cardsfolder/s/sphinx_bone_wand.txt b/res/cardsfolder/s/sphinx_bone_wand.txt index 00ff47f42f6..eb36da6444a 100644 --- a/res/cardsfolder/s/sphinx_bone_wand.txt +++ b/res/cardsfolder/s/sphinx_bone_wand.txt @@ -3,8 +3,8 @@ ManaCost:7 Types:Artifact Text:no text T:Mode$ SpellCast | ValidCard$ Instant,Sorcery | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | OptionalDecider$ You | TriggerDescription$ Whenever you cast an instant or sorcery spell, you may put a charge counter on CARDNAME. If you do, CARDNAME deals damage equal to the number of charge counters on it to target creature or player. -SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ CHARGE | CounterNum$ 1 | SubAbility$ DBDealDamage -SVar:DBDealDamage:DB$DealDamage | Tgt$ TgtCP | NumDmg$ X +SVar:TrigPutCounter:AB$ PutCounter | Cost$ 0 | Defined$ Self | CounterType$ CHARGE | CounterNum$ 1 | SubAbility$ DBDealDamage +SVar:DBDealDamage:DB$ DealDamage | Tgt$ TgtCP | NumDmg$ X | References$ X SVar:X:Count$CardCounters.CHARGE SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/sphinx_bone_wand.jpg diff --git a/res/cardsfolder/s/spider_spawning.txt b/res/cardsfolder/s/spider_spawning.txt index ffe88bc14e2..d666b46fa3e 100644 --- a/res/cardsfolder/s/spider_spawning.txt +++ b/res/cardsfolder/s/spider_spawning.txt @@ -3,7 +3,7 @@ ManaCost:4 G Types:Sorcery Text:no text K:Flashback 6 B -A:SP$ Token | Cost$ 4 G | TokenImage$ G 1 2 Spider | TokenAmount$ X | TokenName$ Spider | TokenTypes$ Creature,Spider | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 2 | TokenKeywords$ Reach | SpellDescription$ Put a 1/2 green Spider creature token with reach onto the battlefield for each creature card in your graveyard. +A:SP$ Token | Cost$ 4 G | TokenImage$ G 1 2 Spider | TokenAmount$ X | References$ X | TokenName$ Spider | TokenTypes$ Creature,Spider | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 2 | TokenKeywords$ Reach | SpellDescription$ Put a 1/2 green Spider creature token with reach onto the battlefield for each creature card in your graveyard. SVar:X:Count$TypeInYourYard.Creature SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/spider_spawning.jpg diff --git a/res/cardsfolder/s/spikeshot_elder.txt b/res/cardsfolder/s/spikeshot_elder.txt index 5de99a3f63d..ea4e851edc9 100644 --- a/res/cardsfolder/s/spikeshot_elder.txt +++ b/res/cardsfolder/s/spikeshot_elder.txt @@ -3,7 +3,7 @@ ManaCost:R Types:Creature Goblin Shaman Text:no text PT:1/1 -A:AB$ DealDamage | Cost$ 1 R R | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to its power to target creature or player. +A:AB$ DealDamage | Cost$ 1 R R | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to its power to target creature or player. SVar:X:Count$CardPower SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/spikeshot_elder.jpg diff --git a/res/cardsfolder/s/spikeshot_goblin.txt b/res/cardsfolder/s/spikeshot_goblin.txt index 0684c53e390..0834daaec5f 100644 --- a/res/cardsfolder/s/spikeshot_goblin.txt +++ b/res/cardsfolder/s/spikeshot_goblin.txt @@ -3,7 +3,7 @@ ManaCost:2 R Types:Creature Goblin Shaman Text:no text PT:1/2 -A:AB$ DealDamage | Cost$ R T | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to its power to target creature or player. +A:AB$ DealDamage | Cost$ R T | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to its power to target creature or player. SVar:X:Count$CardPower SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/spikeshot_goblin.jpg diff --git a/res/cardsfolder/s/spinal_embrace.txt b/res/cardsfolder/s/spinal_embrace.txt index 4d0669f0d5e..640c6e631e0 100644 --- a/res/cardsfolder/s/spinal_embrace.txt +++ b/res/cardsfolder/s/spinal_embrace.txt @@ -1,15 +1,15 @@ -Name:Spinal Embrace -ManaCost:3 U U B -Types:Instant -Text:no text -A:SP$ GainControl | Cost$ 3 U U B | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature you don't control | ActivationPhases$ BeginCombat->EndCombat | Untap$ True | AddKWs$ Haste | SubAbility$ DBAnimate | SpellDescription$ Cast CARDNAME only during combat. Untap target creature you don't control and gain control of it. It gains haste until end of turn. -SVar:DBAnimate:DB$ Animate | Defined$ Targeted | Triggers$ DBDelTrig | sVars$ Sac,DBGainLife,X | SpellDescription$ At the beginning of the next end step, sacrifice it. If you do, you gain life equal to its toughness. -SVar:DBDelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ Sac | TriggerDescription$ At the beginning of the next end step, sacrifice CARDNAME. If you do, you gain life equal to its toughness. -SVar:Sac:DB$ Sacrifice | SubAbility$ DBGainLife -SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ X | SpellDescription$ You gain life equal to CARDNAME toughness -SVar:X:Count$CardToughness -SVar:Rarity:Rare -SVar:Picture:http://www.wizards.com/global/images/magic/general/spinal_embrace.jpg -SetInfo:INV|Rare|http://magiccards.info/scans/en/in/276.jpg -Oracle:Cast Spinal Embrace only during combat.\nUntap target creature you don't control and gain control of it. It gains haste until end of turn. At the beginning of the next end step, sacrifice it. If you do, you gain life equal to its toughness. +Name:Spinal Embrace +ManaCost:3 U U B +Types:Instant +Text:no text +A:SP$ GainControl | Cost$ 3 U U B | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature you don't control | ActivationPhases$ BeginCombat->EndCombat | Untap$ True | AddKWs$ Haste | SubAbility$ DBAnimate | SpellDescription$ Cast CARDNAME only during combat. Untap target creature you don't control and gain control of it. It gains haste until end of turn. +SVar:DBAnimate:DB$ Animate | Defined$ Targeted | Triggers$ DBDelTrig | sVars$ Sac,DBGainLife,X | References$ Sac,DBGainLife,X | SpellDescription$ At the beginning of the next end step, sacrifice it. If you do, you gain life equal to its toughness. +SVar:DBDelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ Sac | TriggerDescription$ At the beginning of the next end step, sacrifice CARDNAME. If you do, you gain life equal to its toughness. +SVar:Sac:DB$ Sacrifice | SubAbility$ DBGainLife +SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ X | References$ X | SpellDescription$ You gain life equal to CARDNAME toughness +SVar:X:Count$CardToughness +SVar:Rarity:Rare +SVar:Picture:http://www.wizards.com/global/images/magic/general/spinal_embrace.jpg +SetInfo:INV|Rare|http://magiccards.info/scans/en/in/276.jpg +Oracle:Cast Spinal Embrace only during combat.\nUntap target creature you don't control and gain control of it. It gains haste until end of turn. At the beginning of the next end step, sacrifice it. If you do, you gain life equal to its toughness. End \ No newline at end of file diff --git a/res/cardsfolder/s/spined_sliver.txt b/res/cardsfolder/s/spined_sliver.txt index 77ce392f2e4..d592bbc4ad5 100644 --- a/res/cardsfolder/s/spined_sliver.txt +++ b/res/cardsfolder/s/spined_sliver.txt @@ -4,7 +4,7 @@ Types:Creature Sliver Text:no text PT:2/2 T:Mode$ AttackerBlocked | ValidCard$ Sliver | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a Sliver becomes blocked, that Sliver gets +1/+1 until end of turn for each creature blocking it. -SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ TriggeredAttacker | NumAtt$ +X | NumDef$ +X +SVar:TrigPump:AB$ Pump | Cost$ 0 | Defined$ TriggeredAttacker | NumAtt$ +X | NumDef$ +X | References$ X SVar:X:TriggerCount$NumBlockers SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/spined_sliver.jpg diff --git a/res/cardsfolder/s/spinerock_knoll.txt b/res/cardsfolder/s/spinerock_knoll.txt index e92288c9036..58a61c40dca 100644 --- a/res/cardsfolder/s/spinerock_knoll.txt +++ b/res/cardsfolder/s/spinerock_knoll.txt @@ -6,7 +6,7 @@ K:Hideaway T:Mode$ ChangesZone | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDig | TriggerDescription$ This land enters the battlefield tapped. When it does, look at the top four cards of your library, exile one face down, then put the rest on the bottom of your library. SVar:TrigDig:AB$ Dig | Cost$ 0 | Defined$ You | DigNum$ 4 | DestinationZone$ Exile | ExileFaceDown$ True | RememberChanged$ True A:AB$ Mana | Cost$ T | Produced$ R | SpellDescription$ Add R to your mana pool. -A:AB$ Play | Cost$ R T | Defined$ Remembered | Controller$ You | WithoutManaCost$ True | Optional$ True | ConditionCheckSVar$ X | ConditionSVarCompare$ GE7 | ForgetRemembered$ True | SpellDescription$ You may play the exiled card without paying its mana cost if an opponent was dealt 7 or more damage this turn. +A:AB$ Play | Cost$ R T | Defined$ Remembered | Controller$ You | WithoutManaCost$ True | Optional$ True | ConditionCheckSVar$ X | ConditionSVarCompare$ GE7 | References$ X | ForgetRemembered$ True | SpellDescription$ You may play the exiled card without paying its mana cost if an opponent was dealt 7 or more damage this turn. SVar:X:Count$OppDamageThisTurn SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/s/spiny_starfish.txt b/res/cardsfolder/s/spiny_starfish.txt index 421557756fb..86a97306d07 100644 --- a/res/cardsfolder/s/spiny_starfish.txt +++ b/res/cardsfolder/s/spiny_starfish.txt @@ -1,14 +1,14 @@ -Name:Spiny Starfish -ManaCost:2 U -Types:Creature Starfish -Text:no text -PT:0/1 -A:AB$ Regenerate | Cost$ U | SpellDescription$ Regenerate CARDNAME. -T:Mode$ Phase | Phase$ End of Turn | Execute$ TrigToken | CheckSVar$ X | SVarCompare$ GE1 | TriggerDescription$ At the beginning of each end step, if CARDNAME regenerated this turn, put a 0/1 blue Starfish creature token onto the battlefield for each time it regenerated this turn. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Starfish | TokenTypes$ Creature,Starfish | TokenOwner$ You | TokenColors$ Blue | TokenPower$ 0 | TokenToughness$ 1 -SVar:X:Count$RegeneratedThisTurn -SVar:Rarity:Uncommon -SVar:Picture:http://www.wizards.com/global/images/magic/general/spiny_starfish.jpg -SetInfo:ALL|Uncommon|http://magiccards.info/scans/en/ai/53.jpg -Oracle:{U}: Regenerate Spiny Starfish.\nAt the beginning of each end step, if Spiny Starfish regenerated this turn, put a 0/1 blue Starfish creature token onto the battlefield for each time it regenerated this turn. +Name:Spiny Starfish +ManaCost:2 U +Types:Creature Starfish +Text:no text +PT:0/1 +A:AB$ Regenerate | Cost$ U | SpellDescription$ Regenerate CARDNAME. +T:Mode$ Phase | Phase$ End of Turn | Execute$ TrigToken | CheckSVar$ X | SVarCompare$ GE1 | TriggerDescription$ At the beginning of each end step, if CARDNAME regenerated this turn, put a 0/1 blue Starfish creature token onto the battlefield for each time it regenerated this turn. +SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | References$ X | TokenName$ Starfish | TokenTypes$ Creature,Starfish | TokenOwner$ You | TokenColors$ Blue | TokenPower$ 0 | TokenToughness$ 1 +SVar:X:Count$RegeneratedThisTurn +SVar:Rarity:Uncommon +SVar:Picture:http://www.wizards.com/global/images/magic/general/spiny_starfish.jpg +SetInfo:ALL|Uncommon|http://magiccards.info/scans/en/ai/53.jpg +Oracle:{U}: Regenerate Spiny Starfish.\nAt the beginning of each end step, if Spiny Starfish regenerated this turn, put a 0/1 blue Starfish creature token onto the battlefield for each time it regenerated this turn. End \ No newline at end of file diff --git a/res/cardsfolder/s/spiraling_embers.txt b/res/cardsfolder/s/spiraling_embers.txt index 1e9a04fa4a5..5d2038aa3e8 100644 --- a/res/cardsfolder/s/spiraling_embers.txt +++ b/res/cardsfolder/s/spiraling_embers.txt @@ -2,7 +2,7 @@ Name:Spiraling Embers ManaCost:3 R Types:Sorcery Arcane Text:no text -A:SP$ DealDamage | Cost$ 3 R | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals damage to target creature or player equal to the number of cards in your hand. +A:SP$ DealDamage | Cost$ 3 R | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage to target creature or player equal to the number of cards in your hand. SVar:X:Count$InYourHand SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/spiraling_embers.jpg diff --git a/res/cardsfolder/s/spire_barrage.txt b/res/cardsfolder/s/spire_barrage.txt index 08eb9185264..9e72fa81601 100644 --- a/res/cardsfolder/s/spire_barrage.txt +++ b/res/cardsfolder/s/spire_barrage.txt @@ -2,7 +2,7 @@ Name:Spire Barrage ManaCost:4 R Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ 4 R | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals damage to target creature or player equal to the number of Mountains you control. +A:SP$ DealDamage | Cost$ 4 R | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage to target creature or player equal to the number of Mountains you control. SVar:X:Count$TypeYouCtrl.Mountain SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/spire_barrage.jpg diff --git a/res/cardsfolder/s/spirit_en_kor.txt b/res/cardsfolder/s/spirit_en_kor.txt index b8e08b58225..d0e5913beca 100644 --- a/res/cardsfolder/s/spirit_en_kor.txt +++ b/res/cardsfolder/s/spirit_en_kor.txt @@ -4,14 +4,14 @@ Types:Creature Kor Spirit Text:no text PT:2/2 K:Flying -A:AB$ Effect | Cost$ 0 | Name$ en-Kor Redirection | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control to redirect the damage to | ReplacementEffects$ EnKorCombat,EnKorNonCombat | Triggers$ OutOfSight | SVars$ CombatDmg,NonCombatDmg,ExileEffect,RestDmgCombat,RestDmg,X,Y | Duration$ HostLeavesOrEOT | RememberObjects$ Self | ImprintCards$ Targeted | SpellDescription$ The next 1 damage that would be dealt to CARDNAME this turn is dealt to target creature you control instead. +A:AB$ Effect | Cost$ 0 | Name$ en-Kor Redirection | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control to redirect the damage to | ReplacementEffects$ EnKorCombat,EnKorNonCombat | Triggers$ OutOfSight | SVars$ CombatDmg,NonCombatDmg,ExileEffect,RestDmgCombat,RestDmg,X,Y | References$ EnKorCombat,EnKorNonCombat,OutOfSight,CombatDmg,NonCombatDmg,ExileEffect,RestDmgCombat,RestDmg,X,Y | Duration$ HostLeavesOrEOT | RememberObjects$ Self | ImprintCards$ Targeted | SpellDescription$ The next 1 damage that would be dealt to CARDNAME this turn is dealt to target creature you control instead. SVar:EnKorCombat:Event$ DamageDone | ValidTarget$ Creature.IsRemembered | IsCombat$ True | ReplaceWith$ CombatDmg | Description$ The next 1 damage that would be dealt to Spirit en-Kor this turn is dealt to target creature you control instead. SVar:EnKorNonCombat:Event$ DamageDone | ValidTarget$ Creature.IsRemembered | IsCombat$ False | ReplaceWith$ NonCombatDmg | Secondary$ True | Description$ The next 1 damage that would be dealt to Spirit en-Kor this turn is dealt to target creature you control instead. -SVar:CombatDmg:AB$DealDamage | Cost$ 0 | Defined$ Imprinted | DamageSource$ ReplacedSource | CombatDamage$ True | NumDmg$ 1 | SubAbility$ RestDmgCombat | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE1 -SVar:NonCombatDmg:AB$DealDamage | Cost$ 0 | Defined$ Imprinted | DamageSource$ ReplacedSource | NumDmg$ 1 | SubAbility$ RestDmg | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE1 -SVar:RestDmgCombat:DB$DealDamage | Defined$ Remembered | DamageSource$ ReplacedSource | CombatDamage$ True | NumDmg$ X | SubAbility$ ExileEffect -SVar:RestDmg:DB$DealDamage | Defined$ Remembered | DamageSource$ ReplacedSource | NumDmg$ X | SubAbility$ ExileEffect -SVar:OutOfSight:Mode$ChangesZone | Origin$ Battlefield | Destination$ Any | Defined$ Imprinted | Execute$ ExileEffect | Static$ True +SVar:CombatDmg:AB$ DealDamage | Cost$ 0 | Defined$ Imprinted | DamageSource$ ReplacedSource | CombatDamage$ True | NumDmg$ 1 | SubAbility$ RestDmgCombat | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE1 +SVar:NonCombatDmg:AB$ DealDamage | Cost$ 0 | Defined$ Imprinted | DamageSource$ ReplacedSource | NumDmg$ 1 | SubAbility$ RestDmg | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE1 +SVar:RestDmgCombat:DB$ DealDamage | Defined$ Remembered | DamageSource$ ReplacedSource | CombatDamage$ True | NumDmg$ X | SubAbility$ ExileEffect +SVar:RestDmg:DB$ DealDamage | Defined$ Remembered | DamageSource$ ReplacedSource | NumDmg$ X | SubAbility$ ExileEffect +SVar:OutOfSight:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | Defined$ Imprinted | Execute$ ExileEffect | Static$ True SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Exile | Static$ True SVar:X:ReplaceCount$DamageAmount/Minus.1 SVar:Y:ReplaceCount$DamageAmount diff --git a/res/cardsfolder/s/spirit_link.txt b/res/cardsfolder/s/spirit_link.txt index a754b27340a..febe45f4c6e 100644 --- a/res/cardsfolder/s/spirit_link.txt +++ b/res/cardsfolder/s/spirit_link.txt @@ -5,7 +5,7 @@ Text:no text K:Enchant creature A:SP$ Attach | Cost$ W | ValidTgts$ Creature | AILogic$ Pump T:Mode$ DamageDone | ValidSource$ Card.AttachedBy | Execute$ TrigGain | TriggerZones$ Battlefield | TriggerDescription$ Whenever enchanted creature deals damage, you gain that much life. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/spirit_link.jpg diff --git a/res/cardsfolder/s/spirit_loop.txt b/res/cardsfolder/s/spirit_loop.txt index cbb85da506f..b127b58baed 100644 --- a/res/cardsfolder/s/spirit_loop.txt +++ b/res/cardsfolder/s/spirit_loop.txt @@ -5,7 +5,7 @@ Text:no text K:Enchant creature you control A:SP$ Attach | Cost$ 1 W | ValidTgts$ Creature.YouCtrl | AILogic$ Pump T:Mode$ DamageDone | ValidSource$ Card.AttachedBy | Execute$ TrigGain | TriggerZones$ Battlefield | TriggerDescription$ Whenever enchanted creature deals damage, you gain that much life. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGain:AB$ GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME is put into a graveyard from the battlefield, return CARDNAME to its owner's hand. SVar:TrigChangeZone:AB$ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Hand diff --git a/res/cardsfolder/s/spiritualize.txt b/res/cardsfolder/s/spiritualize.txt index 84cebe3c998..bca9547e36d 100644 --- a/res/cardsfolder/s/spiritualize.txt +++ b/res/cardsfolder/s/spiritualize.txt @@ -2,9 +2,9 @@ Name:Spiritualize ManaCost:2 W Types:Instant Text:no text -A:SP$ Effect | Cost$ 2 W | Name$ Spiritualize Effect | ValidTgts$ Creature | TgtPrompt$ Select target creature | Triggers$ TrigDamage | SVars$ TrigGainLife,X | RememberObjects$ Targeted | SubAbility$ DBDraw | SpellDescription$ Until end of turn, whenever target creature deals damage, you gain that much life. Draw a card. +A:SP$ Effect | Cost$ 2 W | Name$ Spiritualize Effect | ValidTgts$ Creature | TgtPrompt$ Select target creature | Triggers$ TrigDamage | SVars$ TrigGainLife,X | References$ TrigGainLife,X | RememberObjects$ Targeted | SubAbility$ DBDraw | SpellDescription$ Until end of turn, whenever target creature deals damage, you gain that much life. Draw a card. SVar:TrigDamage:Mode$ DamageDone | ValidSource$ Creature.IsRemembered | Execute$ TrigGainLife | TriggerDescription$ Whenever the targeted creature of Spiritualize deals damage, you gain that much life. -SVar:TrigGainLife:AB$ GainLife | Cost$ 0 | LifeAmount$ X | Defined$ You +SVar:TrigGainLife:AB$ GainLife | Cost$ 0 | LifeAmount$ X | References$ X | Defined$ You SVar:DBDraw:DB$ Draw | NumCards$ 1 SVar:X:TriggerCount$DamageAmount SVar:RemAIDeck:True diff --git a/res/cardsfolder/s/spiteful_shadows.txt b/res/cardsfolder/s/spiteful_shadows.txt index 873b86b7a17..904cd68c532 100644 --- a/res/cardsfolder/s/spiteful_shadows.txt +++ b/res/cardsfolder/s/spiteful_shadows.txt @@ -5,7 +5,7 @@ Text:no text K:Enchant creature A:SP$ Attach | Cost$ 1 B | ValidTgts$ Creature | AILogic$ Curse T:Mode$ DamageDone | ValidTarget$ Card.AttachedBy | TriggerZones$ Battlefield | Execute$ TrigDealDamage | TriggerDescription$ Whenever enchanted creature is dealt damage, it deals that much damage to its controller. -SVar:TrigDealDamage:AB$ DealDamage | Cost$ 0 | Defined$ TriggeredTargetController | NumDmg$ X | DamageSource$ TriggeredTarget +SVar:TrigDealDamage:AB$ DealDamage | Cost$ 0 | Defined$ TriggeredTargetController | NumDmg$ X | References$ X | DamageSource$ TriggeredTarget SVar:X:TriggerCount$DamageAmount SVar:Picture:http://www.wizards.com/global/images/magic/general/spiteful_shadows.jpg SetInfo:DKA|Common|http://magiccards.info/scans/en/dka/75.jpg diff --git a/res/cardsfolder/s/spitemare.txt b/res/cardsfolder/s/spitemare.txt index 1e94c410393..c9489fc9e7d 100644 --- a/res/cardsfolder/s/spitemare.txt +++ b/res/cardsfolder/s/spitemare.txt @@ -4,7 +4,7 @@ Types:Creature Elemental Text:no text PT:3/3 T:Mode$ DamageDone | Execute$ TrigDamage | ValidTarget$ Card.Self | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME is dealt damage, it deals that much damage to target creature or player. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | NumDmg$ X | Tgt$ TgtCP +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | NumDmg$ X | References$ X | Tgt$ TgtCP SVar:X:TriggerCount$DamageAmount SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/spitemare.jpg diff --git a/res/cardsfolder/s/spitting_earth.txt b/res/cardsfolder/s/spitting_earth.txt index 87e48b266a1..81063f772ab 100644 --- a/res/cardsfolder/s/spitting_earth.txt +++ b/res/cardsfolder/s/spitting_earth.txt @@ -2,7 +2,7 @@ Name:Spitting Earth ManaCost:1 R Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ 1 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SpellDescription$ Spitting Earth deals damage equal to the number of Mountains you control to target creature. +A:SP$ DealDamage | Cost$ 1 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | References$ X | SpellDescription$ Spitting Earth deals damage equal to the number of Mountains you control to target creature. SVar:X:Count$TypeYouCtrl.Mountain SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/spitting_earth.jpg diff --git a/res/cardsfolder/s/spontaneous_generation.txt b/res/cardsfolder/s/spontaneous_generation.txt index 6a799c2e34b..d0c93c01fe7 100644 --- a/res/cardsfolder/s/spontaneous_generation.txt +++ b/res/cardsfolder/s/spontaneous_generation.txt @@ -2,7 +2,7 @@ Name:Spontaneous Generation ManaCost:3 G Types:Sorcery Text:no text -A:SP$ Token | Cost$ 3 G | TokenAmount$ X | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put a 1/1 green Saproling creature token onto the battlefield for each card in your hand. +A:SP$ Token | Cost$ 3 G | TokenAmount$ X | References$ X | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put a 1/1 green Saproling creature token onto the battlefield for each card in your hand. SVar:X:Count$InYourHand SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/spontaneous_generation.jpg diff --git a/res/cardsfolder/s/spore_burst.txt b/res/cardsfolder/s/spore_burst.txt index 51037a5325b..59bad59cedb 100644 --- a/res/cardsfolder/s/spore_burst.txt +++ b/res/cardsfolder/s/spore_burst.txt @@ -2,7 +2,7 @@ Name:Spore Burst ManaCost:3 G Types:Sorcery Text:Domain - Put a 1/1 green Saproling creature token onto the battlefield for each basic land type among lands you control. -A:SP$ Token | Cost$ 3 G | TokenAmount$ X | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 +A:SP$ Token | Cost$ 3 G | TokenAmount$ X | References$ X | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 SVar:X:Count$Domain SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/springjack_shepherd.txt b/res/cardsfolder/s/springjack_shepherd.txt index d6b91befc5b..1b7ebf2839f 100644 --- a/res/cardsfolder/s/springjack_shepherd.txt +++ b/res/cardsfolder/s/springjack_shepherd.txt @@ -4,7 +4,7 @@ Types:Creature Kithkin Wizard Text:no text PT:1/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ Chroma - When CARDNAME enters the battlefield, put a 0/1 white Goat creature token onto the battlefield for each white mana symbol in the mana costs of permanents you control. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Goat | TokenTypes$ Creature,Goat | TokenOwner$ You | TokenColors$ White | TokenPower$ 0 | TokenToughness$ 1 +SVar:TrigToken:AB$ Token | Cost$ 0 | TokenAmount$ X | References$ X | TokenName$ Goat | TokenTypes$ Creature,Goat | TokenOwner$ You | TokenColors$ White | TokenPower$ 0 | TokenToughness$ 1 SVar:X:Count$Chroma.W SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/springjack_shepherd.jpg diff --git a/res/cardsfolder/s/squall_line.txt b/res/cardsfolder/s/squall_line.txt index 763e86c5cd1..37b82a7e343 100644 --- a/res/cardsfolder/s/squall_line.txt +++ b/res/cardsfolder/s/squall_line.txt @@ -2,7 +2,7 @@ Name:Squall Line ManaCost:X G G Types:Instant Text:no text -A:SP$ DamageAll | Cost$ X G G | ValidCards$ Creature.withFlying | ValidPlayers$ Each | NumDmg$ X | ValidDescription$ each creature with flying and each player. | SpellDescription$ CARDNAME deals X damage to each creature with flying and each player. +A:SP$ DamageAll | Cost$ X G G | References$ X | ValidCards$ Creature.withFlying | ValidPlayers$ Each | NumDmg$ X | ValidDescription$ each creature with flying and each player. | SpellDescription$ CARDNAME deals X damage to each creature with flying and each player. SVar:X:Count$xPaid SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/s/squealing_devil.txt b/res/cardsfolder/s/squealing_devil.txt index 115b8aeec38..500ec36ee18 100644 --- a/res/cardsfolder/s/squealing_devil.txt +++ b/res/cardsfolder/s/squealing_devil.txt @@ -6,7 +6,7 @@ PT:2/1 K:Fear T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPump | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, you may pay X. If you do, target creature gets +X/+0 until end of turn. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSac | ManaNotSpent$ B | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless B was spent to cast it. -SVar:TrigPump:AB$ Pump | Cost$ X | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | SpellDescription$ Target creature gets +X/+0 until end of turn. +SVar:TrigPump:AB$ Pump | Cost$ X | References$ X | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | SpellDescription$ Target creature gets +X/+0 until end of turn. SVar:X:Count$xPaid SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ Self SVar:ManaNeededToAvoidNegativeEffect:black diff --git a/res/cardsfolder/s/stalking_yeti.txt b/res/cardsfolder/s/stalking_yeti.txt index 4fe55e1f6f1..cb2c5ad56c5 100644 --- a/res/cardsfolder/s/stalking_yeti.txt +++ b/res/cardsfolder/s/stalking_yeti.txt @@ -4,8 +4,8 @@ Types:Snow Creature Yeti Text:no text PT:3/3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | Execute$ TrigDamage | TriggerDescription$ When CARDNAME enters the battlefield, if it's on the battlefield, it deals damage equal to its power to target creature an opponent controls and that creature deals damage equal to its power to CARDNAME. -SVar:TrigDamage:AB$ DealDamage | Cost$ 0 | IsPresent$ Card.Self | PresentZone$ Battlefield | ValidTgts$ Creature.YouDontCtrl| TgtPrompt$ Select target creature you don't control | NumDmg$ X | SubAbility$ DBDamage -SVar:DBDamage:DB$DealDamage | Defined$ Self | DamageSource$ Targeted | NumDmg$ Y +SVar:TrigDamage:AB$ DealDamage | Cost$ 0 | IsPresent$ Card.Self | PresentZone$ Battlefield | ValidTgts$ Creature.YouDontCtrl| TgtPrompt$ Select target creature you don't control | NumDmg$ X | References$ X | SubAbility$ DBDamage +SVar:DBDamage:DB$DealDamage | Defined$ Self | DamageSource$ Targeted | NumDmg$ Y | References$ Y A:AB$ ChangeZone | Cost$ 2 S | Origin$ Battlefield | Destination$ Hand | SorcerySpeed$ True | SpellDescription$ Return CARDNAME to its owner's hand. Activate this ability only any time you could cast a sorcery. SVar:X:Count$CardPower SVar:Y:Targeted$CardPower diff --git a/res/cardsfolder/s/starlight.txt b/res/cardsfolder/s/starlight.txt index d2dd859177b..2586ab99d51 100644 --- a/res/cardsfolder/s/starlight.txt +++ b/res/cardsfolder/s/starlight.txt @@ -2,7 +2,7 @@ Name:Starlight ManaCost:1 W Types:Sorcery Text:no text -A:SP$ GainLife | Cost$ 1 W | LifeAmount$ X | SpellDescription$ You gain 3 life for each black creature target opponent controls. +A:SP$ GainLife | Cost$ 1 W | LifeAmount$ X | References$ X | SpellDescription$ You gain 3 life for each black creature target opponent controls. SVar:X:Count$BlackTypeOppCtrl.Creature/Times.3 SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/starstorm.txt b/res/cardsfolder/s/starstorm.txt index 9a76b182d31..fb358c433af 100644 --- a/res/cardsfolder/s/starstorm.txt +++ b/res/cardsfolder/s/starstorm.txt @@ -3,7 +3,7 @@ ManaCost:X R R Types:Instant Text:no text K:Cycling:3 -A:SP$ DamageAll | Cost$ X R R | ValidCards$ Creature | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to each creature. +A:SP$ DamageAll | Cost$ X R R | ValidCards$ Creature | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to each creature. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/s/steel_hellkite.txt b/res/cardsfolder/s/steel_hellkite.txt index b46e46d463c..669529949a0 100644 --- a/res/cardsfolder/s/steel_hellkite.txt +++ b/res/cardsfolder/s/steel_hellkite.txt @@ -5,7 +5,7 @@ Text:no text PT:5/5 K:Flying A:AB$ Pump | Cost$ 2 | NumAtt$ +1 | SpellDescription$ CARDNAME gets +1/+0 until end of turn. -A:AB$ DestroyAll | Cost$ X | ValidCards$ Permanent.nonLand+cmcEQX+controllerWasDealtCombatDamageByThisTurn | ActivationLimit$ 1 | Hidden$ True | SpellDescription$ Destroy each nonland permanent with converted mana cost X whose controller was dealt combat damage by CARDNAME this turn. Activate this ability only once each turn. +A:AB$ DestroyAll | Cost$ X | References$ X | ValidCards$ Permanent.nonLand+cmcEQX+controllerWasDealtCombatDamageByThisTurn | ActivationLimit$ 1 | Hidden$ True | SpellDescription$ Destroy each nonland permanent with converted mana cost X whose controller was dealt combat damage by CARDNAME this turn. Activate this ability only once each turn. SVar:X:Count$xPaid SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/steel_hellkite.jpg diff --git a/res/cardsfolder/s/stern_judge.txt b/res/cardsfolder/s/stern_judge.txt index 7bc64de35e7..55f568f0909 100644 --- a/res/cardsfolder/s/stern_judge.txt +++ b/res/cardsfolder/s/stern_judge.txt @@ -3,8 +3,8 @@ ManaCost:2 W Types:Creature Cleric Text:no text PT:2/2 -A:AB$ LoseLife | Cost$ T | Defined$ Opponent | LifeAmount$ X | SubAbility$ DBLoseLife | SpellDescription$ Each player loses 1 life for each Swamp he or she controls. -SVar:DBLoseLife:DB$LoseLife | Defined$ You | LifeAmount$ Y +A:AB$ LoseLife | Cost$ T | Defined$ Opponent | LifeAmount$ X | References$ X | SubAbility$ DBLoseLife | SpellDescription$ Each player loses 1 life for each Swamp he or she controls. +SVar:DBLoseLife:DB$LoseLife | Defined$ You | LifeAmount$ Y | References$ Y SVar:X:Count$TypeOppCtrl.Swamp SVar:Y:Count$TypeYouCtrl.Swamp SVar:RemRandomDeck:True diff --git a/res/cardsfolder/s/stigma_lasher.txt b/res/cardsfolder/s/stigma_lasher.txt index 0484e6fe6e5..b02d2ec4d30 100644 --- a/res/cardsfolder/s/stigma_lasher.txt +++ b/res/cardsfolder/s/stigma_lasher.txt @@ -5,7 +5,7 @@ Text:no text PT:2/2 K:Wither T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | Execute$ TrigEffect | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals damage to a player, that player can't gain life for the rest of the game. -SVar:TrigEffect:AB$Effect | Cost$ 0 | Name$ Stigma Lasher Effect | StaticAbilities$ CantGainLife | Permanent$ True | RememberObjects$ TriggeredAffected +SVar:TrigEffect:AB$Effect | Cost$ 0 | Name$ Stigma Lasher Effect | StaticAbilities$ CantGainLife | Duration$ Permanent | RememberObjects$ TriggeredAffected SVar:CantGainLife:Mode$ Continuous | Affected$ Player.isRemembered | AddKeyword$ You can't gain life. | Description$ The damaged player can't gain life for the rest of the game. SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/stigma_lasher.jpg diff --git a/res/cardsfolder/s/stingscourger.txt b/res/cardsfolder/s/stingscourger.txt index 0d842d9f17b..55befe93780 100644 --- a/res/cardsfolder/s/stingscourger.txt +++ b/res/cardsfolder/s/stingscourger.txt @@ -4,7 +4,7 @@ Types:Creature Goblin Warrior Text:no text PT:2/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield, return target creature an opponent controls to its owner's hand. -SVar:TrigChangeZone:DB$ChangeZone | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature an opponent controls | Origin$ Battlefield | Destination$ Hand +SVar:TrigChangeZone:DB$ ChangeZone | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature an opponent controls | Origin$ Battlefield | Destination$ Hand K:Echo:3 R SVar:NeedsToPlayVar:Y GE4 SVar:Y:Count$Valid Land.YouCtrl diff --git a/res/cardsfolder/s/stir_the_pride.txt b/res/cardsfolder/s/stir_the_pride.txt index b956637a63b..7d3da796d71 100644 --- a/res/cardsfolder/s/stir_the_pride.txt +++ b/res/cardsfolder/s/stir_the_pride.txt @@ -3,11 +3,11 @@ ManaCost:4 W Types:Instant Text:no text A:SP$ PumpAll | Cost$ 4 W | NumAtt$ 2 | NumDef$ 2 | ValidCards$ Creature.YouCtrl | PreCostDesc$ Choose one - | SpellDescription$ Creatures you control get +2/+2 until end of turn; -A:SP$ AnimateAll | Cost$ 4 W | ValidCards$ Creature.YouCtrl | Triggers$ TrigPrideDamage | sVars$ GainLife,X | SpellDescription$ or until end of turn, creatures you control gain "Whenever this creature deals damage, you gain that much life." -A:SP$ AnimateAll | Cost$ 5 W W | ValidCards$ Creature.YouCtrl | Triggers$ TrigPrideDamage | sVars$ GainLife,X | SubAbility$ DBPump | PrecostDesc$ Entwine 1 W | SpellDescription$ (Choose both if you pay the entwine cost.) +A:SP$ AnimateAll | Cost$ 4 W | ValidCards$ Creature.YouCtrl | Triggers$ TrigPrideDamage | sVars$ GainLife,X | References$ GainLife,X | SpellDescription$ or until end of turn, creatures you control gain "Whenever this creature deals damage, you gain that much life." +A:SP$ AnimateAll | Cost$ 5 W W | ValidCards$ Creature.YouCtrl | Triggers$ TrigPrideDamage | sVars$ GainLife,X | References$ GainLife,X | SubAbility$ DBPump | PrecostDesc$ Entwine 1 W | SpellDescription$ (Choose both if you pay the entwine cost.) SVar:DBPump:DB$PumpAll | ValidCards$ Creature.YouCtrl | NumAtt$ 2 | NumDef$ 2 SVar:TrigPrideDamage:Mode$ DamageDone | ValidSource$ Card.Self | Execute$ GainLife | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals damage, you gain that much life. -SVar:GainLife:AB$ GainLife | Cost$ 0 | LifeAmount$ X +SVar:GainLife:AB$ GainLife | Cost$ 0 | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/stitch_together.txt b/res/cardsfolder/s/stitch_together.txt index e4ef4cc6112..c4972090a13 100644 --- a/res/cardsfolder/s/stitch_together.txt +++ b/res/cardsfolder/s/stitch_together.txt @@ -3,7 +3,7 @@ ManaCost:B B Types:Sorcery Text:no text A:SP$ ChangeZone | Cost$ B B | Origin$ Graveyard | Destination$ Hand | TgtPrompt$ Choose target creature card in your graveyard | ValidTgts$ Creature.YouCtrl | ConditionCheckSVar$ X | ConditionSVarCompare$ LE6 | SubAbility$ DBChangeZone | SpellDescription$ Return target creature card from your graveyard to your hand. Threshold - Return that card from your graveyard to the battlefield instead if seven or more cards are in your graveyard. -SVar:DBChangeZone:DB$ ChangeZone | Defined$ Targeted | Origin$ Graveyard | Destination$ Battlefield | ConditionCheckSVar$ X | ConditionSVarCompare$ GE7 +SVar:DBChangeZone:DB$ ChangeZone | Defined$ Targeted | Origin$ Graveyard | Destination$ Battlefield | ConditionCheckSVar$ X | ConditionSVarCompare$ GE7 | References$ X SVar:X:Count$InYourYard SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/stitch_together.jpg diff --git a/res/cardsfolder/s/stone_giant.txt b/res/cardsfolder/s/stone_giant.txt index afecdd230e8..9f38a6f45c9 100644 --- a/res/cardsfolder/s/stone_giant.txt +++ b/res/cardsfolder/s/stone_giant.txt @@ -3,7 +3,7 @@ ManaCost:2 R R Types:Creature Giant Text:no text PT:3/4 -A:AB$ Pump | Cost$ T | ValidTgts$ Creature.YouCtrl+powerLTX | TgtPrompt$ Select target creature you control with power less than Stone Giant's. | KW$ Flying & HIDDEN At the beginning of the end step, destroy CARDNAME. | SpellDescription$ Target creature you control with toughness less than CARDNAME's power gains flying until end of turn. Destroy that creature at the beginning of the next end step. +A:AB$ Pump | Cost$ T | ValidTgts$ Creature.YouCtrl+powerLTX | References$ X | TgtPrompt$ Select target creature you control with power less than Stone Giant's. | KW$ Flying & HIDDEN At the beginning of the end step, destroy CARDNAME. | SpellDescription$ Target creature you control with toughness less than CARDNAME's power gains flying until end of turn. Destroy that creature at the beginning of the next end step. SVar:X:Count$CardPower SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/storm_herd.txt b/res/cardsfolder/s/storm_herd.txt index 48677ebdcb8..a83e9483c8b 100644 --- a/res/cardsfolder/s/storm_herd.txt +++ b/res/cardsfolder/s/storm_herd.txt @@ -2,7 +2,7 @@ Name:Storm Herd ManaCost:8 W W Types:Sorcery Text:no text -A:SP$ Token | Cost$ 8 W W | TokenAmount$ X | TokenName$ Pegasus | TokenTypes$ Creature,Pegasus | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying | SpellDescription$ Put X 1/1 white Pegasus creature tokens with flying onto the battlefield, where X is your life total. +A:SP$ Token | Cost$ 8 W W | TokenAmount$ X | References$ X | TokenName$ Pegasus | TokenTypes$ Creature,Pegasus | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying | SpellDescription$ Put X 1/1 white Pegasus creature tokens with flying onto the battlefield, where X is your life total. SVar:X:Count$YourLifeTotal SVar:Rarity:Rare SVar:Picture:http://resources.wizards.com/magic/cards/gpt/en-us/card96968.jpg diff --git a/res/cardsfolder/s/storm_world.txt b/res/cardsfolder/s/storm_world.txt index bd0e7e6ea23..b899173ac63 100644 --- a/res/cardsfolder/s/storm_world.txt +++ b/res/cardsfolder/s/storm_world.txt @@ -4,8 +4,8 @@ Types:World Enchantment Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | IsPresent$ Card.YouCtrl | PresentZone$ Hand | PresentCompare$ LT4 | TriggerZones$ Battlefield | Execute$ TrigDamageYou | TriggerDescription$ At the beginning of each player's upkeep, CARDNAME deals X damage to that player, where X is 4 minus the number of cards in his or her hand. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Opponent | IsPresent$ Card.YouDontCtrl | PresentZone$ Hand | PresentCompare$ LT4 | TriggerZones$ Battlefield | Secondary$ True | Execute$ TrigDamageOpp | TriggerDescription$ At the beginning of each player's upkeep, CARDNAME deals X damage to that player, where X is 4 minus the number of cards in his or her hand. -SVar:TrigDamageYou:AB$DealDamage | Cost$ 0 | Defined$ You | NumDmg$ X -SVar:TrigDamageOpp:AB$DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ Y +SVar:TrigDamageYou:AB$ DealDamage | Cost$ 0 | Defined$ You | NumDmg$ X | References$ X +SVar:TrigDamageOpp:AB$ DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ Y | References$ Y SVar:X:Count$InYourHand/NMinus.4 SVar:Y:Count$InOppHand/NMinus.4 SVar:RemRandomDeck:True diff --git a/res/cardsfolder/s/strata_scythe.txt b/res/cardsfolder/s/strata_scythe.txt index 4a71104467e..b6e5132f671 100644 --- a/res/cardsfolder/s/strata_scythe.txt +++ b/res/cardsfolder/s/strata_scythe.txt @@ -4,7 +4,7 @@ Types:Artifact Equipment Text:no text K:eqPump 3:+0/+0 T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigExile | TriggerDescription$ Imprint - When CARDNAME enters the battlefield, search your library for a land card, exile it, then shuffle your library. -SVar:TrigExile:AB$ChangeZone | Cost$ 0 | Imprint$ True | Origin$ Library | Destination$ Exile | ChangeType$ Land | ChangeNum$ 1 +SVar:TrigExile:AB$ ChangeZone | Cost$ 0 | Imprint$ True | Origin$ Library | Destination$ Exile | ChangeType$ Land | ChangeNum$ 1 S:Mode$ Continuous | Affected$ Card.EquippedBy | AddPower$ X | AddToughness$ X | Description$ Equipped creature gets +1/+1 for each land on the battlefield with the same name as the exiled card. SVar:X:Count$Valid Land.SameNameAsImprinted SVar:RemAIDeck:True diff --git a/res/cardsfolder/s/stream_of_life.txt b/res/cardsfolder/s/stream_of_life.txt index 3368fc7544f..97f0147f28d 100644 --- a/res/cardsfolder/s/stream_of_life.txt +++ b/res/cardsfolder/s/stream_of_life.txt @@ -2,7 +2,7 @@ Name:Stream of Life ManaCost:X G Types:Sorcery Text:no text -A:SP$ GainLife | Cost$ X G | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ X | SpellDescription$ Target player gains X life. +A:SP$ GainLife | Cost$ X G | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ X | References$ X | SpellDescription$ Target player gains X life. SVar:X:Count$xPaid SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/stream_of_life.jpg diff --git a/res/cardsfolder/s/strength_in_numbers.txt b/res/cardsfolder/s/strength_in_numbers.txt index 27abdcb3505..3fd3c91b8dc 100644 --- a/res/cardsfolder/s/strength_in_numbers.txt +++ b/res/cardsfolder/s/strength_in_numbers.txt @@ -2,7 +2,7 @@ Name:Strength in Numbers ManaCost:1 G Types:Instant Text:no text -A:SP$ Pump | Cost$ 1 G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ X | NumDef$ X | KW$ Trample | SpellDescription$ Until end of turn, target creature gains trample and gets +X/+X, where X is the number of attacking creatures. +A:SP$ Pump | Cost$ 1 G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ X | NumDef$ X | References$ X | KW$ Trample | SpellDescription$ Until end of turn, target creature gains trample and gets +X/+X, where X is the number of attacking creatures. SVar:X:Count$Valid Creature.attacking SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/strength_in_numbers.jpg diff --git a/res/cardsfolder/s/strength_of_cedars.txt b/res/cardsfolder/s/strength_of_cedars.txt index 60b1e01fd50..e4ca0ec3e8d 100644 --- a/res/cardsfolder/s/strength_of_cedars.txt +++ b/res/cardsfolder/s/strength_of_cedars.txt @@ -2,7 +2,7 @@ Name:Strength of Cedars ManaCost:4 G Types:Instant Arcane Text:no text -A:SP$ Pump | Cost$ 4 G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | SpellDescription$ Target creature gets +X/+X until end of turn, where X is the number of lands you control. +A:SP$ Pump | Cost$ 4 G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | References$ X | SpellDescription$ Target creature gets +X/+X until end of turn, where X is the number of lands you control. SVar:X:Count$TypeYouCtrl.Land SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/strength_of_cedars.jpg diff --git a/res/cardsfolder/s/stroke_of_genius.txt b/res/cardsfolder/s/stroke_of_genius.txt index 053e6ba6e9f..29326775ea3 100644 --- a/res/cardsfolder/s/stroke_of_genius.txt +++ b/res/cardsfolder/s/stroke_of_genius.txt @@ -2,7 +2,7 @@ Name:Stroke of Genius ManaCost:X 2 U Types:Instant Text:no text -A:SP$ Draw | Cost$ X 2 U | ValidTgts$ Player | TgtPrompt$ Choose a player | NumCards$ X | SpellDescription$ Target player draws X cards. +A:SP$ Draw | Cost$ X 2 U | ValidTgts$ Player | TgtPrompt$ Choose a player | NumCards$ X | References$ X | SpellDescription$ Target player draws X cards. SVar:X:Count$xPaid SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/stroke_of_genius.jpg diff --git a/res/cardsfolder/s/stronghold_discipline.txt b/res/cardsfolder/s/stronghold_discipline.txt index 09b1db16434..54b6a6eba44 100644 --- a/res/cardsfolder/s/stronghold_discipline.txt +++ b/res/cardsfolder/s/stronghold_discipline.txt @@ -2,8 +2,8 @@ Name:Stronghold Discipline ManaCost:2 B B Types:Sorcery Text:no text -A:SP$ LoseLife | Cost$ 2 B B | Defined$ Opponent | LifeAmount$ X | SubAbility$ DBLoseLife | SpellDescription$ Each player loses 1 life for each creature he or she controls. -SVar:DBLoseLife:DB$LoseLife | Defined$ You | LifeAmount$ Y +A:SP$ LoseLife | Cost$ 2 B B | Defined$ Opponent | LifeAmount$ X | References$ X | SubAbility$ DBLoseLife | SpellDescription$ Each player loses 1 life for each creature he or she controls. +SVar:DBLoseLife:DB$LoseLife | Defined$ You | LifeAmount$ Y | References$ Y SVar:X:Count$TypeOppCtrl.Creature SVar:Y:Count$TypeYouCtrl.Creature SVar:RemRandomDeck:True diff --git a/res/cardsfolder/s/stuffy_doll.txt b/res/cardsfolder/s/stuffy_doll.txt index 067a30c3982..9ee7d89aba9 100644 --- a/res/cardsfolder/s/stuffy_doll.txt +++ b/res/cardsfolder/s/stuffy_doll.txt @@ -6,7 +6,7 @@ PT:0/1 K:Indestructible A:AB$ DealDamage | Cost$ T | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to itself. T:Mode$ DamageDone | Execute$ TrigDamage | ValidTarget$ Card.Self | TriggerZones$ Battlefield | TriggerDescription$ Whenever damage is dealt to CARDNAME, it deals that much damage to your opponent. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | NumDmg$ X | Defined$ Opponent +SVar:TrigDamage:AB$ DealDamage | Cost$ 0 | NumDmg$ X | References$ X | Defined$ Opponent SVar:X:TriggerCount$DamageAmount SVar:Rarity:Rare SVar:Picture:http://resources.wizards.com/magic/cards/tsp/en-us/card116724.jpg diff --git a/res/cardsfolder/s/sulfuric_vapors.txt b/res/cardsfolder/s/sulfuric_vapors.txt index 91c586d6d1f..ffa18bcaada 100644 --- a/res/cardsfolder/s/sulfuric_vapors.txt +++ b/res/cardsfolder/s/sulfuric_vapors.txt @@ -3,7 +3,7 @@ ManaCost:3 R Types:Enchantment Text:no text R:Event$ DamageDone | ValidSource$ Spell.Red | ValidTarget$ Card.Permanent,Player | ReplaceWith$ DmgPlus1 | Description$ If a red spell would deal damage to a permanent or player, it deals that much damage plus 1 to that permanent or player instead. -SVar:DmgPlus1:AB$DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X +SVar:DmgPlus1:AB$ DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ X | References$ X SVar:X:ReplaceCount$DamageAmount/Plus.1 SVar:PlayMain1:TRUE SVar:RemRandomDeck:True diff --git a/res/cardsfolder/s/sulfurous_blast.txt b/res/cardsfolder/s/sulfurous_blast.txt index 0620805bed9..3b8144b4141 100644 --- a/res/cardsfolder/s/sulfurous_blast.txt +++ b/res/cardsfolder/s/sulfurous_blast.txt @@ -2,7 +2,7 @@ Name:Sulfurous Blast ManaCost:2 R R Types:Instant Text:no text -A:SP$ DamageAll | Cost$ 2 R R | NumDmg$ X | ValidCards$ Creature | ValidPlayers$ Each | ValidDescription$ each creature and each player. | SpellDescription$ CARDNAME deals 2 damage to each creature and each player. If you cast this spell during your main phase, CARDNAME deals 3 damage to each creature and each player instead. +A:SP$ DamageAll | Cost$ 2 R R | NumDmg$ X | References$ X | ValidCards$ Creature | ValidPlayers$ Each | ValidDescription$ each creature and each player. | SpellDescription$ CARDNAME deals 2 damage to each creature and each player. If you cast this spell during your main phase, CARDNAME deals 3 damage to each creature and each player instead. SVar:X:Count$IfMainPhase.3.2 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/sulfurous_blast.jpg diff --git a/res/cardsfolder/s/sun_droplet.txt b/res/cardsfolder/s/sun_droplet.txt index 8729d6b9b50..7ab49582fb4 100644 --- a/res/cardsfolder/s/sun_droplet.txt +++ b/res/cardsfolder/s/sun_droplet.txt @@ -4,8 +4,8 @@ Types:Artifact Text:no text T:Mode$ DamageDone | ValidTarget$ You | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever you're dealt damage, put that many charge counters on CARDNAME. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | IsPresent$ Card.Self+counters_GE1_CHARGE | Execute$ TrigGainLife | TriggerZones$ Battlefield | OptionalDecider$ You | TriggerDescription$ At the beginning of each upkeep, you may remove a charge counter from CARDNAME. If you do, you gain 1 life. -SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | CounterType$ CHARGE | CounterNum$ X | Defined$ Self -SVar:TrigGainLife:AB$GainLife | Cost$ SubCounter<1/CHARGE> | LifeAmount$ 1 | Defined$ You +SVar:TrigPutCounter:AB$ PutCounter | Cost$ 0 | CounterType$ CHARGE | CounterNum$ X | References$ X | Defined$ Self +SVar:TrigGainLife:AB$ GainLife | Cost$ SubCounter<1/CHARGE> | LifeAmount$ 1 | Defined$ You SVar:X:TriggerCount$DamageAmount SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/sun_droplet.jpg diff --git a/res/cardsfolder/s/sunflare_shaman.txt b/res/cardsfolder/s/sunflare_shaman.txt index c7254dc0641..77ec9f8b429 100644 --- a/res/cardsfolder/s/sunflare_shaman.txt +++ b/res/cardsfolder/s/sunflare_shaman.txt @@ -3,8 +3,8 @@ ManaCost:1 R Types:Creature Elemental Shaman Text:no text PT:2/1 -A:AB$ DealDamage | Cost$ 1 R T | Tgt$ TgtCP | NumDmg$ X | SubAbility$ DBDealDamage | SpellDescription$ CARDNAME deals X damage to target creature or player and X damage to itself, where X is the number of Elemental cards in your graveyard. -SVar:DBDealDamage:DB$DealDamage | NumDmg$ X | Defined$ Self +A:AB$ DealDamage | Cost$ 1 R T | Tgt$ TgtCP | NumDmg$ X | References$ X | SubAbility$ DBDealDamage | SpellDescription$ CARDNAME deals X damage to target creature or player and X damage to itself, where X is the number of Elemental cards in your graveyard. +SVar:DBDealDamage:DB$ DealDamage | NumDmg$ X | References$ X | Defined$ Self SVar:X:Count$TypeInYourYard.Elemental SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/s/sunhome_enforcer.txt b/res/cardsfolder/s/sunhome_enforcer.txt index 4244000678f..acb83772dd6 100644 --- a/res/cardsfolder/s/sunhome_enforcer.txt +++ b/res/cardsfolder/s/sunhome_enforcer.txt @@ -4,7 +4,7 @@ Types:Creature Giant Soldier Text:no text PT:2/4 T:Mode$ DamageDone | ValidSource$ Card.Self | Execute$ TrigGain | TriggerZones$ Battlefield | CombatDamage$ True | TriggerDescription$ Whenever CARDNAME deals combat damage, you gain that much life. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGain:AB$ GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount A:AB$ Pump | Cost$ 1 R | NumAtt$ +1 | SpellDescription$ CARDNAME gets +1/+0 until end of turn. SVar:Rarity:Uncommon diff --git a/res/cardsfolder/s/superior_numbers.txt b/res/cardsfolder/s/superior_numbers.txt index c95c7e03351..ad1edb9f192 100644 --- a/res/cardsfolder/s/superior_numbers.txt +++ b/res/cardsfolder/s/superior_numbers.txt @@ -1,12 +1,12 @@ -Name:Superior Numbers -ManaCost:G G -Types:Sorcery -Text:no text -A:SP$ DealDamage | Cost$ G G | NumDmg$ X | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ CARDNAME deals damage to target creature equal to the number of creatures you control in excess of the number of creatures target opponent controls. -SVar:X:Count$Valid Creature.YouCtrl/Minus.Y -SVar:Y:Count$Valid Creature.YouDontCtrl -SVar:Rarity:Uncommon -SVar:Picture:http://www.wizards.com/global/images/magic/general/superior_numbers.jpg -SetInfo:MIR|Uncommon|http://magiccards.info/scans/en/mr/142.jpg -Oracle:Superior Numbers deals damage to target creature equal to the number of creatures you control in excess of the number of creatures target opponent controls. +Name:Superior Numbers +ManaCost:G G +Types:Sorcery +Text:no text +A:SP$ DealDamage | Cost$ G G | NumDmg$ X | References$ X,Y | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ CARDNAME deals damage to target creature equal to the number of creatures you control in excess of the number of creatures target opponent controls. +SVar:X:Count$Valid Creature.YouCtrl/Minus.Y +SVar:Y:Count$Valid Creature.YouDontCtrl +SVar:Rarity:Uncommon +SVar:Picture:http://www.wizards.com/global/images/magic/general/superior_numbers.jpg +SetInfo:MIR|Uncommon|http://magiccards.info/scans/en/mr/142.jpg +Oracle:Superior Numbers deals damage to target creature equal to the number of creatures you control in excess of the number of creatures target opponent controls. End \ No newline at end of file diff --git a/res/cardsfolder/s/surrakar_spellblade.txt b/res/cardsfolder/s/surrakar_spellblade.txt index 1f7b1adb9e4..1318a5eebba 100644 --- a/res/cardsfolder/s/surrakar_spellblade.txt +++ b/res/cardsfolder/s/surrakar_spellblade.txt @@ -5,8 +5,8 @@ Text:no text PT:2/1 T:Mode$ SpellCast | ValidCard$ Instant,Sorcery | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ Whenever you cast a instant or sorcery spell, you may put a charge counter on CARDNAME. T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | CombatDamage$ True | OptionalDecider$ You | Execute$ TrigDraw | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you may draw X cards, where X is the number of charge counters on CARDNAME. -SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ CHARGE | CounterNum$ 1 -SVar:TrigDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ X +SVar:TrigPutCounter:AB$ PutCounter | Cost$ 0 | Defined$ Self | CounterType$ CHARGE | CounterNum$ 1 +SVar:TrigDraw:AB$ Draw | Cost$ 0 | Defined$ You | NumCards$ X | References$ X SVar:X:Count$CardCounters.CHARGE SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/surrakar_spellblade.jpg diff --git a/res/cardsfolder/s/survival_cache.txt b/res/cardsfolder/s/survival_cache.txt index c89b4b1125f..6b21be5ed6c 100644 --- a/res/cardsfolder/s/survival_cache.txt +++ b/res/cardsfolder/s/survival_cache.txt @@ -3,8 +3,8 @@ ManaCost:2 W Types:Sorcery Text:no text K:Rebound -A:SP$GainLife | Cost$ 2 W | Defined$ You | LifeAmount$ 2 | SubAbility$ DoDraw | SpellDescription$ You gain 2 life. Then if you have more life than an opponent, draw a card. -SVar:DoDraw:DB$ Draw | Defined$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ GTY | NumCards$ 1 +A:SP$ GainLife | Cost$ 2 W | Defined$ You | LifeAmount$ 2 | SubAbility$ DoDraw | SpellDescription$ You gain 2 life. Then if you have more life than an opponent, draw a card. +SVar:DoDraw:DB$ Draw | Defined$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ GTY | References$ X,Y | NumCards$ 1 SVar:X:Count$YourLifeTotal SVar:Y:Count$OppLifeTotal SVar:Picture:http://www.wizards.com/global/images/magic/general/survival_cache.jpg diff --git a/res/cardsfolder/s/svogthos_the_restless_tomb.txt b/res/cardsfolder/s/svogthos_the_restless_tomb.txt index f7afa2ece01..81223969585 100644 --- a/res/cardsfolder/s/svogthos_the_restless_tomb.txt +++ b/res/cardsfolder/s/svogthos_the_restless_tomb.txt @@ -3,7 +3,7 @@ ManaCost:no cost Types:Land Text:no text A:AB$ Mana | Cost$ T | Produced$ 1 | SpellDescription$ Add 1 to your mana pool. -A:AB$ Animate | Cost$ 3 B G | Defined$ Self | Types$ Creature,Zombie,Plant | Colors$ Black,Green | staticAbilities$ Static | SpellDescription$ Until end of turn, CARDNAME becomes a black and green Plant Zombie creature with "This creature's power and toughness are each equal to the number of creature cards in your graveyard." It's still a land. +A:AB$ Animate | Cost$ 3 B G | Defined$ Self | Types$ Creature,Zombie,Plant | Colors$ Black,Green | staticAbilities$ Static | References$ X | SpellDescription$ Until end of turn, CARDNAME becomes a black and green Plant Zombie creature with "This creature's power and toughness are each equal to the number of creature cards in your graveyard." It's still a land. SVar:Static:Mode$ Continuous | EffectZone$ Battlefield | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ This creature's power and toughness are each equal to the number of creature cards in your graveyard. SVar:X:Count$TypeInYourYard.Creature SVar:RemAIDeck:True diff --git a/res/cardsfolder/s/swallowing_plague.txt b/res/cardsfolder/s/swallowing_plague.txt index e5d2fa5414c..16063939315 100644 --- a/res/cardsfolder/s/swallowing_plague.txt +++ b/res/cardsfolder/s/swallowing_plague.txt @@ -2,8 +2,8 @@ Name:Swallowing Plague ManaCost:X B B Types:Sorcery Arcane Text:no text -A:SP$ DealDamage | Cost$ X B B | Tgt$ TgtC | NumDmg$ X | SubAbility$ DBGainLife | SpellDescription$ CARDNAME deals X damage to target creature and you gain X life. -SVar:DBGainLife:DB$GainLife | LifeAmount$ X +A:SP$ DealDamage | Cost$ X B B | Tgt$ TgtC | NumDmg$ X | References$ X | SubAbility$ DBGainLife | SpellDescription$ CARDNAME deals X damage to target creature and you gain X life. +SVar:DBGainLife:DB$GainLife | LifeAmount$ X | References$ X SVar:X:Count$xPaid SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/swallowing_plague.jpg diff --git a/res/cardsfolder/s/sway_of_illusion.txt b/res/cardsfolder/s/sway_of_illusion.txt index cece94dc2cd..67c4423b834 100644 --- a/res/cardsfolder/s/sway_of_illusion.txt +++ b/res/cardsfolder/s/sway_of_illusion.txt @@ -3,7 +3,7 @@ ManaCost:1 U Types:Instant Text:no text A:SP$ ChooseColor | Cost$ 1 U | Defined$ You | SubAbility$ DBSwayAnimate | SpellDescription$ Any number of target creatures become the color of your choice until end of turn. Draw a card. -SVar:DBSwayAnimate:DB$ Animate | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ MaxTgts | TgtPrompt$ Select target creatures | Colors$ ChosenColor | OverwriteColors$ True | SubAbility$ DBDraw +SVar:DBSwayAnimate:DB$ Animate | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ MaxTgts | References$ MaxTgts | TgtPrompt$ Select target creatures | Colors$ ChosenColor | OverwriteColors$ True | SubAbility$ DBDraw SVar:DBDraw:DB$ Draw | NumCards$ 1 SVar:MaxTgts:Count$Valid Creature SVar:RemAIDeck:True diff --git a/res/cardsfolder/s/swell_of_courage.txt b/res/cardsfolder/s/swell_of_courage.txt index 9359393ee71..b06d7723b45 100644 --- a/res/cardsfolder/s/swell_of_courage.txt +++ b/res/cardsfolder/s/swell_of_courage.txt @@ -3,7 +3,7 @@ ManaCost:3 W W Types:Instant Text:no text A:SP$ PumpAll | Cost$ 3 W W | ValidCards$ Creature.YouCtrl | NumAtt$ +2 | NumDef$ +2 | SpellDescription$ Creatures you control get +2/+2 until end of turn. -A:AB$ PutCounter | Cost$ X W W Discard<1/CARDNAME> | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterType$ P1P1 | CounterNum$ X | ActivationZone$ Hand | PrecostDesc$ Reinforce X - | SpellDescription$ Put X +1/+1 counters on target creature. +A:AB$ PutCounter | Cost$ X W W Discard<1/CARDNAME> | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterType$ P1P1 | CounterNum$ X | References$ X | ActivationZone$ Hand | PrecostDesc$ Reinforce X - | SpellDescription$ Put X +1/+1 counters on target creature. SVar:X:Count$xPaid SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/swell_of_courage.jpg diff --git a/res/cardsfolder/s/swirling_sandstorm.txt b/res/cardsfolder/s/swirling_sandstorm.txt index 87b1d81d1ea..03f44016967 100644 --- a/res/cardsfolder/s/swirling_sandstorm.txt +++ b/res/cardsfolder/s/swirling_sandstorm.txt @@ -2,7 +2,7 @@ Name:Swirling Sandstorm ManaCost:3 R Types:Instant Text:no text -A:SP$ DamageAll | Cost$ 3 R | NumDmg$ X | ValidCards$ Creature.withoutFlying | ValidPlayers$ Each | ValidDescription$ each creature without flying and each player. | SpellDescription$ Threshold - CARDNAME deals 5 damage to each creature without flying if seven or more cards are in your graveyard. +A:SP$ DamageAll | Cost$ 3 R | NumDmg$ X | References$ X | ValidCards$ Creature.withoutFlying | ValidPlayers$ Each | ValidDescription$ each creature without flying and each player. | SpellDescription$ Threshold - CARDNAME deals 5 damage to each creature without flying if seven or more cards are in your graveyard. SVar:X:Count$Threshold.5.0 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/swirling_sandstorm.jpg diff --git a/res/cardsfolder/s/sword_of_war_and_peace.txt b/res/cardsfolder/s/sword_of_war_and_peace.txt index 5d42c963e75..6ec1be44054 100644 --- a/res/cardsfolder/s/sword_of_war_and_peace.txt +++ b/res/cardsfolder/s/sword_of_war_and_peace.txt @@ -4,9 +4,9 @@ Types:Artifact Equipment Text:Equipped creature gets +2/+2 and has protection from red and from white. K:eqPump 2:+2/+2/Protection from red & Protection from white T:Mode$ DamageDone | ValidSource$ Creature.AttachedBy | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigDamage | TriggerZones$ Battlefield | TriggerDescription$ Whenever equipped creature deals combat damage to a player, CARDNAME deals damage to that player equal to the number of cards in his or her hand and you gain 1 life for each card in your hand. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ TriggeredTarget | NumDmg$ X | SubAbility$ DBGain +SVar:TrigDamage:AB$ DealDamage | Cost$ 0 | Defined$ TriggeredTarget | NumDmg$ X | References$ X | SubAbility$ DBGain SVar:X:TargetedPlayer$CardsInHand -SVar:DBGain:DB$GainLife | Defined$ You | LifeAmount$ Y +SVar:DBGain:DB$GainLife | Defined$ You | LifeAmount$ Y | References$ Y SVar:Y:Count$CardsInYourHand SVar:Rarity:Mythic SVar:Picture:http://www.wizards.com/global/images/magic/general/sword_of_war_and_peace.jpg diff --git a/res/cardsfolder/s/sylvan_hierophant.txt b/res/cardsfolder/s/sylvan_hierophant.txt index 5f15850aa08..77d86001b18 100644 --- a/res/cardsfolder/s/sylvan_hierophant.txt +++ b/res/cardsfolder/s/sylvan_hierophant.txt @@ -4,8 +4,8 @@ Types:Creature Human Cleric Text:no text PT:1/2 T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigExile | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, exile CARDNAME, then return another target creature card from your graveyard to your hand. -SVar:TrigExile:AB$ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Exile | SubAbility$ HierophantChange -SVar:HierophantChange:DB$ChangeZone | DefinedPlayer$ TriggeredCardController | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Creature.Other+YouCtrl +SVar:TrigExile:AB$ ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Exile | SubAbility$ HierophantChange +SVar:HierophantChange:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Creature.Other+YouCtrl SVar:RemAIDeck:True SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/sylvan_hierophant.jpg diff --git a/res/cardsfolder/s/sylvan_paradise.txt b/res/cardsfolder/s/sylvan_paradise.txt index 065d2173aec..c4ab57bc32c 100644 --- a/res/cardsfolder/s/sylvan_paradise.txt +++ b/res/cardsfolder/s/sylvan_paradise.txt @@ -2,7 +2,7 @@ Name:Sylvan Paradise ManaCost:G Types:Instant Text:no text -A:SP$ Animate | Cost$ G | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ MaxTgts | TgtPrompt$ Select target creatures | Colors$ Green | OverwriteColors$ True | SpellDescription$ Any number of target creatures become green until end of turn. +A:SP$ Animate | Cost$ G | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ MaxTgts | References$ MaxTgts | TgtPrompt$ Select target creatures | Colors$ Green | OverwriteColors$ True | SpellDescription$ Any number of target creatures become green until end of turn. SVar:MaxTgts:Count$Valid Creature SVar:RemAIDeck:True SVar:RemRandomDeck:True diff --git a/res/cardsfolder/s/syncopate.txt b/res/cardsfolder/s/syncopate.txt index 61596c6d838..959220021d7 100644 --- a/res/cardsfolder/s/syncopate.txt +++ b/res/cardsfolder/s/syncopate.txt @@ -2,7 +2,7 @@ Name:Syncopate ManaCost:X U Types:Instant Text:no text -A:SP$ Counter | Cost$ X U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | Destination$ Exile | UnlessCost$ X | SpellDescription$ Counter target spell unless its controller pays X. If that spell is countered this way, exile it instead of putting it into its owner's graveyard. +A:SP$ Counter | Cost$ X U | References$ X | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | Destination$ Exile | UnlessCost$ X | SpellDescription$ Counter target spell unless its controller pays X. If that spell is countered this way, exile it instead of putting it into its owner's graveyard. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/s/synod_artificer.txt b/res/cardsfolder/s/synod_artificer.txt index 3471f2cd849..59e3055956a 100644 --- a/res/cardsfolder/s/synod_artificer.txt +++ b/res/cardsfolder/s/synod_artificer.txt @@ -3,8 +3,8 @@ ManaCost:2 U Types:Creature Vedalken Artificer Text:no text PT:1/2 -A:AB$ Tap | Cost$ X T | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Artifact.nonCreature | TgtPrompt$ Select target noncreature artifact | SpellDescription$ Tap X target noncreature artifacts. -A:AB$ Untap | Cost$ X T | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Artifact.nonCreature | TgtPrompt$ Select target noncreature artifact | SpellDescription$ Untap X target noncreature artifacts. +A:AB$ Tap | Cost$ X T | References$ X,MaxTgts | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Artifact.nonCreature | TgtPrompt$ Select target noncreature artifact | SpellDescription$ Tap X target noncreature artifacts. +A:AB$ Untap | Cost$ X T | References$ X,MaxTgts | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Artifact.nonCreature | TgtPrompt$ Select target noncreature artifact | SpellDescription$ Untap X target noncreature artifacts. # It may seem wrong to not use X in the target, but since the Targets are what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Artifact.nonCreature diff --git a/res/cardsfolder/s/szadek_lord_of_secrets.txt b/res/cardsfolder/s/szadek_lord_of_secrets.txt index 04c9c92ef75..63c6bcf36cb 100644 --- a/res/cardsfolder/s/szadek_lord_of_secrets.txt +++ b/res/cardsfolder/s/szadek_lord_of_secrets.txt @@ -6,8 +6,8 @@ PT:5/5 K:Flying R:Event$ DamageDone | CombatDamage$ True | ValidSource$ Card.Self | ValidTarget$ Opponent | ReplaceWith$ CountersAndMill | Description$ If CARDNAME would deal combat damage to a player, instead put that many +1/+1 counters on Szadek and that player puts that many cards from the top of his or her library into his or her graveyard. SVar:X:ReplaceCount$DamageAmount -SVar:CountersAndMill:AB$ PutCounter | Cost$ 0 | Defined$ Self | CounterNum$ X | CounterType$ P1P1 | SubAbility$ Mill -SVar:Mill:DB$Mill | Cost$ 0 | Defined$ ReplacedTarget | NumCards$ X +SVar:CountersAndMill:AB$ PutCounter | Cost$ 0 | Defined$ Self | CounterNum$ X | References$ X | CounterType$ P1P1 | SubAbility$ Mill +SVar:Mill:DB$ Mill | Cost$ 0 | Defined$ ReplacedTarget | NumCards$ X | References$ X SVar:Picture:http://www.wizards.com/global/images/magic/general/szadek_lord_of_secrets.jpg SetInfo:RAV|Rare|http://magiccards.info/scans/en/rav/234.jpg SetInfo:COM|Rare|http://magiccards.info/scans/en/cmd/228.jpg diff --git a/res/cardsfolder/t/tahngarth_talruum_hero.txt b/res/cardsfolder/t/tahngarth_talruum_hero.txt index f6d6c2d3753..5fa5ecea75a 100644 --- a/res/cardsfolder/t/tahngarth_talruum_hero.txt +++ b/res/cardsfolder/t/tahngarth_talruum_hero.txt @@ -4,8 +4,8 @@ Types:Legendary Creature Minotaur Warrior Text:no text PT:4/4 K:Vigilance -A:AB$ DealDamage | Cost$ 1 R T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DamageThis | SpellDescription$ CARDNAME deals damage equal to its power to target creature. That creature deals damage equal to its power to CARDNAME. -SVar:DamageThis:DB$DealDamage | Defined$ Self | DamageSource$ Targeted | NumDmg$ Y +A:AB$ DealDamage | Cost$ 1 R T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | References$ X | SubAbility$ DamageThis | SpellDescription$ CARDNAME deals damage equal to its power to target creature. That creature deals damage equal to its power to CARDNAME. +SVar:DamageThis:DB$DealDamage | Defined$ Self | DamageSource$ Targeted | NumDmg$ Y | References$ Y SVar:X:Count$CardPower SVar:Y:Targeted$CardPower SVar:Rarity:Rare diff --git a/res/cardsfolder/t/tainted_sigil.txt b/res/cardsfolder/t/tainted_sigil.txt index 4f5587fc093..1e67d7b503c 100644 --- a/res/cardsfolder/t/tainted_sigil.txt +++ b/res/cardsfolder/t/tainted_sigil.txt @@ -2,7 +2,7 @@ Name:Tainted Sigil ManaCost:1 W B Types:Artifact Text:no text -A:AB$ GainLife | Cost$ T Sac<1/CARDNAME> | LifeAmount$ X | SpellDescription$ You gain life equal to the total life lost by all players this turn. (Damage causes loss of life.) +A:AB$ GainLife | Cost$ T Sac<1/CARDNAME> | LifeAmount$ X | References$ X,Y | SpellDescription$ You gain life equal to the total life lost by all players this turn. (Damage causes loss of life.) SVar:X:Count$LifeYouLostThisTurn/Plus.Y SVar:Y:Count$LifeOppLostThisTurn SVar:Rarity:Uncommon diff --git a/res/cardsfolder/t/taj_nar_swordsmith.txt b/res/cardsfolder/t/taj_nar_swordsmith.txt index d3d07d4212b..ad6573353be 100644 --- a/res/cardsfolder/t/taj_nar_swordsmith.txt +++ b/res/cardsfolder/t/taj_nar_swordsmith.txt @@ -4,7 +4,7 @@ Types:Creature Cat Soldier Text:no text PT:2/3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChange | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, you may pay X. If you do, search your library for an Equipment card with converted mana cost X or less and put that card onto the battlefield. Then shuffle your library. -SVar:TrigChange:AB$ChangeZone | Cost$ X | Origin$ Library | Destination$ Battlefield | ChangeType$ Card.Equipment+cmcLEX | ChangeNum$ 1 +SVar:TrigChange:AB$ChangeZone | Cost$ X | References$ X | Origin$ Library | Destination$ Battlefield | ChangeType$ Card.Equipment+cmcLEX | ChangeNum$ 1 SVar:X:Count$xPaid SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/taj_nar_swordsmith.jpg diff --git a/res/cardsfolder/t/tajuru_archer.txt b/res/cardsfolder/t/tajuru_archer.txt index 96b8b936ad9..ed6ec2ae698 100644 --- a/res/cardsfolder/t/tajuru_archer.txt +++ b/res/cardsfolder/t/tajuru_archer.txt @@ -5,7 +5,7 @@ Text:no text PT:1/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self| OptionalDecider$ You | Execute$ TrigDamage | TriggerDescription$ Whenever CARDNAME or another Ally enters the battlefield under your control, you may have CARDNAME deal damage to target creature with flying equal to the number of Allies you control. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Ally.Other+YouCtrl | OptionalDecider$ You | TriggerZones$ Battlefield | Execute$ TrigDamage | Secondary$ True | TriggerDescription$ Whenever CARDNAME or another Ally enters the battlefield under your control, you may have CARDNAME deal damage to target creature with flying equal to the number of Allies you control. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature.withFlying | NumDmg$ NumAllies | TgtPrompt$ Select a target creature with flying. +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Creature.withFlying | NumDmg$ NumAllies | References$ NumAllies | TgtPrompt$ Select a target creature with flying. SVar:NumAllies:Count$Valid Ally.YouCtrl SVar:PlayMain1:TRUE SVar:BuffedBy:Ally diff --git a/res/cardsfolder/t/talon_of_pain.txt b/res/cardsfolder/t/talon_of_pain.txt index 9bd11cd1d39..f47bdb3b5e2 100644 --- a/res/cardsfolder/t/talon_of_pain.txt +++ b/res/cardsfolder/t/talon_of_pain.txt @@ -4,7 +4,7 @@ Types:Artifact Text:no text T:Mode$ DamageDone | ValidSource$ Card.Other+YouCtrl | ValidTarget$ Opponent | TriggerZones$ Battlefield | Execute$ TalonPutCounter | TriggerDescription$ Whenever a source you control other than CARDNAME deals damage to an opponent, put a charge counter on CARDNAME. SVar:TalonPutCounter:AB$ PutCounter | Cost$ 0 | CounterType$ CHARGE | CounterNum$ 1 -A:AB$ DealDamage | Cost$ X T SubCounter | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target creature or player. +A:AB$ DealDamage | Cost$ X T SubCounter | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to target creature or player. SVar:X:Count$xPaid # The X cost won't be limited by the number of charge counters, but if enough aren't present, the spell will be cancelled. SVar:RemAIDeck:True diff --git a/res/cardsfolder/t/tamanoa.txt b/res/cardsfolder/t/tamanoa.txt index 5ab37c87910..1b857495f72 100644 --- a/res/cardsfolder/t/tamanoa.txt +++ b/res/cardsfolder/t/tamanoa.txt @@ -4,7 +4,7 @@ Types:Creature Spirit Text:no text PT:2/4 T:Mode$ DamageDone | ValidSource$ Card.nonCreature+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigGainLife | TriggerDescription$ Whenever a noncreature source you control deals damage, you gain that much life. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGainLife:AB$ GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount Svar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/tamanoa.jpg diff --git a/res/cardsfolder/t/tamiyo_the_moon_sage.txt b/res/cardsfolder/t/tamiyo_the_moon_sage.txt index 96b65b8c77f..23c222eefb9 100644 --- a/res/cardsfolder/t/tamiyo_the_moon_sage.txt +++ b/res/cardsfolder/t/tamiyo_the_moon_sage.txt @@ -5,7 +5,7 @@ Text:no text Loyalty:4 A:AB$ Tap | Cost$ AddCounter<1/LOYALTY> | ValidTgts$ Permanent | TgtPrompt$ Choose target permanent. | Planeswalker$ True | SubAbility$ TamiyoPump | SpellDescription$ Tap target permanent. It doesn't untap during its controller's next untap step. SVar:TamiyoPump:DB$Pump | Defined$ Targeted | Permanent$ True | KW$ HIDDEN This card doesn't untap during your next untap step. -A:AB$ Draw | Cost$ SubCounter<2/LOYALTY> | ValidTgts$ Player | TgtPrompt$ Select target player | Defined$ You | NumCards$ X | Planeswalker$ True | SpellDescription$ Draw a card for each tapped creature target player controls. +A:AB$ Draw | Cost$ SubCounter<2/LOYALTY> | ValidTgts$ Player | TgtPrompt$ Select target player | Defined$ You | NumCards$ X | References$ X | Planeswalker$ True | SpellDescription$ Draw a card for each tapped creature target player controls. SVar:X:Count$Valid Creature.tapped+TargetedPlayerCtrl A:AB$ Effect | Cost$ SubCounter<8/LOYALTY> | Planeswalker$ True | Ultimate$ True | Name$ Tamiyo, the Moon Sage emblem | Image$ tamiyo_the_moon_sage_emblem | StaticAbilities$ UnlimitedHand | Triggers$ TamiyoCardToGrave | SVars$ TamiyoReturn | Stackable$ False | Duration$ Permanent | AILogic$ Always | SpellDescription$ You get an emblem with "You have no maximum hand size" and "Whenever a card is put into your graveyard from anywhere, you may return it to your hand." SVar:UnlimitedHand:Mode$ Continuous | Affected$ You | SetMaxHandSize$ -1 | Description$ You have no maximum hand size. diff --git a/res/cardsfolder/t/tar_fiend.txt b/res/cardsfolder/t/tar_fiend.txt index c9c5f84e324..51e810fe47e 100644 --- a/res/cardsfolder/t/tar_fiend.txt +++ b/res/cardsfolder/t/tar_fiend.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 K:Devour:2 T:Mode$ ChangesZone | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDiscard | TriggerDescription$ When CARDNAME enters the battlefield, target player discards a card for each creature it devoured. -SVar:TrigDiscard:AB$Discard | Cost$ 0 | ValidTgts$ Player | NumCards$ X | Mode$ TgtChoose +SVar:TrigDiscard:AB$Discard | Cost$ 0 | ValidTgts$ Player | NumCards$ X | References$ X | Mode$ TgtChoose SVar:X:Count$Devoured Card SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/tar_fiend.jpg diff --git a/res/cardsfolder/t/tarox_bladewing.txt b/res/cardsfolder/t/tarox_bladewing.txt index c81ffe4520f..9d22dd32759 100644 --- a/res/cardsfolder/t/tarox_bladewing.txt +++ b/res/cardsfolder/t/tarox_bladewing.txt @@ -5,7 +5,7 @@ Text:no text PT:4/3 K:Flying K:Haste -A:AB$ Pump | Cost$ Discard<1/Card.namedTarox Bladewing> | NumAtt$ +X | NumDef$ +X | CostDesc$ Grandeur - Discard another card named Tarox Bladewing: | SpellDescription$ Tarox Bladewing gets +X/+X until end of turn, where X is its power. +A:AB$ Pump | Cost$ Discard<1/Card.namedTarox Bladewing> | NumAtt$ +X | NumDef$ +X | References$ X | CostDesc$ Grandeur - Discard another card named Tarox Bladewing: | SpellDescription$ Tarox Bladewing gets +X/+X until end of turn, where X is its power. SVar:X:Count$CardPower SVar:Rarity:Rare SVar:Picture:http://resources.wizards.com/magic/cards/fut/en-us/card136139.jpg diff --git a/res/cardsfolder/t/tears_of_rage.txt b/res/cardsfolder/t/tears_of_rage.txt index b4fa19b14e4..517a2725a45 100644 --- a/res/cardsfolder/t/tears_of_rage.txt +++ b/res/cardsfolder/t/tears_of_rage.txt @@ -2,7 +2,7 @@ Name:Tears of Rage ManaCost:2 R R Types:Instant Text:Cast CARDNAME only during the declare attackers step.\r\n -A:SP$ PumpAll | Cost$ 2 R R | ActivationPhases$ Declare Attackers - Play Instants and Abilities | ValidCards$ Creature.attacking+YouCtrl | NumAtt$ +X | KW$ Trample & HIDDEN At the beginning of the end step, sacrifice CARDNAME. | SpellDescription$ Attacking creatures you control get +X/+0 until end of turn, where X is the number of attacking creatures. Sacrifice those creatures at the beginning of the next end step. +A:SP$ PumpAll | Cost$ 2 R R | ActivationPhases$ Declare Attackers - Play Instants and Abilities | ValidCards$ Creature.attacking+YouCtrl | NumAtt$ +X | References$ X | KW$ Trample & HIDDEN At the beginning of the end step, sacrifice CARDNAME. | SpellDescription$ Attacking creatures you control get +X/+0 until end of turn, where X is the number of attacking creatures. Sacrifice those creatures at the beginning of the next end step. SVar:X:Count$Valid Creature.attacking+YouCtrl SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/t/tectonic_break.txt b/res/cardsfolder/t/tectonic_break.txt index 77594040f2e..2c84af1d93d 100644 --- a/res/cardsfolder/t/tectonic_break.txt +++ b/res/cardsfolder/t/tectonic_break.txt @@ -2,7 +2,7 @@ Name:Tectonic Break ManaCost:X R R Types:Sorcery Text:no text -A:SP$ Sacrifice | Cost$ X R R | Amount$ X | SacValid$ Land | Defined$ Each | SpellDescription$ Each player sacrifices X lands. +A:SP$ Sacrifice | Cost$ X R R | Amount$ X | References$ X | SacValid$ Land | Defined$ Each | SpellDescription$ Each player sacrifices X lands. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/t/temporary_insanity.txt b/res/cardsfolder/t/temporary_insanity.txt index d7f870c95a4..2ed08b5a488 100644 --- a/res/cardsfolder/t/temporary_insanity.txt +++ b/res/cardsfolder/t/temporary_insanity.txt @@ -2,7 +2,7 @@ Name:Temporary Insanity ManaCost:3 R Types:Instant Text:no text -A:SP$ GainControl | Cost$ 3 R | ValidTgts$ Creature.powerLTX | TgtPrompt$ Select target creature with power less than or equal to the number of cards in your graveyard | LoseControl$ EOT | Untap$ True | AddKWs$ Haste | SpellDescription$ Untap target creature with power less than the number of cards in your graveyard and gain control of it until end of turn. That creature gains haste until end of turn. +A:SP$ GainControl | Cost$ 3 R | ValidTgts$ Creature.powerLTX | References$ X | TgtPrompt$ Select target creature with power less than or equal to the number of cards in your graveyard | LoseControl$ EOT | Untap$ True | AddKWs$ Haste | SpellDescription$ Untap target creature with power less than the number of cards in your graveyard and gain control of it until end of turn. That creature gains haste until end of turn. SVar:X:Count$InYourYard SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/temporary_insanity.jpg diff --git a/res/cardsfolder/t/tempting_wurm.txt b/res/cardsfolder/t/tempting_wurm.txt index 53677f912d9..a52c638dbb5 100644 --- a/res/cardsfolder/t/tempting_wurm.txt +++ b/res/cardsfolder/t/tempting_wurm.txt @@ -4,7 +4,7 @@ Types:Creature Wurm Text:no text PT:5/5 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChange | TriggerDescription$ When CARDNAME enters the battlefield, each opponent may put any number of artifact, creature, enchantment, and/or land cards from his or her hand onto the battlefield. -SVar:TrigChange:AB$ChangeZone | Cost$ 0 | Origin$ Hand | Destination$ Battlefield | ChangeType$ Artifact,Creature,Enchantment,Land | DefinedPlayer$ Opponent | ChangeNum$ X +SVar:TrigChange:AB$ ChangeZone | Cost$ 0 | Origin$ Hand | Destination$ Battlefield | ChangeType$ Artifact,Creature,Enchantment,Land | DefinedPlayer$ Opponent | ChangeNum$ X | References$ X SVar:X:Count$InOppHand SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/tempting_wurm.jpg diff --git a/res/cardsfolder/t/tendrils_of_corruption.txt b/res/cardsfolder/t/tendrils_of_corruption.txt index b193ec766a8..ef81eb39b0b 100644 --- a/res/cardsfolder/t/tendrils_of_corruption.txt +++ b/res/cardsfolder/t/tendrils_of_corruption.txt @@ -3,7 +3,7 @@ ManaCost:3 B Types:Instant Text:no text A:SP$ DealDamage | Cost$ 3 B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DBGainLife | SpellDescription$ CARDNAME deals X damage to target creature and you gain X life, where X is the number of Swamps you control. -SVar:DBGainLife:DB$GainLife | LifeAmount$ X +SVar:DBGainLife:DB$ GainLife | LifeAmount$ X | References$ X SVar:X:Count$TypeYouCtrl.Swamp SVar:Rarity:Common SVar:Picture:http://resources.wizards.com/magic/cards/tsp/en-us/card106632.jpg diff --git a/res/cardsfolder/t/tephraderm.txt b/res/cardsfolder/t/tephraderm.txt index d0fa584c084..c071c01e611 100644 --- a/res/cardsfolder/t/tephraderm.txt +++ b/res/cardsfolder/t/tephraderm.txt @@ -5,8 +5,8 @@ Text:no text PT:4/5 T:Mode$ DamageDone | ValidSource$ Creature | ValidTarget$ Card.Self | Execute$ TrigDealDamage1 | TriggerDescription$ Whenever a creature deals damage to CARDNAME, CARDNAME deals that much damage to that creature. T:Mode$ DamageDone | ValidSource$ Instant,Sorcery | ValidTarget$ Card.Self | Execute$ TrigDealDamage2 | TriggerDescription$ Whenever a spell deals damage to CARDNAME, CARDNAME deals that much damage to that spell's controller. -SVar:TrigDealDamage1:AB$DealDamage | Cost$ 0 | Defined$ TriggeredSource | NumDmg$ X -SVar:TrigDealDamage2:AB$DealDamage | Cost$ 0 | Defined$ TriggeredSourceController | NumDmg$ X +SVar:TrigDealDamage1:AB$ DealDamage | Cost$ 0 | Defined$ TriggeredSource | NumDmg$ X | References$ X +SVar:TrigDealDamage2:AB$ DealDamage | Cost$ 0 | Defined$ TriggeredSourceController | NumDmg$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/tephraderm.jpg diff --git a/res/cardsfolder/t/terravore.txt b/res/cardsfolder/t/terravore.txt index bfbf8aadeb6..b9ca073301c 100644 --- a/res/cardsfolder/t/terravore.txt +++ b/res/cardsfolder/t/terravore.txt @@ -4,7 +4,7 @@ Types:Creature Lhurgoyf Text:no text PT:*/* K:Trample -S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the number of land cards in all graveyards. +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | References$ X | Description$ CARDNAME's power and toughness are each equal to the number of land cards in all graveyards. SVar:X:Count$TypeInAllYards.Land SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/t/testament_of_faith.txt b/res/cardsfolder/t/testament_of_faith.txt index a4403f144ff..f36dbba4150 100644 --- a/res/cardsfolder/t/testament_of_faith.txt +++ b/res/cardsfolder/t/testament_of_faith.txt @@ -2,7 +2,7 @@ Name:Testament of Faith ManaCost:W Types:Enchantment Text:no text -A:AB$ Animate | Cost$ X | Defined$ Self | Power$ X | Toughness$ X | Types$ Creature,Wall | Keywords$ Defender | SpellDescription$ CARDNAME becomes an X/X Wall creature with defender until end of turn. It's still an enchantment. +A:AB$ Animate | Cost$ X | Defined$ Self | Power$ X | Toughness$ X | References$ X | Types$ Creature,Wall | Keywords$ Defender | SpellDescription$ CARDNAME becomes an X/X Wall creature with defender until end of turn. It's still an enchantment. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/t/tezzeret_agent_of_bolas.txt b/res/cardsfolder/t/tezzeret_agent_of_bolas.txt index 084c4df0e38..58b408dcd73 100644 --- a/res/cardsfolder/t/tezzeret_agent_of_bolas.txt +++ b/res/cardsfolder/t/tezzeret_agent_of_bolas.txt @@ -5,8 +5,8 @@ Text:no text Loyalty:3 A:AB$ Dig | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | DigNum$ 5 | ChangeNum$ 1 | Optional$ True | ChangeValid$ Artifact | SpellDescription$ Look at the top five cards of your library. You may reveal an artifact card from among them and put it into your hand. Put the rest on the bottom of your library in any order. A:AB$ Animate | Cost$ SubCounter<1/LOYALTY> | Planeswalker$ True | ValidTgts$ Artifact | TgtPrompt$ Select target artifact | Power$ 5 | Toughness$ 5 | Types$ Creature | Permanent$ True | SpellDescription$ Target artifact becomes a 5/5 artifact creature. -A:AB$ LoseLife | Cost$ SubCounter<4/LOYALTY> | Planeswalker$ True | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ X | SubAbility$ DBGain | SpellDescription$ Target player loses X life and you gain X life, where X is twice the number of artifacts you control. -SVar:DBGain:DB$GainLife | Defined$ You | LifeAmount$ X +A:AB$ LoseLife | Cost$ SubCounter<4/LOYALTY> | Planeswalker$ True | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ X | References$ X | SubAbility$ DBGain | SpellDescription$ Target player loses X life and you gain X life, where X is twice the number of artifacts you control. +SVar:DBGain:DB$GainLife | Defined$ You | LifeAmount$ X | References$ X SVar:X:Count$Valid Artifact.YouCtrl/Times.2 SVar:Rarity:Mythic SVar:Picture:http://www.wizards.com/global/images/magic/general/tezzeret_agent_of_bolas.jpg diff --git a/res/cardsfolder/t/the_rack.txt b/res/cardsfolder/t/the_rack.txt index bd6cd741dc0..a4806dae8bd 100644 --- a/res/cardsfolder/t/the_rack.txt +++ b/res/cardsfolder/t/the_rack.txt @@ -3,7 +3,7 @@ ManaCost:1 Types:Artifact Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Opponent | IsPresent$ Card.YouDontCtrl | PresentZone$ Hand | PresentCompare$ LT3 | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ At the beginning of each opponent's upkeep, CARDNAME deals X damage to that player, where X is 3 minus the number of cards in his or her hand. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ X +SVar:TrigDamage:AB$ DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ X | References$ X SVar:X:Count$InOppHand/NMinus.3 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/the_rack.jpg diff --git a/res/cardsfolder/t/theft_of_dreams.txt b/res/cardsfolder/t/theft_of_dreams.txt index db471516598..a6bc42f8bff 100644 --- a/res/cardsfolder/t/theft_of_dreams.txt +++ b/res/cardsfolder/t/theft_of_dreams.txt @@ -2,7 +2,7 @@ Name:Theft of Dreams ManaCost:2 U Types:Sorcery Text:no text -A:SP$ Draw | Cost$ 2 U | NumCards$ X | SpellDescription$ Draw a card for each tapped creature target opponent controls. +A:SP$ Draw | Cost$ 2 U | NumCards$ X | References$ X | SpellDescription$ Draw a card for each tapped creature target opponent controls. SVar:X:Count$TypeOppCtrlTapped.Creature SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/t/thermal_blast.txt b/res/cardsfolder/t/thermal_blast.txt index 2a2741a8bdf..068025fcc1a 100644 --- a/res/cardsfolder/t/thermal_blast.txt +++ b/res/cardsfolder/t/thermal_blast.txt @@ -2,7 +2,7 @@ Name:Thermal Blast ManaCost:4 R Types:Instant Text:no text -A:SP$ DealDamage | Cost$ 4 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SpellDescription$ CARDNAME deals 3 damage to target creature. Threshold - CARDNAME deals 5 damage to that creature instead if seven or more cards are in your graveyard. +A:SP$ DealDamage | Cost$ 4 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals 3 damage to target creature. Threshold - CARDNAME deals 5 damage to that creature instead if seven or more cards are in your graveyard. SVar:X:Count$Threshold.5.3 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/thermal_blast.jpg diff --git a/res/cardsfolder/t/thieving_sprite.txt b/res/cardsfolder/t/thieving_sprite.txt index b57b14a35a0..611ff7d55c0 100644 --- a/res/cardsfolder/t/thieving_sprite.txt +++ b/res/cardsfolder/t/thieving_sprite.txt @@ -5,7 +5,7 @@ Text:no text PT:1/1 K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ DBDiscard | TriggerDescription$ Whenever CARDNAME enters the battlefield, target player reveals X cards from his or her hand, where X is the number of Faeries you control. You choose one of those cards. That player discards that card. -SVar:DBDiscard:DB$ Discard | ValidTgts$ Player | NumCards$ 1 | RevealNumber$ X | Mode$ RevealYouChoose | DiscardValid$ Card +SVar:DBDiscard:DB$ Discard | ValidTgts$ Player | NumCards$ 1 | RevealNumber$ X | References$ X | Mode$ RevealYouChoose | DiscardValid$ Card SVar:X:Count$TypeYouCtrl.Faerie SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/thieving_sprite.jpg diff --git a/res/cardsfolder/t/thoughts_of_ruin.txt b/res/cardsfolder/t/thoughts_of_ruin.txt index 0a12d5c7c91..3c776881926 100644 --- a/res/cardsfolder/t/thoughts_of_ruin.txt +++ b/res/cardsfolder/t/thoughts_of_ruin.txt @@ -2,7 +2,7 @@ Name:Thoughts of Ruin ManaCost:2 R R Types:Sorcery Text:no text -A:SP$ Sacrifice | Cost$ 2 R R | SacValid$ Land | Amount$ X | Defined$ Each | SpellDescription$ Each player sacrifices a land for each card in your hand. +A:SP$ Sacrifice | Cost$ 2 R R | SacValid$ Land | Amount$ X | References$ X | Defined$ Each | SpellDescription$ Each player sacrifices a land for each card in your hand. SVar:X:Count$InYourHand SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/t/thrashing_mudspawn.txt b/res/cardsfolder/t/thrashing_mudspawn.txt index d1ef7430072..e668cc020b1 100644 --- a/res/cardsfolder/t/thrashing_mudspawn.txt +++ b/res/cardsfolder/t/thrashing_mudspawn.txt @@ -4,7 +4,7 @@ Types:Creature Beast Text:no text PT:4/4 T:Mode$ DamageDone | ValidTarget$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigLoseLife | TriggerDescription$ Whenever CARDNAME is dealt damage, you lose that much life. -SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount K:Morph:1 B B SVar:Rarity:Uncommon diff --git a/res/cardsfolder/t/thrive.txt b/res/cardsfolder/t/thrive.txt index 6e8e8af9981..fa4a619f96a 100644 --- a/res/cardsfolder/t/thrive.txt +++ b/res/cardsfolder/t/thrive.txt @@ -2,7 +2,7 @@ Name:Thrive ManaCost:X G Types:Sorcery Text:no text -A:SP$ PutCounter | Cost$ X G | CounterNum$ 1 | CounterType$ P1P1 | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Creature | TgtPrompt$ Select target creatures | SpellDescription$ Put a +1/+1 counter on each of X target creatures. +A:SP$ PutCounter | Cost$ X G | CounterNum$ 1 | CounterType$ P1P1 | TargetMin$ 0 | TargetMax$ MaxTgts | References$ X,MaxTgts | ValidTgts$ Creature | TgtPrompt$ Select target creatures | SpellDescription$ Put a +1/+1 counter on each of X target creatures. # It may seem wrong to not use X in the target, but since the Targets are what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Creature diff --git a/res/cardsfolder/t/throne_of_empires.txt b/res/cardsfolder/t/throne_of_empires.txt index 921a63b1520..470ce825aee 100644 --- a/res/cardsfolder/t/throne_of_empires.txt +++ b/res/cardsfolder/t/throne_of_empires.txt @@ -2,7 +2,7 @@ Name:Throne of Empires ManaCost:4 Types:Artifact Text:no text -A:AB$ Token | Cost$ 1 T | TokenAmount$ X | TokenName$ Soldier | TokenTypes$ Creature,Soldier | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put a 1/1 white Soldier creature token onto the battlefield. Put five of those tokens onto the battlefield instead if you control artifacts named Crown of Empires and Scepter of Empires. +A:AB$ Token | Cost$ 1 T | TokenAmount$ X | References$ X | TokenName$ Soldier | TokenTypes$ Creature,Soldier | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put a 1/1 white Soldier creature token onto the battlefield. Put five of those tokens onto the battlefield instead if you control artifacts named Crown of Empires and Scepter of Empires. SVar:X:Count$AllM12Empires.5.1 SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/throne_of_empires.jpg diff --git a/res/cardsfolder/t/thunder_of_hooves.txt b/res/cardsfolder/t/thunder_of_hooves.txt index 7b39cf227b8..9fb6c39b947 100644 --- a/res/cardsfolder/t/thunder_of_hooves.txt +++ b/res/cardsfolder/t/thunder_of_hooves.txt @@ -2,7 +2,7 @@ Name:Thunder of Hooves ManaCost:3 R Types:Sorcery Text:no text -A:SP$ DamageAll | Cost$ 3 R | NumDmg$ X | ValidCards$ Creature.withoutFlying | ValidPlayers$ Each | ValidDescription$ each creature without flying and each player. | SpellDescription$ CARDNAME deals X damage to each creature without flying and each player, where X is the number of Beasts on the battlefield. +A:SP$ DamageAll | Cost$ 3 R | NumDmg$ X | References$ X | ValidCards$ Creature.withoutFlying | ValidPlayers$ Each | ValidDescription$ each creature without flying and each player. | SpellDescription$ CARDNAME deals X damage to each creature without flying and each player, where X is the number of Beasts on the battlefield. SVar:X:Count$TypeOnBattlefield.Beast SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/t/thundercloud_shaman.txt b/res/cardsfolder/t/thundercloud_shaman.txt index 0cbefc51092..0328c618f69 100644 --- a/res/cardsfolder/t/thundercloud_shaman.txt +++ b/res/cardsfolder/t/thundercloud_shaman.txt @@ -4,7 +4,7 @@ Types:Creature Giant Shaman Text:no text PT:4/4 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDamageAll | TriggerDescription$ When CARDNAME enters the battlefield, it deals damage equal to the number of Giants you control to each non-Giant creature. -SVar:TrigDamageAll:AB$DamageAll | Cost$ 0 | ValidCards$ Creature.nonGiant | NumDmg$ X | ValidDescription$ each non-Giant creature. +SVar:TrigDamageAll:AB$DamageAll | Cost$ 0 | ValidCards$ Creature.nonGiant | NumDmg$ X | References$ X | ValidDescription$ each non-Giant creature. SVar:X:Count$TypeYouCtrl.Giant SVar:PlayMain1:TRUE SVar:RemAIDeck:True diff --git a/res/cardsfolder/t/thundering_wurm.txt b/res/cardsfolder/t/thundering_wurm.txt index 2bcebd77613..bd09574e2f0 100644 --- a/res/cardsfolder/t/thundering_wurm.txt +++ b/res/cardsfolder/t/thundering_wurm.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDiscard | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you discard a land card. SVar:TrigDiscard:AB$ Discard | Cost$ 0 | NumCards$ 1 | DiscardValid$ Land | Mode$ TgtChoose | Optional$ True | RememberDiscarded$ True | SubAbility$ DBSacSelf -SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 +SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | References$ X | ConditionSVarCompare$ LT1 SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:NeedsToPlayVar:Y GE1 diff --git a/res/cardsfolder/t/timbermaw_larva.txt b/res/cardsfolder/t/timbermaw_larva.txt index d8e99b6be06..f506aacd217 100644 --- a/res/cardsfolder/t/timbermaw_larva.txt +++ b/res/cardsfolder/t/timbermaw_larva.txt @@ -4,7 +4,7 @@ Types:Creature Beast Text:no text PT:2/2 T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, it gets +1/+1 until end of turn for each Forest you control. -SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ X | NumDef$ X +SVar:TrigPump:AB$ Pump | Cost$ 0 | Defined$ Self | NumAtt$ X | NumDef$ X | References$ X SVar:X:Count$Valid Forest.YouCtrl SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/timbermaw_larva.jpg diff --git a/res/cardsfolder/t/timberwatch_elf.txt b/res/cardsfolder/t/timberwatch_elf.txt index 29bbef486bb..b1a7af09a82 100644 --- a/res/cardsfolder/t/timberwatch_elf.txt +++ b/res/cardsfolder/t/timberwatch_elf.txt @@ -3,7 +3,7 @@ ManaCost:2 G Types:Creature Elf Text:no text PT:1/2 -A:AB$ Pump | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | SpellDescription$ Target creature gets +X/+X until end of turn, where X is the number of Elves on the battlefield. +A:AB$ Pump | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | References$ X | SpellDescription$ Target creature gets +X/+X until end of turn, where X is the number of Elves on the battlefield. SVar:X:Count$TypeOnBattlefield.Elf SVar:Rarity:Common SVar:Picture:http://resources.wizards.com/magic/cards/lgn/en-us/card45121.jpg diff --git a/res/cardsfolder/t/time_bomb.txt b/res/cardsfolder/t/time_bomb.txt index 3dbf893055f..63b6c371321 100644 --- a/res/cardsfolder/t/time_bomb.txt +++ b/res/cardsfolder/t/time_bomb.txt @@ -4,7 +4,7 @@ Types:Artifact Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, put a time counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ TIME | CounterNum$ 1 -A:AB$ DamageAll | Cost$ 1 T Sac<1/CARDNAME> | ValidCards$ Creature | ValidPlayers$ Each | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to the number of time counters on it to each creature and each player. +A:AB$ DamageAll | Cost$ 1 T Sac<1/CARDNAME> | ValidCards$ Creature | ValidPlayers$ Each | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to the number of time counters on it to each creature and each player. SVar:X:Count$CardCounters.TIME SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/time_bomb.jpg diff --git a/res/cardsfolder/t/timely_reinforcements.txt b/res/cardsfolder/t/timely_reinforcements.txt index 026189f54be..a2397c3ae79 100644 --- a/res/cardsfolder/t/timely_reinforcements.txt +++ b/res/cardsfolder/t/timely_reinforcements.txt @@ -1,15 +1,15 @@ -Name:Timely Reinforcements -ManaCost:2 W -Types:Sorcery -Text:no text -A:SP$ GainLife | Cost$ 2 W | LifeAmount$ 6 | ConditionLifeTotal$ You | ConditionLifeAmount$ LTX | SubAbility$ DBToken | SpellDescription$ If you have less life than an opponent, you gain 6 life. If you control fewer creatures than an opponent, put three 1/1 white Soldier creature tokens onto the battlefield. -SVar:DBToken:DB$ Token | TokenAmount$ 3 | TokenName$ Soldier | TokenTypes$ Creature,Soldier | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | ConditionCheckSVar$ CreatureYouControl | ConditionSVarCompare$ LTCreatureOppControl -SVar:X:Count$OppLifeTotal -SVar:CreatureYouControl:Count$Valid Creature.YouCtrl -SVar:CreatureOppControl:Count$Valid Creature.YouDontCtrl -SVar:RemAIDeck:True -SVar:Rarity:Uncommon -SVar:Picture:http://www.wizards.com/global/images/magic/general/timely_reinforcements.jpg -Oracle:If you have less life than an opponent, you gain 6 life. If you control fewer creatures than an opponent, put three 1/1 white Soldier creature tokens onto the battlefield. -SetInfo:M12|Uncommon|http://magiccards.info/scans/en/m12/40.jpg +Name:Timely Reinforcements +ManaCost:2 W +Types:Sorcery +Text:no text +A:SP$ GainLife | Cost$ 2 W | LifeAmount$ 6 | ConditionLifeTotal$ You | ConditionLifeAmount$ LTX | References$ X | SubAbility$ DBToken | SpellDescription$ If you have less life than an opponent, you gain 6 life. If you control fewer creatures than an opponent, put three 1/1 white Soldier creature tokens onto the battlefield. +SVar:DBToken:DB$ Token | TokenAmount$ 3 | TokenName$ Soldier | TokenTypes$ Creature,Soldier | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | ConditionCheckSVar$ CreatureYouControl | ConditionSVarCompare$ LTCreatureOppControl | References$ CreatureYouControl,CreatureOppControl +SVar:X:Count$OppLifeTotal +SVar:CreatureYouControl:Count$Valid Creature.YouCtrl +SVar:CreatureOppControl:Count$Valid Creature.YouDontCtrl +SVar:RemAIDeck:True +SVar:Rarity:Uncommon +SVar:Picture:http://www.wizards.com/global/images/magic/general/timely_reinforcements.jpg +Oracle:If you have less life than an opponent, you gain 6 life. If you control fewer creatures than an opponent, put three 1/1 white Soldier creature tokens onto the battlefield. +SetInfo:M12|Uncommon|http://magiccards.info/scans/en/m12/40.jpg End \ No newline at end of file diff --git a/res/cardsfolder/t/titanias_song.txt b/res/cardsfolder/t/titanias_song.txt index bc574ac08b3..f182f7b927b 100644 --- a/res/cardsfolder/t/titanias_song.txt +++ b/res/cardsfolder/t/titanias_song.txt @@ -4,7 +4,7 @@ Types:Enchantment Text:no text S:Mode$ Continuous | Affected$ Artifact.nonCreature | SetPower$ AffectedX | SetToughness$ AffectedX | AddType$ Creature | RemoveAllAbilities$ True | Description$ Each noncreature artifact is an artifact creature with power and toughness each equal to its converted mana cost. T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ TrigEffect | Static$ True | TriggerDescription$ If CARDNAME leaves the battlefield, this effect continues until end of turn. -SVar:TrigEffect:AB$ Effect | Cost$ 0 | Name$ Titania's Song Effect | StaticAbilities$ KWAnimateAll | SVars$ AffectedX +SVar:TrigEffect:AB$ Effect | Cost$ 0 | Name$ Titania's Song Effect | StaticAbilities$ KWAnimateAll | SVars$ AffectedX | References$ AffectedX SVar:KWAnimateAll:Mode$ Continuous | Affected$ Artifact.nonCreature | SetPower$ AffectedX | SetToughness$ AffectedX | AddType$ Creature | RemoveAllAbilities$ True | Description$ Each noncreature artifact is an artifact creature with power and toughness each equal to its converted mana cost. SVar:AffectedX:Count$CardManaCost SVar:PlayMain1:TRUE diff --git a/res/cardsfolder/t/titans_revenge.txt b/res/cardsfolder/t/titans_revenge.txt index fab3267b254..2b62586626b 100644 --- a/res/cardsfolder/t/titans_revenge.txt +++ b/res/cardsfolder/t/titans_revenge.txt @@ -2,7 +2,7 @@ Name:Titan's Revenge ManaCost:X R R Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ X R R | NumDmg$ X | Tgt$ TgtCP | SubAbility$ DBClash | SpellDescription$ CARDNAME deals X damage to target creature or player. Clash with an opponent. If you win, return CARDNAME to it's owner's hand. +A:SP$ DealDamage | Cost$ X R R | NumDmg$ X | References$ X | Tgt$ TgtCP | SubAbility$ DBClash | SpellDescription$ CARDNAME deals X damage to target creature or player. Clash with an opponent. If you win, return CARDNAME to it's owner's hand. SVar:DBClash:DB$Clash | WinSubAbility$ DBReturn SVar:DBReturn:DB$ChangeZone | Defined$ Self | Origin$ Stack | Destination$ Hand SVar:X:Count$xPaid diff --git a/res/cardsfolder/t/tithe.txt b/res/cardsfolder/t/tithe.txt index ae13e356fec..a604227861f 100644 --- a/res/cardsfolder/t/tithe.txt +++ b/res/cardsfolder/t/tithe.txt @@ -3,7 +3,7 @@ ManaCost:W Types:Instant Text:no text A:SP$ ChangeZone | Cost$ W | Origin$ Library | Destination$ Hand | ChangeType$ Plains | ChangeNum$ 1 | Shuffle$ True | SpellDescription$ Search your library for a Plains card. -A:SP$ ChangeZone | Cost$ W | Origin$ Library | Destination$ Hand | ChangeType$ Plains | ChangeNum$ 2 | Shuffle$ True | IsPresent$ Land.YouCtrl | PresentCompare$ LTX | SpellDescription$ If you control fewer lands than an opponent, you may search your library for an additional Plains card. Reveal those cards and put them into your hand. Then shuffle your library. +A:SP$ ChangeZone | Cost$ W | Origin$ Library | Destination$ Hand | ChangeType$ Plains | ChangeNum$ 2 | Shuffle$ True | IsPresent$ Land.YouCtrl | PresentCompare$ LTX | References$ X | SpellDescription$ If you control fewer lands than an opponent, you may search your library for an additional Plains card. Reveal those cards and put them into your hand. Then shuffle your library. SVar:X:Count$Valid Land.YouDontCtrl SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/tithe.jpg diff --git a/res/cardsfolder/t/toil_to_renown.txt b/res/cardsfolder/t/toil_to_renown.txt index dc75163d26c..95872f4a6c7 100644 --- a/res/cardsfolder/t/toil_to_renown.txt +++ b/res/cardsfolder/t/toil_to_renown.txt @@ -2,7 +2,7 @@ Name:Toil to Renown ManaCost:1 G Types:Sorcery Text:no text -A:SP$ GainLife | Cost$ 1 G | Defined$ You | LifeAmount$ X | SpellDescription$ You gain 1 life for each tapped artifact, creature, and land you control. +A:SP$ GainLife | Cost$ 1 G | Defined$ You | LifeAmount$ X | References$ X | SpellDescription$ You gain 1 life for each tapped artifact, creature, and land you control. SVar:X:Count$Valid Artifact.YouCtrl+tapped,Creature.YouCtrl+tapped,Land.YouCtrl+tapped SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/toil_to_renown.jpg diff --git a/res/cardsfolder/t/tolarian_academy.txt b/res/cardsfolder/t/tolarian_academy.txt index c8639a670e6..892840caa7f 100644 --- a/res/cardsfolder/t/tolarian_academy.txt +++ b/res/cardsfolder/t/tolarian_academy.txt @@ -2,7 +2,7 @@ Name:Tolarian Academy ManaCost:no cost Types:Legendary Land Text:no text -A:AB$ Mana | Cost$ T | Produced$ U | Amount$ X | SpellDescription$ Add U to your mana pool for each artifact you control. +A:AB$ Mana | Cost$ T | Produced$ U | Amount$ X | References$ X | SpellDescription$ Add U to your mana pool for each artifact you control. SVar:X:Count$Valid Artifact.YouCtrl SVar:RemAIDeck:True SVar:RemRandomDeck:True diff --git a/res/cardsfolder/t/tomb_hex.txt b/res/cardsfolder/t/tomb_hex.txt index 4734601e4b9..08bd4929573 100644 --- a/res/cardsfolder/t/tomb_hex.txt +++ b/res/cardsfolder/t/tomb_hex.txt @@ -2,7 +2,7 @@ Name:Tomb Hex ManaCost:2 B Types:Instant Text:no text -A:SP$ Pump | Cost$ 2 B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | SpellDescription$ Target creature gets -2/-2 until end of turn. Landfall - If you had a land enter the battlefield under your control this turn, that creature gets -4/-4 until end of turn instead. +A:SP$ Pump | Cost$ 2 B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | References$ X | IsCurse$ True | SpellDescription$ Target creature gets -2/-2 until end of turn. Landfall - If you had a land enter the battlefield under your control this turn, that creature gets -4/-4 until end of turn instead. SVar:X:Count$Landfall.4.2 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/tomb_hex.jpg diff --git a/res/cardsfolder/t/tombstone_stairwell.txt b/res/cardsfolder/t/tombstone_stairwell.txt index 31cd9557bf7..ca4b82aa55a 100644 --- a/res/cardsfolder/t/tombstone_stairwell.txt +++ b/res/cardsfolder/t/tombstone_stairwell.txt @@ -4,8 +4,8 @@ Types:World Enchantment Text:no text K:Cumulative upkeep:1 B T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | TriggerZones$ Battlefield | IsPresent$ Card.Self | Execute$ TrigTokenYou | TriggerDescription$ At the beginning of each upkeep, if CARDNAME is on the battlefield, each player puts a 2/2 black Zombie creature token with haste named Tombspawn onto the battlefield for each creature card in his or her graveyard. -SVar:TrigTokenYou:DB$Token | TokenAmount$ X | TokenName$ Tombspawn | TokenTypes$ Creature,Zombie | TokenOwner$ You | TokenColors$ Black | TokenPower$ 2 | TokenToughness$ 2 | TokenKeywords$ Haste | SubAbility$ TrigTokenOpp | RememberTokens$ True -SVar:TrigTokenOpp:DB$Token | TokenAmount$ Y | TokenName$ Tombspawn | TokenTypes$ Creature,Zombie | TokenOwner$ Opponent | TokenColors$ Black | TokenPower$ 2 | TokenToughness$ 2 | TokenKeywords$ Haste | RememberTokens$ True +SVar:TrigTokenYou:DB$Token | TokenAmount$ X | References$ X | TokenName$ Tombspawn | TokenTypes$ Creature,Zombie | TokenOwner$ You | TokenColors$ Black | TokenPower$ 2 | TokenToughness$ 2 | TokenKeywords$ Haste | SubAbility$ TrigTokenOpp | RememberTokens$ True +SVar:TrigTokenOpp:DB$Token | TokenAmount$ Y | References$ Y | TokenName$ Tombspawn | TokenTypes$ Creature,Zombie | TokenOwner$ Opponent | TokenColors$ Black | TokenPower$ 2 | TokenToughness$ 2 | TokenKeywords$ Haste | RememberTokens$ True SVar:X:Count$TypeInYourYard.Creature SVar:Y:Count$TypeInOppYard.Creature T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Player | TriggerZones$ Battlefield | Execute$ DestroyRemembered | TriggerDescription$ At the beginning of each end step or when CARDNAME leaves the battlefield, destroy all tokens put onto the battlefield with CARDNAME. They can't be regenerated. diff --git a/res/cardsfolder/t/torch_song.txt b/res/cardsfolder/t/torch_song.txt index 990a0d8bd41..3ab2bac995f 100644 --- a/res/cardsfolder/t/torch_song.txt +++ b/res/cardsfolder/t/torch_song.txt @@ -2,7 +2,7 @@ Name:Torch Song ManaCost:2 R Types:Enchantment Text:no text -A:AB$ DealDamage | Cost$ 2 R Sac<1/CARDNAME> | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target creature or player, where X is the number of verse counters on CARDNAME. +A:AB$ DealDamage | Cost$ 2 R Sac<1/CARDNAME> | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to target creature or player, where X is the number of verse counters on CARDNAME. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, you may put a verse counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ VERSE | CounterNum$ 1 SVar:X:Count$CardCounters.VERSE diff --git a/res/cardsfolder/t/tornado.txt b/res/cardsfolder/t/tornado.txt index e197cbf25c8..a127dde65ab 100644 --- a/res/cardsfolder/t/tornado.txt +++ b/res/cardsfolder/t/tornado.txt @@ -3,7 +3,7 @@ ManaCost:4 G Types:Enchantment Text:no text K:Cumulative upkeep:G -A:AB$ Destroy | Cost$ 2 G PayLife | CostDesc$ 2 G, Pay 3 life for each velocity counter on Tornado: | ValidTgts$ Permanent | TgtPrompt$ Select target permanent | SubAbility$ Velocity | ActivationLimit$ 1 | SpellDescription$ Destroy target permanent and put a velocity counter on CARDNAME. Activate this ability only once each turn. +A:AB$ Destroy | Cost$ 2 G PayLife | References$ X | CostDesc$ 2 G, Pay 3 life for each velocity counter on Tornado: | ValidTgts$ Permanent | TgtPrompt$ Select target permanent | SubAbility$ Velocity | ActivationLimit$ 1 | SpellDescription$ Destroy target permanent and put a velocity counter on CARDNAME. Activate this ability only once each turn. SVar:Velocity:DB$ PutCounter | Defined$ Self | CounterType$ VELOCITY | CounterNum$ 1 SVar:X:Count$CardCounters.VELOCITY/Times.3 SVar:RemAIDeck:True diff --git a/res/cardsfolder/t/torrent_of_fire.txt b/res/cardsfolder/t/torrent_of_fire.txt index 861e226c862..1cd05cbca9a 100644 --- a/res/cardsfolder/t/torrent_of_fire.txt +++ b/res/cardsfolder/t/torrent_of_fire.txt @@ -2,7 +2,7 @@ Name:Torrent of Fire ManaCost:3 R R Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ 3 R R | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to the highest converted mana cost among permanents you control to target creature or player. +A:SP$ DealDamage | Cost$ 3 R R | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to the highest converted mana cost among permanents you control to target creature or player. SVar:X:Count$MaxCMCYouCtrl SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/torrent_of_fire.jpg diff --git a/res/cardsfolder/t/torture_chamber.txt b/res/cardsfolder/t/torture_chamber.txt index d9ddd1d6328..2083fc52775 100644 --- a/res/cardsfolder/t/torture_chamber.txt +++ b/res/cardsfolder/t/torture_chamber.txt @@ -4,9 +4,9 @@ Types:Artifact Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, put a pain counter on CARDNAME. T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDealDamage | TriggerDescription$ At the beginning of your end step, CARDNAME deals damage to you equal to the number of pain counters on it. -A:AB$ DealDamage | Cost$ 1 T SubCounter | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ Y | SpellDescription$ CARDNAME deals damage to target creature equal to the number of pain counters removed this way. -SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ PAIN | CounterNum$ 1 -SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Defined$ You | NumDmg$ X +A:AB$ DealDamage | Cost$ 1 T SubCounter | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ Y | References$ Y | SpellDescription$ CARDNAME deals damage to target creature equal to the number of pain counters removed this way. +SVar:TrigPutCounter:AB$ PutCounter | Cost$ 0 | Defined$ Self | CounterType$ PAIN | CounterNum$ 1 +SVar:TrigDealDamage:AB$ DealDamage | Cost$ 0 | Defined$ You | NumDmg$ X | References$ X SVar:X:Count$CardCounters.PAIN SVar:Y:SVar$CostCountersRemoved SVar:RemAIDeck:True diff --git a/res/cardsfolder/t/touch_of_darkness.txt b/res/cardsfolder/t/touch_of_darkness.txt index 1b7ba4d3208..10a70bfbf44 100644 --- a/res/cardsfolder/t/touch_of_darkness.txt +++ b/res/cardsfolder/t/touch_of_darkness.txt @@ -2,7 +2,7 @@ Name:Touch of Darkness ManaCost:B Types:Instant Text:no text -A:SP$ Animate | Cost$ B | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ MaxTgts | TgtPrompt$ Select target creatures | Colors$ Black | OverwriteColors$ True | SpellDescription$ Any number of target creatures become black until end of turn. +A:SP$ Animate | Cost$ B | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ MaxTgts | References$ MaxTgts | TgtPrompt$ Select target creatures | Colors$ Black | OverwriteColors$ True | SpellDescription$ Any number of target creatures become black until end of turn. SVar:MaxTgts:Count$Valid Creature SVar:RemAIDeck:True SVar:RemRandomDeck:True diff --git a/res/cardsfolder/t/toxic_stench.txt b/res/cardsfolder/t/toxic_stench.txt index 67f965a8fc4..d4863e8b42c 100644 --- a/res/cardsfolder/t/toxic_stench.txt +++ b/res/cardsfolder/t/toxic_stench.txt @@ -2,7 +2,7 @@ Name:Toxic Stench ManaCost:1 B Types:Instant Text:no text -A:SP$ Pump | Cost$ 1 B | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonblack creature | NumAtt$ -1 | NumDef$ -1 | IsCurse$ True | ConditionCheckSVar$ X | ConditionSVarCompare$ LT7 | SubAbility$ DBDestroy | SpellDescription$ Target nonblack creature gets -1/-1 until end of turn. +A:SP$ Pump | Cost$ 1 B | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonblack creature | NumAtt$ -1 | NumDef$ -1 | IsCurse$ True | ConditionCheckSVar$ X | References$ X | ConditionSVarCompare$ LT7 | SubAbility$ DBDestroy | SpellDescription$ Target nonblack creature gets -1/-1 until end of turn. SVar:DBDestroy:DB$ Destroy | Defined$ Targeted | ConditionCheckSVar$ X | ConditionSVarCompare$ GE7 | SpellDescription$ Threshold - If seven or more cards are in your graveyard, instead destroy that creature. It can't be regenerated. SVar:X:Count$InYourYard SVar:Rarity:Common diff --git a/res/cardsfolder/t/tracker.txt b/res/cardsfolder/t/tracker.txt index 0765515f08b..359bb8e521e 100644 --- a/res/cardsfolder/t/tracker.txt +++ b/res/cardsfolder/t/tracker.txt @@ -3,8 +3,8 @@ ManaCost:2 G Types:Creature Human Text:no text PT:2/2 -A:AB$ DealDamage | Cost$ G G T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DamageThis | SpellDescription$ CARDNAME deals damage equal to its power to target creature. That creature deals damage equal to its power to CARDNAME. -SVar:DamageThis:DB$DealDamage | Defined$ Self | DamageSource$ Targeted | NumDmg$ Y +A:AB$ DealDamage | Cost$ G G T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | References$ X | SubAbility$ DamageThis | SpellDescription$ CARDNAME deals damage equal to its power to target creature. That creature deals damage equal to its power to CARDNAME. +SVar:DamageThis:DB$DealDamage | Defined$ Self | DamageSource$ Targeted | NumDmg$ Y | References$ Y SVar:X:Count$CardPower SVar:Y:Targeted$CardPower SVar:Rarity:Uncommon diff --git a/res/cardsfolder/t/tragic_slip.txt b/res/cardsfolder/t/tragic_slip.txt index 6199fd27b7a..c552375489f 100644 --- a/res/cardsfolder/t/tragic_slip.txt +++ b/res/cardsfolder/t/tragic_slip.txt @@ -2,7 +2,7 @@ Name:Tragic Slip ManaCost:B Types:Instant Text:no text -A:SP$ Pump | Cost$ B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | SpellDescription$ Target creature gets -1/-1 until end of turn. Morbid - that creature gets -13/-13 instead if a creature died this turn. +A:SP$ Pump | Cost$ B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | References$ X | IsCurse$ True | SpellDescription$ Target creature gets -1/-1 until end of turn. Morbid - that creature gets -13/-13 instead if a creature died this turn. SVar:X:Count$Morbid.13.1 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/tragic_slip.jpg diff --git a/res/cardsfolder/t/transcendence.txt b/res/cardsfolder/t/transcendence.txt index 3a86f0834fa..d3dbd460dde 100644 --- a/res/cardsfolder/t/transcendence.txt +++ b/res/cardsfolder/t/transcendence.txt @@ -6,7 +6,7 @@ S:Mode$ Continuous | Affected$ You | AddKeyword$ You don't lose the game for hav T:Mode$ Always | LifeTotal$ You | LifeAmount$ GE20 | TriggerZones$ Battlefield | Execute$ TrigLoseGame | TriggerDescription$ When you have 20 or more life, you lose the game. T:Mode$ LifeLost | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigLifeGain | TriggerDescription$ Whenever you lose life, you gain 2 life for each 1 life you lost. (Damage dealt to you causes you to lose life.) SVar:TrigLoseGame:AB$ LosesGame | Cost$ 0 | Defined$ You -SVar:TrigLifeGain:AB$ GainLife | Cost$ 0 | LifeAmount$ X +SVar:TrigLifeGain:AB$ GainLife | Cost$ 0 | LifeAmount$ X | References$ X SVar:X:TriggerCount$LifeAmount/Times.2 SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/t/tree_of_redemption.txt b/res/cardsfolder/t/tree_of_redemption.txt index f899e0bc5a9..d080fd89330 100644 --- a/res/cardsfolder/t/tree_of_redemption.txt +++ b/res/cardsfolder/t/tree_of_redemption.txt @@ -5,8 +5,8 @@ Text:no text PT:0/13 K:Defender A:AB$ StoreSVar | Cost$ T | SVar$ OldToughness | Type$ Count | Expression$ CardToughness | SubAbility$ TreeRedemption | SpellDescription$ Exchange your life total with CARDNAME's toughness. | StackDescription$ Exchange your life total with CARDNAME's toughness. -SVar:TreeRedemption:DB$ Animate | Toughness$ X | Permanent$ True | SubAbility$ SetLife -SVar:SetLife:DB$ SetLife | Defined$ You | LifeAmount$ OldToughness +SVar:TreeRedemption:DB$ Animate | Toughness$ X | References$ X | Permanent$ True | SubAbility$ SetLife +SVar:SetLife:DB$ SetLife | Defined$ You | LifeAmount$ OldToughness | References$ OldToughness SVar:OldToughness:Number$13 SVar:X:Count$YourLifeTotal SVar:RemAIDeck:True diff --git a/res/cardsfolder/t/trench_gorger.txt b/res/cardsfolder/t/trench_gorger.txt index 018bd11b946..adbd1aadb5f 100644 --- a/res/cardsfolder/t/trench_gorger.txt +++ b/res/cardsfolder/t/trench_gorger.txt @@ -5,8 +5,8 @@ Text:no text PT:6/6 K:Trample T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | OptionalDecider$ You | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield, you may search your library for any number of land cards, exile them, then shuffle your library. If you do, Trench Gorger's power and toughness each become equal to the number of cards exiled this way. -SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Library | Destination$ Exile | ChangeType$ Land | ChangeNum$ X | RememberChanged$ True | SubAbility$ TrenchAnimate -SVar:TrenchAnimate:DB$Animate | Power$ Y | Toughness$ Y | Permanent$ True | SubAbility$ DBCleanUp +SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Library | Destination$ Exile | ChangeType$ Land | ChangeNum$ X | References$ X | RememberChanged$ True | SubAbility$ TrenchAnimate +SVar:TrenchAnimate:DB$Animate | Power$ Y | Toughness$ Y | References$ Y | Permanent$ True | SubAbility$ DBCleanUp SVar:DBCleanUp:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$TypeInYourLibrary.Land SVar:Y:Remembered$Amount diff --git a/res/cardsfolder/t/treva_the_renewer.txt b/res/cardsfolder/t/treva_the_renewer.txt index 59c8aaa0d52..fdaf0600aa0 100644 --- a/res/cardsfolder/t/treva_the_renewer.txt +++ b/res/cardsfolder/t/treva_the_renewer.txt @@ -1,7 +1,7 @@ Name:Treva, the Renewer ManaCost:3 G W U Types:Legendary Creature Dragon -Text:Whenever Treva, the Renewer deals combat damage to a player, you may pay 2 W. If you do, choose a color. You gain 1 life for each permanent of that color. +Text:no text PT:6/6 K:Flying SVar:Rarity:Rare diff --git a/res/cardsfolder/t/tribal_flames.txt b/res/cardsfolder/t/tribal_flames.txt index 08fea3d71fc..1e8f5225d30 100644 --- a/res/cardsfolder/t/tribal_flames.txt +++ b/res/cardsfolder/t/tribal_flames.txt @@ -2,7 +2,7 @@ Name:Tribal Flames ManaCost:1 R Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ 1 R | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ Domain - Tribal Flames deals X damage to target creature or player, where X is the number of basic land types among lands you control. +A:SP$ DealDamage | Cost$ 1 R | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ Domain - Tribal Flames deals X damage to target creature or player, where X is the number of basic land types among lands you control. SVar:X:Count$Domain SVar:Rarity:Common SVar:Picture:http://resources.wizards.com/magic/cards/tsb/en-us/card108916.jpg diff --git a/res/cardsfolder/t/tribal_unity.txt b/res/cardsfolder/t/tribal_unity.txt index 6d7caae8e3c..5ab85d1c7a7 100644 --- a/res/cardsfolder/t/tribal_unity.txt +++ b/res/cardsfolder/t/tribal_unity.txt @@ -2,7 +2,7 @@ Name:Tribal Unity ManaCost:X 2 G Types:Instant Text:no text -A:SP$ ChooseType | Cost$ X 2 G | Defined$ You | Type$ Creature | AILogic$ MostProminentComputerControls | SubAbility$ TribalPump | SpellDescription$ Creatures of the creature type of your choice get +X/+X until end of turn. +A:SP$ ChooseType | Cost$ X 2 G | References$ X | Defined$ You | Type$ Creature | AILogic$ MostProminentComputerControls | SubAbility$ TribalPump | SpellDescription$ Creatures of the creature type of your choice get +X/+X until end of turn. SVar:TribalPump:DB$ PumpAll | ValidCards$ Creature.ChosenType | NumAtt$ +X | NumDef$ +X SVar:X:Count$xPaid SVar:RemAIDeck:True diff --git a/res/cardsfolder/t/triumph_of_cruelty.txt b/res/cardsfolder/t/triumph_of_cruelty.txt index 74472aebcbb..7ad3adacf35 100644 --- a/res/cardsfolder/t/triumph_of_cruelty.txt +++ b/res/cardsfolder/t/triumph_of_cruelty.txt @@ -3,7 +3,7 @@ ManaCost:2 B Types:Enchantment Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigCruelDiscard | TriggerDescription$ At the beginning of your upkeep, target opponent discards a card if you control the creature with the greatest power or tied for the greatest power. -SVar:TrigCruelDiscard:AB$Discard | Cost$ 0 | ValidTgts$ Opponent | NumCards$ 1 | Mode$ TgtChoose | ConditionPresent$ Creature | ConditionCompare$ GE1 | ConditionCheckSVar$ YourCruelty | ConditionSVarCompare$ GEOppsCruelty +SVar:TrigCruelDiscard:AB$Discard | Cost$ 0 | ValidTgts$ Opponent | NumCards$ 1 | Mode$ TgtChoose | ConditionPresent$ Creature | ConditionCompare$ GE1 | ConditionCheckSVar$ YourCruelty | ConditionSVarCompare$ GEOppsCruelty | References$ YourCruelty,OppsCruelty SVar:YourCruelty:Count$GreatestPowerYouControl SVar:OppsCruelty:Count$GreatestPowerYouDontControl SVar:Rarity:Uncommon diff --git a/res/cardsfolder/t/triumph_of_ferocity.txt b/res/cardsfolder/t/triumph_of_ferocity.txt index d1b600b87e4..4622b0dd120 100644 --- a/res/cardsfolder/t/triumph_of_ferocity.txt +++ b/res/cardsfolder/t/triumph_of_ferocity.txt @@ -3,7 +3,7 @@ ManaCost:2 G Types:Enchantment Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigFerociousDraw | TriggerDescription$ At the beginning of your upkeep, draw a card if you control the creature with the greatest power or tied for the greatest power. -SVar:TrigFerociousDraw:AB$Draw | Cost$ 0 | Defined$ You | NumCards$ 1 | ConditionPresent$ Creature | ConditionCompare$ GE1 | ConditionCheckSVar$ YourFerocity | ConditionSVarCompare$ GEOppsFerocity +SVar:TrigFerociousDraw:AB$ Draw | Cost$ 0 | Defined$ You | NumCards$ 1 | ConditionPresent$ Creature | ConditionCompare$ GE1 | ConditionCheckSVar$ YourFerocity | ConditionSVarCompare$ GEOppsFerocity | References$ YourFerocity,OppsFerocity SVar:YourFerocity:Count$GreatestPowerYouControl SVar:OppsFerocity:Count$GreatestPowerYouDontControl SVar:Rarity:Uncommon diff --git a/res/cardsfolder/t/tromp_the_domains.txt b/res/cardsfolder/t/tromp_the_domains.txt index 1be1caae955..67c0bc8d84b 100644 --- a/res/cardsfolder/t/tromp_the_domains.txt +++ b/res/cardsfolder/t/tromp_the_domains.txt @@ -2,7 +2,7 @@ Name:Tromp the Domains ManaCost:5 G Types:Sorcery Text:no text -A:SP$ PumpAll | Cost$ 5 G | ValidCards$ Creature.YouCtrl | NumAtt$ +X | NumDef$ +X | KW$ Trample | SpellDescription$ Domain - Until end of turn, creatures you control gain trample and get +1/+1 for each basic land type among lands you control. +A:SP$ PumpAll | Cost$ 5 G | ValidCards$ Creature.YouCtrl | NumAtt$ +X | NumDef$ +X | References$ X | KW$ Trample | SpellDescription$ Domain - Until end of turn, creatures you control gain trample and get +1/+1 for each basic land type among lands you control. SVar:X:Count$Domain SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/t/tropical_storm.txt b/res/cardsfolder/t/tropical_storm.txt index 6b15869b9a2..ac6f712f74c 100644 --- a/res/cardsfolder/t/tropical_storm.txt +++ b/res/cardsfolder/t/tropical_storm.txt @@ -2,7 +2,7 @@ Name:Tropical Storm ManaCost:X G Types:Sorcery Text:no text -A:SP$ DamageAll | Cost$ X G | ValidCards$ Creature.withFlying | NumDmg$ X | SubAbility$ DBDamage | SpellDescription$ CARDNAME deals X damage to each creature with flying and 1 additional damage to each blue creature. +A:SP$ DamageAll | Cost$ X G | ValidCards$ Creature.withFlying | NumDmg$ X | References$ X | SubAbility$ DBDamage | SpellDescription$ CARDNAME deals X damage to each creature with flying and 1 additional damage to each blue creature. SVar:DBDamage:DB$DamageAll | ValidCards$ Creature.Blue | NumDmg$ 1 SVar:X:Count$xPaid SVar:RemAIDeck:True diff --git a/res/cardsfolder/t/trusted_advisor.txt b/res/cardsfolder/t/trusted_advisor.txt index 6f0dd33a905..1e2b88c5b72 100644 --- a/res/cardsfolder/t/trusted_advisor.txt +++ b/res/cardsfolder/t/trusted_advisor.txt @@ -5,7 +5,7 @@ Text:no text PT:1/2 S:Mode$ Continuous | Affected$ You | RaiseMaxHandSize$ 2 | Description$ Your maximum hand size is increased by two. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigBounce | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, return a blue creature you control to its owner's hand. -SVar:TrigBounce:AB$ChangeZone | Cost$ 0 | Origin$ Battlefield | Destination$ Hand | TgtPrompt$ Choose target blue creature | Mandatory$ True | Hidden$ True | ValidTgts$ Creature.Blue+YouCtrl +SVar:TrigBounce:AB$ChangeZone | Cost$ 0 | Origin$ Battlefield | Destination$ Hand | Mandatory$ True | Hidden$ True | ChangeType$ Creature.Blue+YouCtrl SVar:RemAIDeck:True SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/trusted_advisor.jpg diff --git a/res/cardsfolder/t/tuktuk_scrapper.txt b/res/cardsfolder/t/tuktuk_scrapper.txt index 93b4114fe5d..728947358cc 100644 --- a/res/cardsfolder/t/tuktuk_scrapper.txt +++ b/res/cardsfolder/t/tuktuk_scrapper.txt @@ -6,7 +6,7 @@ PT:2/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TuktukDestroy | OptionalDecider$ You | TriggerDescription$ Whenever Tuktuk Scrapper or another Ally enters the battlefield under your control, you may destroy target artifact. If that artifact is put into a graveyard this way, Tuktuk Scrapper deals damage to that artifact's controller equal to the number of Allies you control. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Ally.Other+YouCtrl | TriggerZones$ Battlefield | Execute$ TuktukDestroy | Secondary$ True | OptionalDecider$ You | TriggerDescription$ Whenever Tuktuk Scrapper or another Ally enters the battlefield under your control, you may destroy target artifact. If that artifact is put into a graveyard this way, Tuktuk Scrapper deals damage to that artifact's controller equal to the number of Allies you control. SVar:TuktukDestroy:AB$ Destroy | Cost$ 0 | ValidTgts$ Artifact | TgtPrompt$ Select target artifact | RememberDestroyed$ True | SubAbility$ TuktukDamage | SpellDescription$ If that artifact is put into a graveyard this way, -SVar:TuktukDamage:DB$DealDamage | Defined$ TargetedController | NumDmg$ X | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup +SVar:TuktukDamage:DB$ DealDamage | Defined$ TargetedController | NumDmg$ X | References$ X,Y | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$TypeYouCtrl.Ally SVar:Y:Remembered$Amount diff --git a/res/cardsfolder/t/turbulent_dreams.txt b/res/cardsfolder/t/turbulent_dreams.txt index 244d166c8d1..4bfe2cfe86d 100644 --- a/res/cardsfolder/t/turbulent_dreams.txt +++ b/res/cardsfolder/t/turbulent_dreams.txt @@ -2,7 +2,7 @@ Name:Turbulent Dreams ManaCost:U U Types:Sorcery Text:no text -A:SP$ ChangeZone | Cost$ U U Discard | Origin$ Battlefield | Destination$ Hand | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | SpellDescription$ Return X target nonland permanents to their owners' hands. +A:SP$ ChangeZone | Cost$ U U Discard | Origin$ Battlefield | Destination$ Hand | TargetMin$ 0 | TargetMax$ MaxTgts | References$ X,MaxTgts | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | SpellDescription$ Return X target nonland permanents to their owners' hands. SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Permanent.nonLand SVar:RemAIDeck:True diff --git a/res/cardsfolder/t/turn_the_tables.txt b/res/cardsfolder/t/turn_the_tables.txt index 5b4163960bd..0e32e821306 100644 --- a/res/cardsfolder/t/turn_the_tables.txt +++ b/res/cardsfolder/t/turn_the_tables.txt @@ -2,7 +2,7 @@ Name:Turn the Tables ManaCost:3 W W Types:Instant Text:no text -A:SP$ Effect | Cost$ 3 W W | Name$ Turn the Tables Effect | ReplacementEffects$ DamageEvent | SVars$ TurnTheTables,ReturnedX | RememberObjects$ Targeted | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | IsCurse$ True | AILogic$ Fog | SpellDescription$ All combat damage that would be dealt to you this turn is dealt to target attacking creature instead. +A:SP$ Effect | Cost$ 3 W W | Name$ Turn the Tables Effect | ReplacementEffects$ DamageEvent | SVars$ TurnTheTables,ReturnedX | References$ TurnTheTables,ReturnedX | RememberObjects$ Targeted | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | IsCurse$ True | AILogic$ Fog | SpellDescription$ All combat damage that would be dealt to you this turn is dealt to target attacking creature instead. SVar:DamageEvent:Event$ DamageDone | ValidSource$ Creature | ValidTarget$ You | ReplaceWith$ TurnTheTables | IsCombat$ True | Description$ All combat damage that would be dealt to you this turn is dealt to target attacking creature instead. SVar:TurnTheTables:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ Remembered | DamageSource$ ReplacedSource | NumDmg$ ReturnedX SVar:ReturnedX:ReplaceCount$DamageAmount diff --git a/res/cardsfolder/t/twilight_drover.txt b/res/cardsfolder/t/twilight_drover.txt index 5ee47ba0cc1..c0e193fa83f 100644 --- a/res/cardsfolder/t/twilight_drover.txt +++ b/res/cardsfolder/t/twilight_drover.txt @@ -4,7 +4,7 @@ Types:Creature Spirit Text:no text PT:1/1 T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.token | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever a creature token leaves the battlefield, put a +1/+1 counter on CARDNAME. -A:AB$ Token$ | Cost$ 2 W SubCounter<1/P1P1> | TokenAmount$ 2 | TokenName$ Spirit | TokenTypes$ Creature,Spirit | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying | SpellDescription$ Put two 1/1 white Spirit creature tokens with flying onto the battlefield. +A:AB$ Token | Cost$ 2 W SubCounter<1/P1P1> | TokenAmount$ 2 | TokenName$ Spirit | TokenTypes$ Creature,Spirit | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying | SpellDescription$ Put two 1/1 white Spirit creature tokens with flying onto the battlefield. SVar:TrigPutCounter:AB$ PutCounter | Cost$ 0 | CounterType$ P1P1 | CounterNum$ 1 SVar:Picture:http://www.wizards.com/global/images/magic/general/twilight_drover.jpg SVar:Rarity:Rare diff --git a/res/cardsfolder/t/twinstrike.txt b/res/cardsfolder/t/twinstrike.txt index ed7529061da..4ec539f52ec 100644 --- a/res/cardsfolder/t/twinstrike.txt +++ b/res/cardsfolder/t/twinstrike.txt @@ -3,7 +3,7 @@ ManaCost:3 B R Types:Instant Text:no text A:SP$ DealDamage | Cost$ 3 B R | TargetMin$ 2 | TargetMax$ 2 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 2 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBDestroy | SpellDescription$ CARDNAME deals 2 damage to each of two target creatures. -SVar:DBDestroy:DB$ Destroy | Defined$ Targeted | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SpellDescription$ Hellbent - Destroy those creatures instead if you have no cards in hand. +SVar:DBDestroy:DB$ Destroy | Defined$ Targeted | ConditionCheckSVar$ X | References$ X | ConditionSVarCompare$ EQ0 | SpellDescription$ Hellbent - Destroy those creatures instead if you have no cards in hand. SVar:X:Count$InYourHand SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/twinstrike.jpg diff --git a/res/cardsfolder/t/typhoon.txt b/res/cardsfolder/t/typhoon.txt index 2e5b47cc324..863492a5a66 100644 --- a/res/cardsfolder/t/typhoon.txt +++ b/res/cardsfolder/t/typhoon.txt @@ -2,7 +2,7 @@ Name:Typhoon ManaCost:2 G Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ 2 G | Defined$ Opponent | NumDmg$ X | SpellDescription$ Typhoon deals damage to each opponent equal to the number of Islands that player controls. +A:SP$ DealDamage | Cost$ 2 G | Defined$ Opponent | NumDmg$ X | References$ X | SpellDescription$ Typhoon deals damage to each opponent equal to the number of Islands that player controls. SVar:X:Count$Valid Island.YouDontCtrl SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/u/undead_alchemist.txt b/res/cardsfolder/u/undead_alchemist.txt index d07fb6610c2..fe3dc4b963d 100644 --- a/res/cardsfolder/u/undead_alchemist.txt +++ b/res/cardsfolder/u/undead_alchemist.txt @@ -4,7 +4,7 @@ Types:Creature Zombie Text:no text PT:4/2 R:Event$ DamageDone | ValidSource$ Creature.Zombie+YouCtrl | ValidTarget$ Opponent | ReplaceWith$ Mill | IsCombat$ True | Description$ If a Zombie you control would deal combat damage to a player, instead that player puts that many cards from the top of his or her library into his or her graveyard. -SVar:Mill:AB$Mill | Cost$ 0 | Defined$ ReplacedTarget | NumCards$ X +SVar:Mill:AB$Mill | Cost$ 0 | Defined$ ReplacedTarget | NumCards$ X | References$ X SVar:X:ReplaceCount$DamageAmount T:Mode$ ChangesZone | ValidCard$ Creature.YouDontOwn | Origin$ Library | Destination$ Graveyard | Execute$ ExileAndToken | TriggerZones$ Battlefield | TriggerDescription$ Whenever a creature card is put into an opponent's graveyard from his or her library, exile that card and put a 2/2 black Zombie creature token onto the battlefield. SVar:ExileAndToken:AB$ ChangeZone | Cost$ 0 | Defined$ TriggeredCard | Origin$ Graveyard | Destination$ Exile | SubAbility$ DoToken diff --git a/res/cardsfolder/u/unified_strike.txt b/res/cardsfolder/u/unified_strike.txt index be2248fccc1..d57fd270f08 100644 --- a/res/cardsfolder/u/unified_strike.txt +++ b/res/cardsfolder/u/unified_strike.txt @@ -2,7 +2,7 @@ Name:Unified Strike ManaCost:W Types:Instant Text:no text -A:SP$ ChangeZone | Cost$ W | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | SpellDescription$ Exile target attacking creature if its power is less than or equal to the number of Soldiers on the battlefield. +A:SP$ ChangeZone | Cost$ W | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | References$ X,Y | SpellDescription$ Exile target attacking creature if its power is less than or equal to the number of Soldiers on the battlefield. SVar:Y:Count$Valid Soldier SVar:X:Targeted$Valid Creature.powerLEY SVar:RemRandomDeck:True diff --git a/res/cardsfolder/u/unliving_psychopath.txt b/res/cardsfolder/u/unliving_psychopath.txt index 5db3ebd8cfc..7cab73f8c0d 100644 --- a/res/cardsfolder/u/unliving_psychopath.txt +++ b/res/cardsfolder/u/unliving_psychopath.txt @@ -4,7 +4,7 @@ Types:Creature Zombie Assassin Text:no text PT:0/4 A:AB$ Pump | Cost$ B | NumAtt$ +1 | NumDef$ -1 | SpellDescription$ CARDNAME gets +1/-1 until end of turn. -A:AB$ Destroy | Cost$ B T | ValidTgts$ Creature.powerLTX | TgtPrompt$ Select target creature with power less than Unliving Psychopath's | SpellDescription$ Destroy target creature with power less than CARDNAME's power. +A:AB$ Destroy | Cost$ B T | ValidTgts$ Creature.powerLTX | References$ X | TgtPrompt$ Select target creature with power less than Unliving Psychopath's | SpellDescription$ Destroy target creature with power less than CARDNAME's power. SVar:X:Count$CardPower SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/unliving_psychopath.jpg diff --git a/res/cardsfolder/u/untamed_might.txt b/res/cardsfolder/u/untamed_might.txt index dcb1530b421..ba923668c5f 100644 --- a/res/cardsfolder/u/untamed_might.txt +++ b/res/cardsfolder/u/untamed_might.txt @@ -2,7 +2,7 @@ Name:Untamed Might ManaCost:X G Types:Instant Text:no text -A:SP$ Pump | Cost$ X G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | SpellDescription$ Target creature gets +X/+X until end of turn. +A:SP$ Pump | Cost$ X G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | References$ X | SpellDescription$ Target creature gets +X/+X until end of turn. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/u/unwilling_recruit.txt b/res/cardsfolder/u/unwilling_recruit.txt index d405ac493c4..e29e5eb44c2 100644 --- a/res/cardsfolder/u/unwilling_recruit.txt +++ b/res/cardsfolder/u/unwilling_recruit.txt @@ -3,7 +3,7 @@ ManaCost:X R R R Types:Sorcery Text:no text A:SP$ GainControl | Cost$ X R R R | ValidTgts$ Creature | TgtPrompt$ Select target creature | Untap$ True | LoseControl$ EOT | SubAbility$ DBPump | SpellDescription$ Gain control of target creature until end of turn. Untap that creature. It gets +X/+0 and gains haste until end of turn. -SVar:DBPump:DB$Pump | Defined$ Targeted | NumAtt$ X | KW$ Haste +SVar:DBPump:DB$Pump | Defined$ Targeted | NumAtt$ X | KW$ Haste | References$ X SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/u/urborg_justice.txt b/res/cardsfolder/u/urborg_justice.txt index fa43a0ac0af..d4aea415e47 100644 --- a/res/cardsfolder/u/urborg_justice.txt +++ b/res/cardsfolder/u/urborg_justice.txt @@ -2,7 +2,7 @@ Name:Urborg Justice ManaCost:B B Types:Instant Text:no text -A:SP$Sacrifice | Cost$ B B | ValidTgts$ Opponent | Amount$ X | SacValid$ Creature | SacMessage$ Creature | SpellDescription$ Target opponent sacrifices a creature for each creature put into your graveyard from the battlefield this turn. +A:SP$ Sacrifice | Cost$ B B | ValidTgts$ Opponent | Amount$ X | References$ X | SacValid$ Creature | SacMessage$ Creature | SpellDescription$ Target opponent sacrifices a creature for each creature put into your graveyard from the battlefield this turn. SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature.YouCtrl SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/urborg_justice.jpg diff --git a/res/cardsfolder/u/urge_to_feed.txt b/res/cardsfolder/u/urge_to_feed.txt index d11d8561eb1..76cdaef8512 100644 --- a/res/cardsfolder/u/urge_to_feed.txt +++ b/res/cardsfolder/u/urge_to_feed.txt @@ -3,7 +3,7 @@ ManaCost:B B Types:Instant Text:no text A:SP$ Pump | Cost$ B B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -3 | NumDef$ -3 | IsCurse$ True | SubAbility$ VampiricUrge | SpellDescription$ Target creature gets -3/-3 until end of turn. You may tap any number of untapped Vampire creatures you control. If you do, put a +1/+1 counter on each of those Vampires. -SVar:VampiricUrge:DB$ Tap | TargetMin$ 0 | TargetMax$ AbleToFeedX | ValidTgts$ Creature.Vampire+untapped+YouCtrl | ValidDesc$ untapped Vampire creature you control | RememberTapped$ True | SubAbility$ VampiricFeed +SVar:VampiricUrge:DB$ Tap | TargetMin$ 0 | TargetMax$ AbleToFeedX | References$ AbleToFeedX | ValidTgts$ Creature.Vampire+untapped+YouCtrl | ValidDesc$ untapped Vampire creature you control | RememberTapped$ True | SubAbility$ VampiricFeed SVar:VampiricFeed:DB$ PutCounter | CounterType$ P1P1 | CounterNum$ 1 | Defined$ Remembered | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:AbleToFeedX:Count$Valid Creature.Vampire+YouCtrl diff --git a/res/cardsfolder/v/vampiric_link.txt b/res/cardsfolder/v/vampiric_link.txt index 29f535f9f81..6338dc03c6f 100644 --- a/res/cardsfolder/v/vampiric_link.txt +++ b/res/cardsfolder/v/vampiric_link.txt @@ -5,7 +5,7 @@ Text:no text K:Enchant creature A:SP$ Attach | Cost$ B | ValidTgts$ Creature | AILogic$ Pump T:Mode$ DamageDone | ValidSource$ Card.AttachedBy | Execute$ TrigGain | TriggerZones$ Battlefield | TriggerDescription$ Whenever enchanted creature deals damage, you gain that much life. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/vampiric_link.jpg diff --git a/res/cardsfolder/v/varchilds_war_riders.txt b/res/cardsfolder/v/varchilds_war_riders.txt index 25375f670a7..b46aca9d423 100644 --- a/res/cardsfolder/v/varchilds_war_riders.txt +++ b/res/cardsfolder/v/varchilds_war_riders.txt @@ -8,7 +8,7 @@ K:Rampage 1 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigCumUpkeep | TriggerDescription$ Cumulative Upkeep - Put a 1/1 red Survivor creature token onto the battlefield under an opponent's control. SVar:TrigCumUpkeep:AB$ Charm | Cost$ 0 | Choices$ TrigAgeSurvivor,TrigAgeSacrifice | CharmNum$ 1 SVar:TrigAgeSurvivor:DB$PutCounter | Defined$ Self | CounterType$ AGE | CounterNum$ 1 | SubAbility$ Survivor -SVar:Survivor:DB$Token | TokenAmount$ X | TokenName$ Survivor | TokenTypes$ Creature,Survivor | TokenOwner$ Opponent | TokenColors$ Red | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put a 1/1 red Survivor creature token onto the battlefield under an opponent's control. +SVar:Survivor:DB$Token | TokenAmount$ X | References$ X | TokenName$ Survivor | TokenTypes$ Creature,Survivor | TokenOwner$ Opponent | TokenColors$ Red | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put a 1/1 red Survivor creature token onto the battlefield under an opponent's control. SVar:X:Count$CardCounters.AGE SVar:TrigAgeSacrifice:DB$PutCounter | Defined$ Self | CounterType$ AGE | CounterNum$ 1 | SubAbility$ Sacrifice SVar:Sacrifice:DB$ Sacrifice | Defined$ Self | SpellDescription$ Sacrifice CARDNAME. diff --git a/res/cardsfolder/v/vastwood_animist.txt b/res/cardsfolder/v/vastwood_animist.txt index c03628e7539..9c9b01939c3 100644 --- a/res/cardsfolder/v/vastwood_animist.txt +++ b/res/cardsfolder/v/vastwood_animist.txt @@ -3,7 +3,7 @@ ManaCost:2 G Types:Creature Elf Shaman Ally Text:no text PT:1/1 -A:AB$ Animate | Cost$ T | ValidTgts$ Land.YouCtrl | TgtPrompt$ Select target land you control | Power$ X | Toughness$ X | Types$ Creature,Elemental | SpellDescription$ Target land you control becomes an X/X Elemental creature until end of turn, where X is the number of Allies you control. It's still a land. +A:AB$ Animate | Cost$ T | ValidTgts$ Land.YouCtrl | TgtPrompt$ Select target land you control | Power$ X | Toughness$ X | References$ X | Types$ Creature,Elemental | SpellDescription$ Target land you control becomes an X/X Elemental creature until end of turn, where X is the number of Allies you control. It's still a land. SVar:X:Count$Valid Ally.YouCtrl SVar:RemRandomDeck:True SVar:RemAIDeck:True diff --git a/res/cardsfolder/v/vedalken_shackles.txt b/res/cardsfolder/v/vedalken_shackles.txt index 0b574e48165..03d6a7efa6c 100644 --- a/res/cardsfolder/v/vedalken_shackles.txt +++ b/res/cardsfolder/v/vedalken_shackles.txt @@ -3,7 +3,7 @@ ManaCost:3 Types:Artifact Text:no text K:You may choose not to untap CARDNAME during your untap step. -A:AB$ GainControl | Cost$ 2 T | ValidTgts$ Creature.powerLEX | TgtPrompt$ Select target creature with power less than or equal to the number of Islands you control. | LoseControl$ Untap,LeavesPlay | SpellDescription$ Gain control of target creature with power less than or equal to the number of Islands you control for as long as CARDNAME remains tapped. +A:AB$ GainControl | Cost$ 2 T | ValidTgts$ Creature.powerLEX | References$ X | TgtPrompt$ Select target creature with power less than or equal to the number of Islands you control. | LoseControl$ Untap,LeavesPlay | SpellDescription$ Gain control of target creature with power less than or equal to the number of Islands you control for as long as CARDNAME remains tapped. SVar:X:Count$TypeYouCtrl.Island SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/v/vein_drinker.txt b/res/cardsfolder/v/vein_drinker.txt index 03432876d3a..f55a3af1e9c 100644 --- a/res/cardsfolder/v/vein_drinker.txt +++ b/res/cardsfolder/v/vein_drinker.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 K:Flying K:Whenever a creature dealt damage by CARDNAME this turn is put into a graveyard, put a +1/+1 counter on CARDNAME. -A:AB$ DealDamage | Cost$ R T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SubAbility$ DamageThis | SpellDescription$ CARDNAME deals damage equal to its power to target creature. That creature deals damage equal to its power to CARDNAME. +A:AB$ DealDamage | Cost$ R T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | References$ X,Y | SubAbility$ DamageThis | SpellDescription$ CARDNAME deals damage equal to its power to target creature. That creature deals damage equal to its power to CARDNAME. SVar:DamageThis:DB$DealDamage | Defined$ Self | DamageSource$ Targeted | NumDmg$ Y SVar:X:Count$CardPower SVar:Y:Targeted$CardPower diff --git a/res/cardsfolder/v/venarian_glimmer.txt b/res/cardsfolder/v/venarian_glimmer.txt index 31bb80173b2..610f51b58d1 100644 --- a/res/cardsfolder/v/venarian_glimmer.txt +++ b/res/cardsfolder/v/venarian_glimmer.txt @@ -2,7 +2,7 @@ Name:Venarian Glimmer ManaCost:X U Types:Instant Text:no text -A:SP$ Discard | Cost$ X U | ValidTgts$ Player | TgtPrompt$ Select target player | Mode$ RevealYouChoose | DiscardValid$ Card.nonLand+cmcLEX | NumCards$ 1 | SpellDescription$ Target player reveals his or her hand. You choose a nonland card with converted mana cost X or less from it. That player discards that card. +A:SP$ Discard | Cost$ X U | ValidTgts$ Player | TgtPrompt$ Select target player | Mode$ RevealYouChoose | DiscardValid$ Card.nonLand+cmcLEX | References$ X | NumCards$ 1 | SpellDescription$ Target player reveals his or her hand. You choose a nonland card with converted mana cost X or less from it. That player discards that card. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/v/venarian_gold.txt b/res/cardsfolder/v/venarian_gold.txt index e190d383954..63337127660 100644 --- a/res/cardsfolder/v/venarian_gold.txt +++ b/res/cardsfolder/v/venarian_gold.txt @@ -6,7 +6,7 @@ K:Enchant creature A:SP$ Attach | Cost$ X U U | ValidTgts$ Creature | AILogic$ Curse T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigTap | TriggerDescription$ When CARDNAME enters the battlefield, tap enchanted creature and put X sleep counters on it. SVar:TrigTap:AB$Tap | Cost$ 0 | Defined$ Enchanted | SubAbility$ DBPutCounter -SVar:DBPutCounter:DB$PutCounter | Cost$ 0 | Defined$ Enchanted | CounterType$ SLEEP | CounterNum$ X +SVar:DBPutCounter:DB$PutCounter | Cost$ 0 | Defined$ Enchanted | CounterType$ SLEEP | CounterNum$ X | References$ X S:Mode$ Continuous | Affected$ Creature.AttachedBy+counters_GE1_SLEEP | AddHiddenKeyword$ HIDDEN CARDNAME doesn't untap during your untap step. | Description$ Enchanted creature doesn't untap during its controller's untap step if it has a sleep counter on it. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ EnchantedController | TriggerZones$ Battlefield | Execute$ TrigRemoveCounter | TriggerDescription$ At the beginning of the upkeep of enchanted creature's controller, remove a sleep counter from that creature. SVar:TrigRemoveCounter:AB$RemoveCounter | Cost$ 0 | Defined$ Enchanted | CounterType$ SLEEP | CounterNum$ 1 diff --git a/res/cardsfolder/v/vengeful_dreams.txt b/res/cardsfolder/v/vengeful_dreams.txt index 8a521c58aca..9e96b5c39a6 100644 --- a/res/cardsfolder/v/vengeful_dreams.txt +++ b/res/cardsfolder/v/vengeful_dreams.txt @@ -2,7 +2,7 @@ Name:Vengeful Dreams ManaCost:W W Types:Instant Text:no text -A:SP$ ChangeZone | Cost$ W W Discard | Origin$ Battlefield | Destination$ Exile | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | SpellDescription$ Exile X target attacking creatures. +A:SP$ ChangeZone | Cost$ W W Discard | Origin$ Battlefield | Destination$ Exile | TargetMin$ 0 | TargetMax$ MaxTgts | References$ X,MaxTgts | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | SpellDescription$ Exile X target attacking creatures. SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Creature.attacking SVar:RemAIDeck:True diff --git a/res/cardsfolder/v/vensers_journal.txt b/res/cardsfolder/v/vensers_journal.txt index dfe93f1697b..7fa4864539b 100644 --- a/res/cardsfolder/v/vensers_journal.txt +++ b/res/cardsfolder/v/vensers_journal.txt @@ -4,7 +4,7 @@ Types:Artifact Text:no text S:Mode$ Continuous | Affected$ You | SetMaxHandSize$ -1 | Description$ You have no maximum hand size. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigGainLife | TriggerDescription$ At the beginning of your upkeep, you gain 1 life for each card in your hand. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | LifeAmount$ X +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | LifeAmount$ X | References$ X SVar:X:Count$InYourHand SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/vensers_journal.jpg diff --git a/res/cardsfolder/v/vent_sentinel.txt b/res/cardsfolder/v/vent_sentinel.txt index 8b5b73e9f7b..c610fe75701 100644 --- a/res/cardsfolder/v/vent_sentinel.txt +++ b/res/cardsfolder/v/vent_sentinel.txt @@ -4,7 +4,7 @@ Types:Creature Elemental Text:no text PT:2/4 K:Defender -A:AB$ DealDamage | Cost$ 1 R T | Tgt$ TgtP | NumDmg$ X | SpellDescription$ CARDNAME deals damage to target player equal to the number of creatures with defender you control. +A:AB$ DealDamage | Cost$ 1 R T | Tgt$ TgtP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage to target player equal to the number of creatures with defender you control. SVar:X:Count$Valid Creature.withDefender+YouCtrl SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/vent_sentinel.jpg diff --git a/res/cardsfolder/v/ventifact_bottle.txt b/res/cardsfolder/v/ventifact_bottle.txt index 2405c87a880..bd306868bee 100644 --- a/res/cardsfolder/v/ventifact_bottle.txt +++ b/res/cardsfolder/v/ventifact_bottle.txt @@ -2,10 +2,10 @@ Name:Ventifact Bottle ManaCost:3 Types:Artifact Text:no text -A:AB$ PutCounter | Cost$ X 1 T | CounterType$ CHARGE | CounterNum$ X | SorcerySpeed$ True | SpellDescription$ Put X charge counters on Ventifact Bottle. Activate this ability only any time you could cast a sorcery. +A:AB$ PutCounter | Cost$ X 1 T | CounterType$ CHARGE | CounterNum$ X | References$ X | SorcerySpeed$ True | SpellDescription$ Put X charge counters on Ventifact Bottle. Activate this ability only any time you could cast a sorcery. T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigGetMana | CheckSVar$ Y | SVarCompare$ GE1 | TriggerDescription$ At the beginning of your precombat main phase, if CARDNAME has a charge counter on it, tap it and remove all charge counters from it. Add {1} to your mana pool for each charge counter removed this way. SVar:TrigGetMana:DB$ Mana | Produced$ 1 | Amount$ Y | SubAbility$ TrigRemove -SVar:TrigRemove:DB$ RemoveCounter | CounterType$ CHARGE | CounterNum$ Y | SubAbility$ DBTap +SVar:TrigRemove:DB$ RemoveCounter | CounterType$ CHARGE | CounterNum$ Y | References$ Y | SubAbility$ DBTap SVar:DBTap:DB$ Tap | Defined$ Self SVar:X:Count$xPaid SVar:Y:Count$CardCounters.CHARGE diff --git a/res/cardsfolder/v/verdant_force.txt b/res/cardsfolder/v/verdant_force.txt index 7b5452f98f4..14d72b77d7c 100644 --- a/res/cardsfolder/v/verdant_force.txt +++ b/res/cardsfolder/v/verdant_force.txt @@ -4,7 +4,7 @@ Types:Creature Elemental Text:no text PT:7/7 T:Mode$ Phase | Phase$ Upkeep | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ At the beginning of each upkeep, put a 1/1 green Saproling creature token onto the battlefield. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ 1 | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenPower$ 1 | TokenToughness$ 1 | TokenColors$ Green +SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ 1 | TokenName$ Saproling | TokenTypes$ Creature,Saproling | TokenOwner$ You | TokenPower$ 1 | TokenToughness$ 1 | TokenColors$ Green | TokenImage$ g 1 1 saproling SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/verdant_force.jpg SetInfo:TMP|Rare|http://magiccards.info/scans/en/tp/157.jpg diff --git a/res/cardsfolder/v/veteran_bodyguard.txt b/res/cardsfolder/v/veteran_bodyguard.txt index 54f1785bde3..2fabc70aa03 100644 --- a/res/cardsfolder/v/veteran_bodyguard.txt +++ b/res/cardsfolder/v/veteran_bodyguard.txt @@ -5,8 +5,8 @@ Text:no text PT:2/5 R:Event$ DamageDone | ValidSource$ Creature.unblocked | ValidTarget$ You | ReplaceWith$ DmgSelf | IsCombat$ False | IsPresent$ Card.Self+untapped | Description$ As long as CARDNAME is untapped, all damage that would be dealt to you by unblocked creatures is dealt to CARDNAME instead. R:Event$ DamageDone | ValidSource$ Creature.unblocked | ValidTarget$ You | ReplaceWith$ DmgSelfCombat | IsCombat$ True | IsPresent$ Card.Self+untapped | Secondary$ True | Description$ As long as CARDNAME is untapped, all damage that would be dealt to you by unblocked creatures is dealt to CARDNAME instead. -SVar:DmgSelf:AB$DealDamage | Cost$ 0 | Defined$ Self | DamageSource$ ReplacedSource | NumDmg$ X -SVar:DmgSelfCombat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ Self | DamageSource$ ReplacedSource | NumDmg$ X +SVar:DmgSelf:AB$DealDamage | Cost$ 0 | Defined$ Self | DamageSource$ ReplacedSource | NumDmg$ X | References$ X +SVar:DmgSelfCombat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ Self | DamageSource$ ReplacedSource | NumDmg$ X | References$ X SVar:X:ReplaceCount$DamageAmount SVar:Picture:http://www.wizards.com/global/images/magic/general/veteran_bodyguard.jpg SetInfo:LEA|Rare|http://magiccards.info/scans/en/al/225.jpg diff --git a/res/cardsfolder/v/veterans_armaments.txt b/res/cardsfolder/v/veterans_armaments.txt index a36d57053a1..b5c1be70b5d 100644 --- a/res/cardsfolder/v/veterans_armaments.txt +++ b/res/cardsfolder/v/veterans_armaments.txt @@ -6,7 +6,7 @@ K:eqPump 2:+0/+0 S:Mode$ Continuous | Affected$ Card.EquippedBy | AddTrigger$ HeroAttack & HeroBlock | AddSVar$ HeroPump & ArmamentsX SVar:HeroAttack:Mode$ Attacks | ValidCard$ Card.Self | Execute$ HeroPump | TriggerDescription$ Equipped creature has "Whenever this creature attacks or blocks, it gets +1/+1 until end of turn for each attacking creature." SVar:HeroBlock:Mode$ Blocks | ValidCard$ Card.Self | Execute$ HeroPump | Secondary$ True | TriggerDescription$ Equipped creature has "Whenever this creature attacks or blocks, it gets +1/+1 until end of turn for each attacking creature." -SVar:HeroPump:DB$ Pump | NumAtt$ ArmamentsX | NumDef$ ArmamentsX +SVar:HeroPump:DB$ Pump | NumAtt$ ArmamentsX | NumDef$ ArmamentsX | References$ ArmamentsX T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Soldier | TriggerZones$ Battlefield | Execute$ HeroAttach | OptionalDecider$ You | TriggerDescription$ Whenever a Soldier creature enters the battlefield, you may attach CARDNAME to it. SVar:HeroAttach:DB$ Attach | Defined$ TriggeredCard SVar:ArmamentsX:Count$Valid Creature.attacking diff --git a/res/cardsfolder/v/vigil_for_the_lost.txt b/res/cardsfolder/v/vigil_for_the_lost.txt index f6aa7c34cd3..37476109d04 100644 --- a/res/cardsfolder/v/vigil_for_the_lost.txt +++ b/res/cardsfolder/v/vigil_for_the_lost.txt @@ -3,7 +3,7 @@ ManaCost:3 W Types:Enchantment Text:no text T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.YouCtrl | Execute$ TrigGainLife | OptionalDecider$ You | TriggerZones$ Battlefield | TriggerDescription$ Whenever a creature you control is put into a graveyard from the battlefield, you may pay X. If you do, you gain X life. -SVar:TrigGainLife:AB$GainLife | Cost$ X | LifeAmount$ X +SVar:TrigGainLife:AB$GainLife | Cost$ X | LifeAmount$ X | References$ X SVar:X:Count$xPaid SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/vigil_for_the_lost.jpg diff --git a/res/cardsfolder/v/vigor.txt b/res/cardsfolder/v/vigor.txt index 50ac6a37218..5d3dc8d2350 100644 --- a/res/cardsfolder/v/vigor.txt +++ b/res/cardsfolder/v/vigor.txt @@ -5,7 +5,7 @@ Text:no text PT:6/6 K:Trample R:Event$ DamageDone | ValidTarget$ Creature.YouCtrl+Other | ReplaceWith$ Counters | PreventionEffect$ True | Description$ If damage would be dealt to a creature you control other than CARDNAME, prevent that damage. Put a +1/+1 counter on that creature for each 1 damage prevented this way. -SVar:Counters:AB$PutCounter | Cost$ 0 | Defined$ ReplacedTarget | CounterType$ P1P1 | CounterNum$ X +SVar:Counters:AB$PutCounter | Cost$ 0 | Defined$ ReplacedTarget | CounterType$ P1P1 | CounterNum$ X | References$ X SVar:X:ReplaceCount$DamageAmount T:Mode$ ChangesZone | Origin$ Any | Destination$ Graveyard | ValidCard$ Creature.Self | Execute$ TrigShuffle | TriggerDescription$ When CARDNAME is put into a graveyard from anywhere, shuffle it into its owner's library. SVar:TrigShuffle:AB$ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Library | Shuffle$ True | Defined$ Self diff --git a/res/cardsfolder/v/vigorous_charge.txt b/res/cardsfolder/v/vigorous_charge.txt index 21952d882ff..964789ac1ca 100644 --- a/res/cardsfolder/v/vigorous_charge.txt +++ b/res/cardsfolder/v/vigorous_charge.txt @@ -6,7 +6,7 @@ A:SP$ Pump | Cost$ G | ValidTgts$ Creature | KW$ Trample | SpellDescription$ Tar A:SP$ Pump | Cost$ G W | SetAsKicked$ True | ValidTgts$ Creature | KW$ Trample | SubAbility$ VigorousPumping | SpellDescription$ Kicker W (You may pay an additional W as you cast this spell.) SVar:VigorousPumping:DB$ Effect | TgtPrompt$ Select target creature | Triggers$ TrigDamage,EndTrackingEffect | SVars$ VigorousLife,X,ExileEffect | RememberObjects$ Targeted SVar:TrigDamage:Mode$ DamageDone | ValidSource$ Creature.IsRemembered | CombatDamage$ True | Execute$ VigorousLife | TriggerDescription$ Whenever the targeted creature deals combat damage this turn, you gain life equal to that damage. -SVar:VigorousLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:VigorousLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:EndTrackingEffect:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Battlefield | Destination$ Any | Execute$ ExileEffect | Static$ True SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Exile diff --git a/res/cardsfolder/v/vile_deacon.txt b/res/cardsfolder/v/vile_deacon.txt index 02adaf2d6f9..f84a9892c67 100644 --- a/res/cardsfolder/v/vile_deacon.txt +++ b/res/cardsfolder/v/vile_deacon.txt @@ -4,7 +4,7 @@ Types:Creature Human Cleric Text:no text PT:2/2 T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, it gets +X/+X until end of turn, where X is the number of Clerics on the battlefield. -SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ X | NumDef$ X +SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ X | NumDef$ X | References$ X SVar:X:Count$Valid Cleric SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/vile_deacon.jpg diff --git a/res/cardsfolder/v/vile_requiem.txt b/res/cardsfolder/v/vile_requiem.txt index 6b5bdff1c32..111a62259ea 100644 --- a/res/cardsfolder/v/vile_requiem.txt +++ b/res/cardsfolder/v/vile_requiem.txt @@ -2,7 +2,7 @@ Name:Vile Requiem ManaCost:2 B B Types:Enchantment Text:no text -A:AB$ Destroy | Cost$ 1 B Sac<1/CARDNAME> | TargetMin$ 0 | TargetMax$ X | ValidTgts$ Creature.nonBlack | NoRegen$ True | TgtPrompt$ Select target nonblack creature | SpellDescription$ Destroy up to X target nonblack creatures, where X is the number of verse counters on CARDNAME. They can't be regenerated. +A:AB$ Destroy | Cost$ 1 B Sac<1/CARDNAME> | TargetMin$ 0 | TargetMax$ X | References$ X | ValidTgts$ Creature.nonBlack | NoRegen$ True | TgtPrompt$ Select target nonblack creature | SpellDescription$ Destroy up to X target nonblack creatures, where X is the number of verse counters on CARDNAME. They can't be regenerated. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, you may put a verse counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ VERSE | CounterNum$ 1 SVar:X:Count$CardCounters.VERSE diff --git a/res/cardsfolder/v/viridian_emissary.txt b/res/cardsfolder/v/viridian_emissary.txt index 9a8ffe1aa3b..6173a58ff9a 100644 --- a/res/cardsfolder/v/viridian_emissary.txt +++ b/res/cardsfolder/v/viridian_emissary.txt @@ -8,5 +8,6 @@ SVar:TrigChange:AB$ChangeZone | Cost$ 0 | Origin$ Library | Destination$ Battlef SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/viridian_emissary.jpg SetInfo:MBS|Common|http://magiccards.info/scans/en/mbs/95.jpg +SetInfo:PC2|Common|http://magiccards.info/scans/en/pc2/80.jpg Oracle:When Viridian Emissary dies, you may search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library. End \ No newline at end of file diff --git a/res/cardsfolder/v/viridian_joiner.txt b/res/cardsfolder/v/viridian_joiner.txt index 7d0fdc70695..f7ade484032 100644 --- a/res/cardsfolder/v/viridian_joiner.txt +++ b/res/cardsfolder/v/viridian_joiner.txt @@ -2,9 +2,9 @@ Name:Viridian Joiner ManaCost:2 G Types:Creature Elf Druid Text:no text -A:AB$ Mana | Cost$ T | Produced$ G | Amount$ X | SpellDescription$ Add an amount of G to your mana pool equal to Viridian Joiner's power. -SVar:X:Count$CardPower PT:1/2 +A:AB$ Mana | Cost$ T | Produced$ G | Amount$ X | References$ X | SpellDescription$ Add an amount of G to your mana pool equal to Viridian Joiner's power. +SVar:X:Count$CardPower SVar:RemAIDeck:True SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/v/viridian_lorebearers.txt b/res/cardsfolder/v/viridian_lorebearers.txt index 9d94bd96a69..5209eee77bc 100644 --- a/res/cardsfolder/v/viridian_lorebearers.txt +++ b/res/cardsfolder/v/viridian_lorebearers.txt @@ -3,7 +3,7 @@ ManaCost:3 G Types:Creature Elf Shaman Text:no text PT:3/3 -A:AB$ Pump | Cost$ 3 G T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | SpellDescription$ Target creature gets +X/+X until end of turn, where X is the number of artifacts your opponents control. +A:AB$ Pump | Cost$ 3 G T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | References$ X | SpellDescription$ Target creature gets +X/+X until end of turn, where X is the number of artifacts your opponents control. SVar:X:Count$TypeOppCtrl.Artifact SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/v/viseling.txt b/res/cardsfolder/v/viseling.txt index b05d368ad35..c80cade2de2 100644 --- a/res/cardsfolder/v/viseling.txt +++ b/res/cardsfolder/v/viseling.txt @@ -4,7 +4,7 @@ Types:Artifact Creature Construct Text:no text PT:2/2 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Opponent | IsPresent$ Card.YouDontCtrl | PresentZone$ Hand | PresentCompare$ GT4 | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ At the beginning of each opponent's upkeep, CARDNAME deals X damage to that player, where X is the number of cards in his or her hand minus 4. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ X +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ X | References$ X SVar:X:Count$InOppHand/Minus.4 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/viseling.jpg diff --git a/res/cardsfolder/v/visions_of_beyond.txt b/res/cardsfolder/v/visions_of_beyond.txt index afaccc6e7bb..d355f096eb9 100644 --- a/res/cardsfolder/v/visions_of_beyond.txt +++ b/res/cardsfolder/v/visions_of_beyond.txt @@ -2,7 +2,7 @@ Name:Visions of Beyond ManaCost:U Types:Instant Text:no text -A:SP$ Draw | Cost$ U | NumCards$ X | SpellDescription$ Draw a card. If a graveyard has twenty or more cards in it, draw three cards instead. +A:SP$ Draw | Cost$ U | NumCards$ X | References$ X | SpellDescription$ Draw a card. If a graveyard has twenty or more cards in it, draw three cards instead. SVar:X:Count$GraveyardWithGE20Cards.3.1 SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/visions_of_beyond.jpg diff --git a/res/cardsfolder/v/vitalizing_cascade.txt b/res/cardsfolder/v/vitalizing_cascade.txt index 67a8ea92d47..c018b6dda1e 100644 --- a/res/cardsfolder/v/vitalizing_cascade.txt +++ b/res/cardsfolder/v/vitalizing_cascade.txt @@ -2,7 +2,7 @@ Name:Vitalizing Cascade ManaCost:X G W Types:Instant Text:no text -A:SP$ GainLife | Cost$ X G W | Defined$ You | LifeAmount$ X | SubAbility$ DBGain3 | SpellDescription$ You gain X plus 3 life. +A:SP$ GainLife | Cost$ X G W | Defined$ You | LifeAmount$ X | References$ X | SubAbility$ DBGain3 | SpellDescription$ You gain X plus 3 life. SVar:DBGain3:DB$GainLife | LifeAmount$ 3 | Defined$ You SVar:X:Count$xPaid SVar:Rarity:Uncommon diff --git a/res/cardsfolder/v/voices_from_the_void.txt b/res/cardsfolder/v/voices_from_the_void.txt index c88053901be..428a9bdbaf7 100644 --- a/res/cardsfolder/v/voices_from_the_void.txt +++ b/res/cardsfolder/v/voices_from_the_void.txt @@ -2,7 +2,7 @@ Name:Voices from the Void ManaCost:4 B Types:Sorcery Text:no text -A:SP$ Discard | Cost$ 4 B | ValidTgts$ Player | NumCards$ X | Mode$ TgtChoose | SpellDescription$ Domain - Target player discards a card for each basic land type among lands you control. +A:SP$ Discard | Cost$ 4 B | ValidTgts$ Player | NumCards$ X | References$ X | Mode$ TgtChoose | SpellDescription$ Domain - Target player discards a card for each basic land type among lands you control. SVar:X:Count$Domain SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/v/volcanic_eruption.txt b/res/cardsfolder/v/volcanic_eruption.txt index 23be08a9dfe..f78b775c59d 100644 --- a/res/cardsfolder/v/volcanic_eruption.txt +++ b/res/cardsfolder/v/volcanic_eruption.txt @@ -2,7 +2,7 @@ Name:Volcanic Eruption ManaCost:X U U U Types:Sorcery Text:no text -A:SP$ Destroy | Cost$ X U U U | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Mountain | TgtPrompt$ Select target Mountain | SpellDescription$ Destroy X target Mountains. CARDNAME deals damage to each creature and each player equal to the number of Mountains destroyed this way. | SubAbility$ DB +A:SP$ Destroy | Cost$ X U U U | TargetMin$ 0 | TargetMax$ MaxTgts | References$ X,MaxTgts | ValidTgts$ Mountain | TgtPrompt$ Select target Mountain | SpellDescription$ Destroy X target Mountains. CARDNAME deals damage to each creature and each player equal to the number of Mountains destroyed this way. | SubAbility$ DB # It may seem wrong to not use X in the target, but since the Targets are what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Land diff --git a/res/cardsfolder/v/volcanic_geyser.txt b/res/cardsfolder/v/volcanic_geyser.txt index dedbd1f9696..a00b199b87d 100644 --- a/res/cardsfolder/v/volcanic_geyser.txt +++ b/res/cardsfolder/v/volcanic_geyser.txt @@ -2,7 +2,7 @@ Name:Volcanic Geyser ManaCost:X R R Types:Instant Text:no text -A:SP$ DealDamage | Cost$ X R R | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to target creature or player. +A:SP$ DealDamage | Cost$ X R R | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to target creature or player. SVar:X:Count$xPaid SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/volcanic_geyser.jpg diff --git a/res/cardsfolder/v/voodoo_doll.txt b/res/cardsfolder/v/voodoo_doll.txt index 76a075c7cbd..c4bb588adb3 100644 --- a/res/cardsfolder/v/voodoo_doll.txt +++ b/res/cardsfolder/v/voodoo_doll.txt @@ -4,10 +4,10 @@ Types:Artifact Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, put a pin counter on CARDNAME. T:Mode$ Phase | Phase$ End of Turn | IsPresent$ Card.Self+untapped | PresentCompare$ EQ1 | ValidPlayer$ You | Execute$ TrigDestroy | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your end step, if CARDNAME is untapped, destroy CARDNAME and it deals damage to you equal to the number of pin counters on it. -A:AB$ DealDamage | Cost$ X X T | Tgt$ TgtCP | NumDmg$ X | SpellDescription$ CARDNAME deals damage equal to the number of pin counters on it to target creature or player. X is the number of pin counters on CARDNAME. +A:AB$ DealDamage | Cost$ X X T | Tgt$ TgtCP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage equal to the number of pin counters on it to target creature or player. X is the number of pin counters on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | CounterType$ PIN | CounterNum$ 1 | Defined$ Self SVar:TrigDestroy:AB$Destroy | Cost$ 0 | Defined$ Self | SubAbility$ DBDealDamageYou -SVar:DBDealDamageYou:DB$DealDamage | Defined$ You | NumDmg$ X +SVar:DBDealDamageYou:DB$DealDamage | Defined$ You | NumDmg$ X | References$ X SVar:X:Count$CardCounters.PIN SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/v/voracious_dragon.txt b/res/cardsfolder/v/voracious_dragon.txt index bd48b1532e1..1aebbca91a9 100644 --- a/res/cardsfolder/v/voracious_dragon.txt +++ b/res/cardsfolder/v/voracious_dragon.txt @@ -6,7 +6,7 @@ PT:4/4 K:Flying K:Devour:1 T:Mode$ ChangesZone | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDamage | TriggerDescription$ When CARDNAME enters the battlefield, it deals damage to target creature or player equal to twice the number of Goblins it devoured. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Tgt$ TgtCP | NumDmg$ X +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Tgt$ TgtCP | NumDmg$ X | References$ X SVar:X:Count$Devoured Card.Goblin/Twice SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/voracious_dragon.jpg diff --git a/res/cardsfolder/v/voyager_drake.txt b/res/cardsfolder/v/voyager_drake.txt index 0c525b94385..3d539ab2a25 100644 --- a/res/cardsfolder/v/voyager_drake.txt +++ b/res/cardsfolder/v/voyager_drake.txt @@ -6,7 +6,7 @@ PT:3/3 K:Flying K:Multikicker U T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigFlying | TriggerDescription$ When CARDNAME enters the battlefield, up to X target creatures gain flying until end of turn, where X is the number of times CARDNAME was kicked. -SVar:TrigFlying:AB$Pump | Cost$ 0 | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ X | KW$ Flying | TgtPrompt$ Select target creature +SVar:TrigFlying:AB$Pump | Cost$ 0 | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ X | References$ X | KW$ Flying | TgtPrompt$ Select target creature SVar:X:Count$TimesKicked SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/Voyager_Drake.jpg diff --git a/res/cardsfolder/w/waiting_in_the_weeds.txt b/res/cardsfolder/w/waiting_in_the_weeds.txt index d8ea1125153..a15e333d8a3 100644 --- a/res/cardsfolder/w/waiting_in_the_weeds.txt +++ b/res/cardsfolder/w/waiting_in_the_weeds.txt @@ -2,8 +2,8 @@ Name:Waiting in the Weeds ManaCost:1 G G Types:Sorcery Text:no text -A:SP$ Token | Cost$ 1 G G | TokenAmount$ ForestYou | TokenName$ Cat | TokenTypes$ Creature,Cat | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | SubAbility$ DBToken | SpellDescription$ Each player puts a 1/1 green Cat creature token onto the battlefield for each untapped Forest he or she controls. -SVar:DBToken:DB$Token | TokenAmount$ ForestOpp | TokenName$ Cat | TokenTypes$ Creature,Cat | TokenOwner$ Opponent | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 +A:SP$ Token | Cost$ 1 G G | TokenAmount$ ForestYou | References$ ForestYou | TokenName$ Cat | TokenTypes$ Creature,Cat | TokenOwner$ You | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | SubAbility$ DBToken | SpellDescription$ Each player puts a 1/1 green Cat creature token onto the battlefield for each untapped Forest he or she controls. +SVar:DBToken:DB$Token | TokenAmount$ ForestOpp | References$ ForestOpp | TokenName$ Cat | TokenTypes$ Creature,Cat | TokenOwner$ Opponent | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 SVar:ForestYou:Count$Valid Forest.untapped+YouCtrl SVar:ForestOpp:Count$Valid Forest.untapped+YouDontCtrl SVar:Rarity:Rare diff --git a/res/cardsfolder/w/walking_archive.txt b/res/cardsfolder/w/walking_archive.txt index 9ccde3eb8df..8529fe44e8d 100644 --- a/res/cardsfolder/w/walking_archive.txt +++ b/res/cardsfolder/w/walking_archive.txt @@ -8,8 +8,8 @@ K:Defender T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigYouDraw | TriggerDescription$ At the beginning of each player's upkeep, that player draws a card for each +1/+1 counter on CARDNAME. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Opponent | TriggerZones$ Battlefield | Execute$ TrigOppDraw | Secondary$ True | TriggerDescription$ At the beginning of each player's upkeep, that player draws a card for each +1/+1 counter on CARDNAME. A:AB$ PutCounter | Cost$ 2 W U | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Put a +1/+1 counter on CARDNAME. -SVar:TrigYouDraw:AB$Draw | Cost$ 0 | NumCards$ X | Defined$ You -SVar:TrigOppDraw:AB$Draw | Cost$ 0 | NumCards$ X | Defined$ Opponent +SVar:TrigYouDraw:AB$Draw | Cost$ 0 | NumCards$ X | Defined$ You | References$ X +SVar:TrigOppDraw:AB$Draw | Cost$ 0 | NumCards$ X | Defined$ Opponent | References$ X SVar:X:Count$CardCounters.P1P1 SVar:RemRandomDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/w/wall_of_essence.txt b/res/cardsfolder/w/wall_of_essence.txt index 4587d6ea532..1edafae3a17 100644 --- a/res/cardsfolder/w/wall_of_essence.txt +++ b/res/cardsfolder/w/wall_of_essence.txt @@ -5,7 +5,7 @@ Text:no text PT:0/4 K:Defender T:Mode$ DamageDone | ValidTarget$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigGain | CombatDamage$ True | TriggerDescription$ Whenever CARDNAME is dealt combat damage, you gain that much life. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/wall_of_essence.jpg diff --git a/res/cardsfolder/w/wall_of_hope.txt b/res/cardsfolder/w/wall_of_hope.txt index fb394359700..63f2efea325 100644 --- a/res/cardsfolder/w/wall_of_hope.txt +++ b/res/cardsfolder/w/wall_of_hope.txt @@ -5,7 +5,7 @@ Text:no text PT:0/3 K:Defender T:Mode$ DamageDone | DamageSource$ Any | ValidTarget$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigGainLife | TriggerDescription$ Whenever CARDNAME is dealt damage, you gain that much life. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/wall_of_hope.jpg diff --git a/res/cardsfolder/w/wall_of_reverence.txt b/res/cardsfolder/w/wall_of_reverence.txt index 12a82bf69d8..d2d353fbeba 100644 --- a/res/cardsfolder/w/wall_of_reverence.txt +++ b/res/cardsfolder/w/wall_of_reverence.txt @@ -1,10 +1,14 @@ Name:Wall of Reverence ManaCost:3 W Types:Creature Spirit Wall -Text:At the beginning of your end step, you may gain life equal to the power of target creature you control. +Text:no text PT:1/6 K:Defender K:Flying +T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDig | OptionalDecider$ You | TriggerDescription$ At the beginning of your end step, you may gain life equal to the power of target creature you control. +SVar:TrigDig:AB$ Pump | Cost$ 0 | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | AILogic$ HighestPower | SubAbility$ DBGainLife +SVar:DBGainLife:DB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:X:Targeted$CardPower SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/wall_of_reverence.jpg SetInfo:CFX|Rare|http://magiccards.info/scans/en/cfx/20.jpg diff --git a/res/cardsfolder/w/wall_of_souls.txt b/res/cardsfolder/w/wall_of_souls.txt index 0aea49078bc..1445e83cc89 100644 --- a/res/cardsfolder/w/wall_of_souls.txt +++ b/res/cardsfolder/w/wall_of_souls.txt @@ -5,7 +5,7 @@ Text:no text PT:0/4 K:Defender T:Mode$ DamageDone | ValidTarget$ Card.Self | Execute$ TrigDamage | CombatDamage$ True | TriggerDescription$ Whenever CARDNAME is dealt combat damage, it deals that much damage to target opponent. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | NumDmg$ X +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | NumDmg$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/wall_of_souls.jpg diff --git a/res/cardsfolder/w/wall_of_tombstones.txt b/res/cardsfolder/w/wall_of_tombstones.txt index a3b61866b06..f4798195473 100644 --- a/res/cardsfolder/w/wall_of_tombstones.txt +++ b/res/cardsfolder/w/wall_of_tombstones.txt @@ -5,7 +5,7 @@ Text:no text PT:0/1 K:Defender T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigTough | TriggerDescription$ At the beginning of your upkeep, CARDNAME's toughness becomes 1 plus the number of creature cards in your graveyard. -SVar:TrigTough:AB$Animate | Cost$ 0 | Toughness$ X | Permanent$ True +SVar:TrigTough:AB$Animate | Cost$ 0 | Toughness$ X | Permanent$ True | References$ X SVar:X:Count$TypeInYourYard.Creature/Plus.1 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/wall_of_tombstones.jpg diff --git a/res/cardsfolder/w/wandering_goblins.txt b/res/cardsfolder/w/wandering_goblins.txt index ea3f3e57214..c6cf581db05 100644 --- a/res/cardsfolder/w/wandering_goblins.txt +++ b/res/cardsfolder/w/wandering_goblins.txt @@ -3,7 +3,7 @@ ManaCost:2 R Types:Creature Goblin Warrior Text:no text PT:0/3 -A:AB$ Pump | Cost$ 3 | NumAtt$ +X | PrecostDesc$ Domain - | SpellDescription$ Wandering Goblins gets +1/+0 until end of turn for each basic land type among lands you control. +A:AB$ Pump | Cost$ 3 | NumAtt$ +X | References$ X | PrecostDesc$ Domain - | SpellDescription$ Wandering Goblins gets +1/+0 until end of turn for each basic land type among lands you control. SVar:X:Count$Domain SVar:BuffedBy:Plains,Island,Swamp,Mountain,Forest SVar:RemRandomDeck:True diff --git a/res/cardsfolder/w/wandering_stream.txt b/res/cardsfolder/w/wandering_stream.txt index 284403e7f40..8653226dc08 100644 --- a/res/cardsfolder/w/wandering_stream.txt +++ b/res/cardsfolder/w/wandering_stream.txt @@ -2,7 +2,7 @@ Name:Wandering Stream ManaCost:2 G Types:Sorcery Text:no text -A:SP$ GainLife | Cost$ 2 G | LifeAmount$ X | SpellDescription$ Domain - You gain 2 life for each basic land type among lands you control. +A:SP$ GainLife | Cost$ 2 G | LifeAmount$ X | References$ X | SpellDescription$ Domain - You gain 2 life for each basic land type among lands you control. SVar:X:Count$Domain/Times.2 SVar:RemRandomDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/w/war_dance.txt b/res/cardsfolder/w/war_dance.txt index 53015574506..88dd903a366 100644 --- a/res/cardsfolder/w/war_dance.txt +++ b/res/cardsfolder/w/war_dance.txt @@ -2,7 +2,7 @@ Name:War Dance ManaCost:G Types:Enchantment Text:no text -A:AB$ Pump | Cost$ Sac<1/CARDNAME> | NumAtt$ +X | NumDef$ +X | ValidTgts$ Creature | TgtPrompt$ Select target creature. | SpellDescription$ Target creature gets +X/+X until end of turn, where X is the number of verse counters on CARDNAME. +A:AB$ Pump | Cost$ Sac<1/CARDNAME> | NumAtt$ +X | NumDef$ +X | References$ X | ValidTgts$ Creature | TgtPrompt$ Select target creature. | SpellDescription$ Target creature gets +X/+X until end of turn, where X is the number of verse counters on CARDNAME. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, you may put a verse counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ VERSE | CounterNum$ 1 SVar:X:Count$CardCounters.VERSE diff --git a/res/cardsfolder/w/war_report.txt b/res/cardsfolder/w/war_report.txt index a6dd246ad02..f2a622cb480 100644 --- a/res/cardsfolder/w/war_report.txt +++ b/res/cardsfolder/w/war_report.txt @@ -2,7 +2,7 @@ Name:War Report ManaCost:3 W Types:Instant Text:no text -A:SP$ GainLife | Cost$ 3 W | LifeAmount$ X | SpellDescription$ You gain life equal to the number of creatures on the battlefield plus the number of artifacts on the battlefield. +A:SP$ GainLife | Cost$ 3 W | LifeAmount$ X | References$ X,Y | SpellDescription$ You gain life equal to the number of creatures on the battlefield plus the number of artifacts on the battlefield. SVar:X:Count$Valid Creature/Plus.Y SVar:Y:Count$Valid Artifact SVar:Rarity:Common diff --git a/res/cardsfolder/w/warbreak_trumpeter.txt b/res/cardsfolder/w/warbreak_trumpeter.txt index f282aaf36c5..565659d1ce8 100644 --- a/res/cardsfolder/w/warbreak_trumpeter.txt +++ b/res/cardsfolder/w/warbreak_trumpeter.txt @@ -5,7 +5,7 @@ Text:no text PT:1/1 K:Morph:X X R T:Mode$ TurnFaceUp | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME is turned face up, put X 1/1 red Goblin creature tokens onto the battlefield. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Goblin | TokenTypes$ Creature,Goblin | TokenOwner$ You | TokenColors$ Red | TokenPower$ 1 | TokenToughness$ 1 +SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | References$ X | TokenName$ Goblin | TokenTypes$ Creature,Goblin | TokenOwner$ You | TokenColors$ Red | TokenPower$ 1 | TokenToughness$ 1 SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/w/wargate.txt b/res/cardsfolder/w/wargate.txt index c756af93587..35939bd70d1 100644 --- a/res/cardsfolder/w/wargate.txt +++ b/res/cardsfolder/w/wargate.txt @@ -2,7 +2,7 @@ Name:Wargate ManaCost:X G W U Types:Sorcery Text:no text -A:SP$ ChangeZone | Cost$ X G W U | Origin$ Library | Destination$ Battlefield | ChangeType$ Permanent.cmcLEX | ChangeNum$ 1 | SpellDescription$ Search your library for a permanent card with converted mana cost X or less, put it onto the battlefield, then shuffle your library. +A:SP$ ChangeZone | Cost$ X G W U | Origin$ Library | Destination$ Battlefield | ChangeType$ Permanent.cmcLEX | References$ X | ChangeNum$ 1 | SpellDescription$ Search your library for a permanent card with converted mana cost X or less, put it onto the battlefield, then shuffle your library. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/w/warrior_angel.txt b/res/cardsfolder/w/warrior_angel.txt index f3487a75513..49555ffa95c 100644 --- a/res/cardsfolder/w/warrior_angel.txt +++ b/res/cardsfolder/w/warrior_angel.txt @@ -5,7 +5,7 @@ Text:no text PT:3/4 K:Flying T:Mode$ DamageDone | ValidSource$ Card.Self | Execute$ TrigGain | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals damage, you gain that much life. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/warrior_angel.jpg diff --git a/res/cardsfolder/w/warrior_en_kor.txt b/res/cardsfolder/w/warrior_en_kor.txt index af22fa1ede5..87ec8242213 100644 --- a/res/cardsfolder/w/warrior_en_kor.txt +++ b/res/cardsfolder/w/warrior_en_kor.txt @@ -3,7 +3,7 @@ ManaCost:W W Types:Creature Kor Warrior Knight Text:no text PT:2/2 -A:AB$ Effect | Cost$ 0 | Name$ en-Kor Redirection | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control to redirect the damage to | ReplacementEffects$ EnKorCombat,EnKorNonCombat | Triggers$ OutOfSight | SVars$ CombatDmg,NonCombatDmg,ExileEffect,RestDmgCombat,RestDmg,X,Y | Duration$ HostLeavesOrEOT | RememberObjects$ Self | ImprintCards$ Targeted | SpellDescription$ The next 1 damage that would be dealt to CARDNAME this turn is dealt to target creature you control instead. +A:AB$ Effect | Cost$ 0 | Name$ en-Kor Redirection | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control to redirect the damage to | ReplacementEffects$ EnKorCombat,EnKorNonCombat | Triggers$ OutOfSight | SVars$ CombatDmg,NonCombatDmg,ExileEffect,RestDmgCombat,RestDmg,X,Y | References$ EnKorCombat,EnKorNonCombat,OutOfSight,CombatDmg,NonCombatDmg,ExileEffect,RestDmgCombat,RestDmg,X,Y | Duration$ HostLeavesOrEOT | RememberObjects$ Self | ImprintCards$ Targeted | SpellDescription$ The next 1 damage that would be dealt to CARDNAME this turn is dealt to target creature you control instead. SVar:EnKorCombat:Event$ DamageDone | ValidTarget$ Creature.IsRemembered | IsCombat$ True | ReplaceWith$ CombatDmg | Description$ The next 1 damage that would be dealt to Warrior en-Kor this turn is dealt to target creature you control instead. SVar:EnKorNonCombat:Event$ DamageDone | ValidTarget$ Creature.IsRemembered | IsCombat$ False | ReplaceWith$ NonCombatDmg | Secondary$ True | Description$ The next 1 damage that would be dealt to Warrior en-Kor this turn is dealt to target creature you control instead. SVar:CombatDmg:AB$DealDamage | Cost$ 0 | Defined$ Imprinted | DamageSource$ ReplacedSource | CombatDamage$ True | NumDmg$ 1 | SubAbility$ RestDmgCombat | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE1 diff --git a/res/cardsfolder/w/wave_of_indifference.txt b/res/cardsfolder/w/wave_of_indifference.txt index 69ca42a3ab6..0d0bd002e91 100644 --- a/res/cardsfolder/w/wave_of_indifference.txt +++ b/res/cardsfolder/w/wave_of_indifference.txt @@ -2,7 +2,7 @@ Name:Wave of Indifference ManaCost:X R Types:Sorcery Text:no text -A:SP$ Pump | Cost$ X R | KW$ HIDDEN CARDNAME can't block. | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ X target creatures can't block this turn. +A:SP$ Pump | Cost$ X R | KW$ HIDDEN CARDNAME can't block. | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Creature | TgtPrompt$ Select target creature | References$ X,MaxTgts | SpellDescription$ X target creatures can't block this turn. # It may seem wrong to not use X in the target, but since the Targets are what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Creature diff --git a/res/cardsfolder/w/wave_of_reckoning.txt b/res/cardsfolder/w/wave_of_reckoning.txt index d3a1471e210..6cb23ff9e19 100644 --- a/res/cardsfolder/w/wave_of_reckoning.txt +++ b/res/cardsfolder/w/wave_of_reckoning.txt @@ -1,15 +1,15 @@ -Name:Wave of Reckoning -ManaCost:4 W -Types:Sorcery -Text:no text -#for this AF, the DefinedCards$ Self is the target for Each damaging. They EachDamage themselves. -A:SP$ EachDamage | Cost$ 4 W | ValidCards$ Creature | NumDmg$ X | DamageDesc$ damage equal to its power | DefinedCards$ Self | SpellDescription$ Each creature deals damage to itself equal to its power. -#NumDmg isn't really used here. It is left for clarity. The AF pulls Damage straight from "X" hardcoded. -SVar:X:Count$CardPower -SVar:RemAIDeck:True -SVar:RemRandomDeck:True -SVar:Rarity:Rare -SVar:Picture:http://www.wizards.com/global/images/magic/general/wave_of_reckoning.jpg -SetInfo:MMQ|Rare|http://magiccards.info/scans/en/mm/56.jpg -Oracle:Each creature deals damage to itself equal to its power. +Name:Wave of Reckoning +ManaCost:4 W +Types:Sorcery +Text:no text +#for this AF, the DefinedCards$ Self is the target for Each damaging. They EachDamage themselves. +A:SP$ EachDamage | Cost$ 4 W | ValidCards$ Creature | NumDmg$ X | References$ X | DamageDesc$ damage equal to its power | DefinedCards$ Self | SpellDescription$ Each creature deals damage to itself equal to its power. +#NumDmg isn't really used here. It is left for clarity. The AF pulls Damage straight from "X" hardcoded. +SVar:X:Count$CardPower +SVar:RemAIDeck:True +SVar:RemRandomDeck:True +SVar:Rarity:Rare +SVar:Picture:http://www.wizards.com/global/images/magic/general/wave_of_reckoning.jpg +SetInfo:MMQ|Rare|http://magiccards.info/scans/en/mm/56.jpg +Oracle:Each creature deals damage to itself equal to its power. End \ No newline at end of file diff --git a/res/cardsfolder/w/wave_of_terror.txt b/res/cardsfolder/w/wave_of_terror.txt index 1c67393802f..5e4e3c262a9 100644 --- a/res/cardsfolder/w/wave_of_terror.txt +++ b/res/cardsfolder/w/wave_of_terror.txt @@ -4,7 +4,7 @@ Types:Enchantment Text:no text K:Cumulative upkeep:1 T:Mode$ Phase | Phase$ Draw | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDestroyAll | TriggerDescription$ At the beginning of your draw step, destroy each creature with converted mana cost equal to the number of age counters on CARDNAME. They can't be regenerated. -SVar:TrigDestroyAll:AB$DestroyAll | Cost$ 0 | ValidCards$ Creature.cmcEQX | NoRegen$ True +SVar:TrigDestroyAll:AB$DestroyAll | Cost$ 0 | ValidCards$ Creature.cmcEQX | NoRegen$ True | References$ X SVar:X:Count$CardCounters.AGE SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/w/waxmane_baku.txt b/res/cardsfolder/w/waxmane_baku.txt index 208b810696b..3ebcc616606 100644 --- a/res/cardsfolder/w/waxmane_baku.txt +++ b/res/cardsfolder/w/waxmane_baku.txt @@ -5,7 +5,7 @@ Text:no text PT:2/2 T:Mode$ SpellCast | ValidCard$ Spirit,Arcane | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ Whenever you cast a Spirit or Arcane spell, you may put a ki counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ KI | CounterNum$ 1 -A:AB$ Tap | Cost$ 1 SubCounter | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Tap X target creatures. +A:AB$ Tap | Cost$ 1 SubCounter | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Creature | TgtPrompt$ Select target creature | References$ X,MaxTgts | SpellDescription$ Tap X target creatures. SVar:X:Targeted$Amount SVar:MaxTgts:Count$CardCounters.KI SVar:RemAIDeck:True diff --git a/res/cardsfolder/w/weathered_bodyguards.txt b/res/cardsfolder/w/weathered_bodyguards.txt index 3a2a6f4ddff..bbb7f45bfec 100644 --- a/res/cardsfolder/w/weathered_bodyguards.txt +++ b/res/cardsfolder/w/weathered_bodyguards.txt @@ -5,7 +5,7 @@ Text:no text PT:2/5 K:Morph:3 W R:Event$ DamageDone | ValidSource$ Creature.unblocked | ValidTarget$ You | ReplaceWith$ DmgSelf | IsCombat$ True | IsPresent$ Card.Self+untapped | Description$ As long as CARDNAME is untapped, all combat damage that would be dealt to you by unblocked creatures is dealt to CARDNAME instead. -SVar:DmgSelf:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ Self | DamageSource$ ReplacedSource | NumDmg$ X +SVar:DmgSelf:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ Self | DamageSource$ ReplacedSource | NumDmg$ X | References$ X SVar:X:ReplaceCount$DamageAmount SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/weathered_bodyguards.jpg diff --git a/res/cardsfolder/w/weathered_wayfarer.txt b/res/cardsfolder/w/weathered_wayfarer.txt index 44ea8cd81fb..cf0cf4696a5 100644 --- a/res/cardsfolder/w/weathered_wayfarer.txt +++ b/res/cardsfolder/w/weathered_wayfarer.txt @@ -3,7 +3,7 @@ ManaCost:W Types:Creature Human Nomad Cleric Text:no text PT:1/1 -A:AB$ ChangeZone | Cost$ W T | Origin$ Library | Destination$ Hand | ChangeType$ Land | ChangeNum$ 1 | IsPresent$ Land.YouDontCtrl | PresentCompare$ GTX | SpellDescription$ Search your library for a land card, reveal it, and put it into your hand. Then shuffle your library. Activate this ability only if an opponent controls more lands than you. +A:AB$ ChangeZone | Cost$ W T | Origin$ Library | Destination$ Hand | ChangeType$ Land | ChangeNum$ 1 | IsPresent$ Land.YouDontCtrl | PresentCompare$ GTX | References$ X | SpellDescription$ Search your library for a land card, reveal it, and put it into your hand. Then shuffle your library. Activate this ability only if an opponent controls more lands than you. SVar:X:Count$Valid Land.YouCtrl SVar:Rarity:Rare SVar:Picture:http://resources.wizards.com/magic/cards/9ed/en-us/card83311.jpg diff --git a/res/cardsfolder/w/weaver_of_lies.txt b/res/cardsfolder/w/weaver_of_lies.txt index a1b240961e9..ed89b38d187 100644 --- a/res/cardsfolder/w/weaver_of_lies.txt +++ b/res/cardsfolder/w/weaver_of_lies.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 K:Morph:4 U T:Mode$ TurnFaceUp | ValidCard$ Card.Self | Execute$ DBWeaverofLiesSetState | TriggerZones$ Battlefield | TriggerDescription$ When CARDNAME is turned face up, turn any number of target creatures with morph other than CARDNAME face down. -SVar:DBWeaverofLiesSetState:DB$ SetState | ValidTgts$ Creature.withMorph+Other | TgtPrompt$ Select target creature | TargetMin$ 0 | TargetMax$ WeaverofLiesX | Mode$ TurnFace | SpellDescription$ Turn CARDNAME face down. +SVar:DBWeaverofLiesSetState:DB$ SetState | ValidTgts$ Creature.withMorph+Other | TgtPrompt$ Select target creature | TargetMin$ 0 | TargetMax$ WeaverofLiesX | Mode$ TurnFace | References$ WeaverofLiesX | SpellDescription$ Turn CARDNAME face down. SVar:WeaverofLiesX:Count$Valid Creature.withMorph+Other SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/w/weight_of_spires.txt b/res/cardsfolder/w/weight_of_spires.txt index 65a30ec486d..67536f3f7d4 100644 --- a/res/cardsfolder/w/weight_of_spires.txt +++ b/res/cardsfolder/w/weight_of_spires.txt @@ -2,7 +2,7 @@ Name:Weight of Spires ManaCost:R Types:Instant Text:no text -A:SP$ DealDamage | Cost$ R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | SpellDescription$ CARDNAME deals damage to target creature equal to the number of nonbasic lands that creature's controller controls. +A:SP$ DealDamage | Cost$ R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage to target creature equal to the number of nonbasic lands that creature's controller controls. SVar:X:Count$Valid Land.nonBasic+TargetedControllerCtrl SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/w/weird_harvest.txt b/res/cardsfolder/w/weird_harvest.txt index b0df294d8be..aba315998c2 100644 --- a/res/cardsfolder/w/weird_harvest.txt +++ b/res/cardsfolder/w/weird_harvest.txt @@ -2,7 +2,7 @@ Name:Weird Harvest ManaCost:X G G Types:Sorcery Text:no text -A:SP$ ChangeZone | Cost$ X G G | Origin$ Library | Destination$ Hand | DefinedPlayer$ Each | ChangeType$ Card.Creature | Reveal$ True | Shuffle$ True | ChangeNum$ X | SpellDescription$ Each player may search his or her library for up to X creature cards, reveal those cards, and put them into his or her hand. Then each player who searched his or her library this way shuffles it. +A:SP$ ChangeZone | Cost$ X G G | Origin$ Library | Destination$ Hand | DefinedPlayer$ Each | ChangeType$ Card.Creature | Reveal$ True | Shuffle$ True | ChangeNum$ X | References$ X | SpellDescription$ Each player may search his or her library for up to X creature cards, reveal those cards, and put them into his or her hand. Then each player who searched his or her library this way shuffles it. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/w/wellwisher.txt b/res/cardsfolder/w/wellwisher.txt index 616c57aabf9..a8308a8bfe4 100644 --- a/res/cardsfolder/w/wellwisher.txt +++ b/res/cardsfolder/w/wellwisher.txt @@ -3,7 +3,7 @@ ManaCost:1 G Types:Creature Elf Text:no text PT:1/1 -A:AB$ GainLife | Cost$ T | LifeAmount$ X | SpellDescription$ You gain 1 life for each Elf on the battlefield. +A:AB$ GainLife | Cost$ T | LifeAmount$ X | References$ X | SpellDescription$ You gain 1 life for each Elf on the battlefield. SVar:X:Count$TypeOnBattlefield.Elf SVar:BuffedBy:Elf SVar:Rarity:Common diff --git a/res/cardsfolder/w/wheel_of_torture.txt b/res/cardsfolder/w/wheel_of_torture.txt index 80baa95774a..b8558a2e642 100644 --- a/res/cardsfolder/w/wheel_of_torture.txt +++ b/res/cardsfolder/w/wheel_of_torture.txt @@ -3,7 +3,7 @@ ManaCost:3 Types:Artifact Text:no text T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Opponent | IsPresent$ Card.YouDontCtrl | PresentZone$ Hand | PresentCompare$ LT3 | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ At the beginning of each opponent's upkeep, CARDNAME deals X damage to that player, where X is 3 minus the number of cards in his or her hand. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ X +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ X | References$ X SVar:X:Count$InOppHand/NMinus.3 SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/wheel_of_torture.jpg diff --git a/res/cardsfolder/w/whetwheel.txt b/res/cardsfolder/w/whetwheel.txt index 0209b9f0e56..c29ce5ad0b7 100644 --- a/res/cardsfolder/w/whetwheel.txt +++ b/res/cardsfolder/w/whetwheel.txt @@ -3,7 +3,7 @@ ManaCost:4 Types:Artifact Text:no text K:Morph:3 -A:AB$ Mill | Cost$ X X T | NumCards$ X | ValidTgts$ Player | TgtPrompt$ Select target player | SpellDescription$ Target player puts the top X cards of his or her library into his or her graveyard. +A:AB$ Mill | Cost$ X X T | NumCards$ X | ValidTgts$ Player | TgtPrompt$ Select target player | References$ X | SpellDescription$ Target player puts the top X cards of his or her library into his or her graveyard. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/w/whispering_specter.txt b/res/cardsfolder/w/whispering_specter.txt index e033ce2102d..02beb90214f 100644 --- a/res/cardsfolder/w/whispering_specter.txt +++ b/res/cardsfolder/w/whispering_specter.txt @@ -7,7 +7,7 @@ K:Flying K:Infect T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | CombatDamage$ True | OptionalDecider$ You | Execute$ TrigSacrifice | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you may sacrifice it. If you do, that player discards a card for each poison counter he or she has. SVar:TrigSacrifice:AB$ SacrificeAll | Cost$ 0 | ValidCards$ Card.Self | RememberSacrificed$ True | SubAbility$ DBDiscard -SVar:DBDiscard:DB$ Discard | Defined$ Opponent | NumCards$ X | Mode$ TgtChoose | ConditionCheckSVar$ Y | ConditionSVarCompare$ EQ1 | SubAbility$ DBCleanup +SVar:DBDiscard:DB$ Discard | Defined$ Opponent | NumCards$ X | References$ X,Y | Mode$ TgtChoose | ConditionCheckSVar$ Y | ConditionSVarCompare$ EQ1 | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$OppPoisonCounters SVar:Y:Remembered$Amount diff --git a/res/cardsfolder/w/white_suns_zenith.txt b/res/cardsfolder/w/white_suns_zenith.txt index c3e715f5561..3ada3618587 100644 --- a/res/cardsfolder/w/white_suns_zenith.txt +++ b/res/cardsfolder/w/white_suns_zenith.txt @@ -2,7 +2,7 @@ Name:White Sun's Zenith ManaCost:X W W W Types:Instant Text:no text -A:SP$ Token | Cost$ X W W W | TokenAmount$ X | TokenName$ Cat | TokenTypes$ Creature,Cat | TokenOwner$ You | TokenColors$ White | TokenPower$ 2 | TokenToughness$ 2 | SubAbility$ DBShuffle | SpellDescription$ Put X 2/2 white Cat creature tokens onto the battlefield. Shuffle CARDNAME into its owner's library. +A:SP$ Token | Cost$ X W W W | TokenAmount$ X | References$ X | TokenName$ Cat | TokenTypes$ Creature,Cat | TokenOwner$ You | TokenColors$ White | TokenPower$ 2 | TokenToughness$ 2 | SubAbility$ DBShuffle | SpellDescription$ Put X 2/2 white Cat creature tokens onto the battlefield. Shuffle CARDNAME into its owner's library. SVar:X:Count$xPaid SVar:DBShuffle:DB$ChangeZone | Origin$ Stack | Destination$ Library | Shuffle$ True SVar:Rarity:Rare diff --git a/res/cardsfolder/w/wild_dogs.txt b/res/cardsfolder/w/wild_dogs.txt index 32285fb7f69..5ddda4267c2 100644 --- a/res/cardsfolder/w/wild_dogs.txt +++ b/res/cardsfolder/w/wild_dogs.txt @@ -5,7 +5,7 @@ Text:no text PT:2/1 K:Cycling:2 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigGainControl | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, if a player has more life than each other player, the player with the most life gains control of CARDNAME. -SVar:TrigGainControl:AB$ GainControl | Cost$ 0 | Defined$ Self | ConditionCheckSVar$ X | ConditionSVarCompare$ LTY | NewController$ Opponent +SVar:TrigGainControl:AB$ GainControl | Cost$ 0 | Defined$ Self | ConditionCheckSVar$ X | References$ X,Y | ConditionSVarCompare$ LTY | NewController$ Opponent SVar:X:Count$YourLifeTotal SVar:Y:Count$OppLifeTotal SVar:RemAIDeck:True diff --git a/res/cardsfolder/w/windstorm.txt b/res/cardsfolder/w/windstorm.txt index 779aa28f401..41d5c7d81d6 100644 --- a/res/cardsfolder/w/windstorm.txt +++ b/res/cardsfolder/w/windstorm.txt @@ -2,7 +2,7 @@ Name:Windstorm ManaCost:X G Types:Instant Text:no text -A:SP$ DamageAll | Cost$ X G | ValidCards$ Creature.withFlying | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to each creature with flying. +A:SP$ DamageAll | Cost$ X G | ValidCards$ Creature.withFlying | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals X damage to each creature with flying. SVar:X:Count$xPaid SVar:RemAIDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/w/wing_storm.txt b/res/cardsfolder/w/wing_storm.txt index b93204292cb..b877d6bd618 100644 --- a/res/cardsfolder/w/wing_storm.txt +++ b/res/cardsfolder/w/wing_storm.txt @@ -2,8 +2,8 @@ Name:Wing Storm ManaCost:2 G Types:Sorcery Text:no text -A:SP$ DealDamage | Cost$ 2 G | Defined$ Opponent | NumDmg$ XOpp | SubAbility$ DBDealDamage | SpellDescription$ CARDNAME deals damage to each player equal to twice the number of creatures with flying that player controls. -SVar:DBDealDamage:DB$DealDamage | Cost$ 0 | Defined$ You | NumDmg$ XYou +A:SP$ DealDamage | Cost$ 2 G | Defined$ Opponent | NumDmg$ XOpp | References$ XOpp | SubAbility$ DBDealDamage | SpellDescription$ CARDNAME deals damage to each player equal to twice the number of creatures with flying that player controls. +SVar:DBDealDamage:DB$DealDamage | Cost$ 0 | Defined$ You | NumDmg$ XYou | References$ XYou SVar:XOpp:Count$Valid Creature.withFlying+YouDontCtrl/Times.2 SVar:XYou:Count$Valid Creature.withFlying+YouCtrl/Times.2 SVar:RemRandomDeck:True diff --git a/res/cardsfolder/w/winter_blast.txt b/res/cardsfolder/w/winter_blast.txt index a8e00f00ce1..736b0102abc 100644 --- a/res/cardsfolder/w/winter_blast.txt +++ b/res/cardsfolder/w/winter_blast.txt @@ -1,16 +1,16 @@ -Name:Winter Blast -ManaCost:X G -Types:Sorcery -Text:no text -A:SP$ Tap | Cost$ X G | ValidTgts$ Creature | TgtPrompt$ Select target creature | TargetMin$ 0 | TargetMax$ MaxTgts | RememberTargets$ True | SubAbility$ DBDamage | SpellDescription$ Tap X target creatures. -SVar:DBDamage:DB$ DamageAll | NumDmg$ 2 | ValidCards$ Remembered.withFlying | SpellDescription$ CARDNAME deals 2 damage to each of those creatures with flying. -SVar:X:Targeted$Amount -SVar:MaxTgts:Count$Valid Creature -SVar:RemAIDeck:True -SVar:Rarity:Uncommon -SVar:Picture:http://www.wizards.com/global/images/magic/general/winter_blast.jpg -SetInfo:5ED|Uncommon|http://magiccards.info/scans/en/5e/205.jpg -SetInfo:4ED|Uncommon|http://magiccards.info/scans/en/4e/174.jpg -SetInfo:LEG|Rare|http://magiccards.info/scans/en/lg/127.jpg -Oracle:Tap X target creatures. Winter Blast deals 2 damage to each of those creatures with flying. +Name:Winter Blast +ManaCost:X G +Types:Sorcery +Text:no text +A:SP$ Tap | Cost$ X G | ValidTgts$ Creature | TgtPrompt$ Select target creature | TargetMin$ 0 | TargetMax$ MaxTgts | References$ X,MaxTgts | RememberTargets$ True | SubAbility$ DBDamage | SpellDescription$ Tap X target creatures. +SVar:DBDamage:DB$ DamageAll | NumDmg$ 2 | ValidCards$ Remembered.withFlying | SpellDescription$ CARDNAME deals 2 damage to each of those creatures with flying. +SVar:X:Targeted$Amount +SVar:MaxTgts:Count$Valid Creature +SVar:RemAIDeck:True +SVar:Rarity:Uncommon +SVar:Picture:http://www.wizards.com/global/images/magic/general/winter_blast.jpg +SetInfo:5ED|Uncommon|http://magiccards.info/scans/en/5e/205.jpg +SetInfo:4ED|Uncommon|http://magiccards.info/scans/en/4e/174.jpg +SetInfo:LEG|Rare|http://magiccards.info/scans/en/lg/127.jpg +Oracle:Tap X target creatures. Winter Blast deals 2 damage to each of those creatures with flying. End \ No newline at end of file diff --git a/res/cardsfolder/w/wirecat.txt b/res/cardsfolder/w/wirecat.txt index b00f9cc26f7..7b81409d244 100644 --- a/res/cardsfolder/w/wirecat.txt +++ b/res/cardsfolder/w/wirecat.txt @@ -3,7 +3,7 @@ ManaCost:4 Types:Artifact Creature Cat Text:no text PT:4/3 -S:Mode$ Continuous | Affected$ Card.Self | AddHiddenKeyword$ HIDDEN CARDNAME can't attack or block. | CheckSVar$ X | SVarCompare$ GE1 | Description$ CARDNAME can't attack or block if an enchantment is on the battlefield. +S:Mode$ Continuous | Affected$ Card.Self | AddHiddenKeyword$ HIDDEN CARDNAME can't attack or block. | CheckSVar$ X | References$ X | SVarCompare$ GE1 | Description$ CARDNAME can't attack or block if an enchantment is on the battlefield. SVar:X:Count$Valid Enchantment SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/wirecat.jpg diff --git a/res/cardsfolder/w/wirewood_channeler.txt b/res/cardsfolder/w/wirewood_channeler.txt index 0e1a0259ebc..5798db3fc2e 100644 --- a/res/cardsfolder/w/wirewood_channeler.txt +++ b/res/cardsfolder/w/wirewood_channeler.txt @@ -3,7 +3,7 @@ ManaCost:3 G Types:Creature Elf Druid Text:no text PT:2/2 -A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ X | SpellDescription$ Add X mana of any one color to your mana pool, where X is the number of Elves on the battlefield. +A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ X | References$ X | SpellDescription$ Add X mana of any one color to your mana pool, where X is the number of Elves on the battlefield. SVar:X:Count$Valid Elf SVar:RemAIDeck:True SVar:RemRandomDeck:True diff --git a/res/cardsfolder/w/wirewood_pride.txt b/res/cardsfolder/w/wirewood_pride.txt index 8b66910da18..609c237269e 100644 --- a/res/cardsfolder/w/wirewood_pride.txt +++ b/res/cardsfolder/w/wirewood_pride.txt @@ -2,7 +2,7 @@ Name:Wirewood Pride ManaCost:G Types:Instant Text:no text -A:SP$ Pump | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | SpellDescription$ Target creature gets +X/+X until end of turn, where X is the number of Elves on the battlefield. +A:SP$ Pump | Cost$ G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +X | References$ X | SpellDescription$ Target creature gets +X/+X until end of turn, where X is the number of Elves on the battlefield. SVar:X:Count$TypeOnBattlefield.Elf SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/wirewood_pride.jpg diff --git a/res/cardsfolder/w/withering_gaze.txt b/res/cardsfolder/w/withering_gaze.txt index 6e66bc979cf..0cd3fe0c7d2 100644 --- a/res/cardsfolder/w/withering_gaze.txt +++ b/res/cardsfolder/w/withering_gaze.txt @@ -3,7 +3,7 @@ ManaCost:2 U Types:Sorcery Text:no text A:SP$ RevealHand | Cost$ 2 U | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | SubAbility$ DBDraw | SpellDescription$ Target opponent reveals his or her hand. You draw a card for each Forest and green card in it. -SVar:DBDraw:DB$Draw | NumCards$ X +SVar:DBDraw:DB$Draw | NumCards$ X | References$ X,Y SVar:X:Count$TypeInOppHand.Forest/Plus.Y SVar:Y:Count$GreenInOppHand SVar:RemRandomDeck:True diff --git a/res/cardsfolder/w/withering_hex.txt b/res/cardsfolder/w/withering_hex.txt index a724ab6116d..f842bd87dc1 100644 --- a/res/cardsfolder/w/withering_hex.txt +++ b/res/cardsfolder/w/withering_hex.txt @@ -6,7 +6,7 @@ K:Enchant creature A:SP$ Attach | Cost$ B | ValidTgts$ Creature | AILogic$ Curse T:Mode$ Cycled | ValidCard$ Card | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever a player cycles a card, put a plague counter on CARDNAME. SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ PLAGUE | CounterNum$ 1 -S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ X | AddToughness$ X | Description$ Enchanted creature gets -1/-1 for each plague counter on CARDNAME. +S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ X | AddToughness$ X | References$ X | Description$ Enchanted creature gets -1/-1 for each plague counter on CARDNAME. SVar:X:Count$CardCounters.PLAGUE/Times.-1 SVar:RemRandomDeck:True SVar:Rarity:Uncommon diff --git a/res/cardsfolder/w/withering_wisps.txt b/res/cardsfolder/w/withering_wisps.txt index 6d1876a8755..fcc3f39a852 100644 --- a/res/cardsfolder/w/withering_wisps.txt +++ b/res/cardsfolder/w/withering_wisps.txt @@ -4,7 +4,7 @@ Types:Enchantment Text:no text T:Mode$ Phase | Phase$ End of Turn | TriggerZones$ Battlefield | IsPresent$ Creature | PresentCompare$ EQ0 | Execute$ TrigSac | TriggerDescription$ At the beginning of the end step, if no creatures are on the battlefield, sacrifice CARDNAME. SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ Self -A:AB$ DamageAll | Cost$ B | NumDmg$ 1 | ValidCards$ Creature | ValidPlayers$ Each | ValidDescription$ each creature and each player. | ActivationLimit$ X | SpellDescription$ CARDNAME deals 1 damage to each creature and each player. Activate this ability no more times each turn than the number of snow Swamps you control. +A:AB$ DamageAll | Cost$ B | NumDmg$ 1 | ValidCards$ Creature | ValidPlayers$ Each | ValidDescription$ each creature and each player. | ActivationLimit$ X | References$ X | SpellDescription$ CARDNAME deals 1 damage to each creature and each player. Activate this ability no more times each turn than the number of snow Swamps you control. SVar:X:Count$Valid Swamp.Snow+YouCtrl SVar:NeedsToPlay:Creature SVar:RemRandomDeck:True diff --git a/res/cardsfolder/w/witherscale_wurm.txt b/res/cardsfolder/w/witherscale_wurm.txt index 632f4c9f451..2d349728c3e 100644 --- a/res/cardsfolder/w/witherscale_wurm.txt +++ b/res/cardsfolder/w/witherscale_wurm.txt @@ -1,18 +1,18 @@ -Name:Witherscale Wurm -ManaCost:4 G G -Types:Creature Wurm -Text:no text -PT:9/9 -T:Mode$ Blocks | ValidCard$ Card.Self | Execute$ TrigWitherBlocked | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature, that creature gains wither until end of turn. (It deals damage to creatures in the form of -1/-1 counters.) -T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigWitherBlocker | Secondary$ True | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature, that creature gains wither until end of turn. (It deals damage to creatures in the form of -1/-1 counters.) -Whenever CARDNAME deals damage to an opponent, remove all -1/-1 counters from it. -T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | Execute$ TrigRemoveCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals damage to an opponent, remove all -1/-1 counters from it. -SVar:TrigWitherBlocked:AB$ Pump | Cost$ 0 | Defined$ TriggeredAttacker | KW$ Wither -SVar:TrigWitherBlocker:AB$ Pump | Cost$ 0 | Defined$ TriggeredBlocker | KW$ Wither -SVar:TrigRemoveCounter:AB$ RemoveCounter | Cost$ 0 | CounterType$ M1M1 | CounterNum$ All -SVar:All:Count$CardCounters.M1M1 -SVar:Rarity:Rare -SVar:Picture:http://www.wizards.com/global/images/magic/general/witherscale_wurm.jpg -SetInfo:SHM|Rare|http://magiccards.info/scans/en/shm/134.jpg -Oracle:Whenever Witherscale Wurm blocks or becomes blocked by a creature, that creature gains wither until end of turn. (It deals damage to creatures in the form of -1/-1 counters.)\nWhenever Witherscale Wurm deals damage to an opponent, remove all -1/-1 counters from it. +Name:Witherscale Wurm +ManaCost:4 G G +Types:Creature Wurm +Text:no text +PT:9/9 +T:Mode$ Blocks | ValidCard$ Card.Self | Execute$ TrigWitherBlocked | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature, that creature gains wither until end of turn. (It deals damage to creatures in the form of -1/-1 counters.) +T:Mode$ AttackerBlocked | ValidCard$ Card.Self | Execute$ TrigWitherBlocker | Secondary$ True | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME blocks or becomes blocked by a creature, that creature gains wither until end of turn. (It deals damage to creatures in the form of -1/-1 counters.) +Whenever CARDNAME deals damage to an opponent, remove all -1/-1 counters from it. +T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | Execute$ TrigRemoveCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals damage to an opponent, remove all -1/-1 counters from it. +SVar:TrigWitherBlocked:AB$ Pump | Cost$ 0 | Defined$ TriggeredAttacker | KW$ Wither +SVar:TrigWitherBlocker:AB$ Pump | Cost$ 0 | Defined$ TriggeredBlocker | KW$ Wither +SVar:TrigRemoveCounter:AB$ RemoveCounter | Cost$ 0 | CounterType$ M1M1 | CounterNum$ All | References$ All +SVar:All:Count$CardCounters.M1M1 +SVar:Rarity:Rare +SVar:Picture:http://www.wizards.com/global/images/magic/general/witherscale_wurm.jpg +SetInfo:SHM|Rare|http://magiccards.info/scans/en/shm/134.jpg +Oracle:Whenever Witherscale Wurm blocks or becomes blocked by a creature, that creature gains wither until end of turn. (It deals damage to creatures in the form of -1/-1 counters.)\nWhenever Witherscale Wurm deals damage to an opponent, remove all -1/-1 counters from it. End \ No newline at end of file diff --git a/res/cardsfolder/w/woebringer_demon.txt b/res/cardsfolder/w/woebringer_demon.txt index e220666e593..5835b4cf333 100644 --- a/res/cardsfolder/w/woebringer_demon.txt +++ b/res/cardsfolder/w/woebringer_demon.txt @@ -6,7 +6,7 @@ PT:4/4 K:Flying T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of each player's upkeep, that player sacrifices a creature. If the player can't, sacrifice CARDNAME. SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ TriggeredPlayer | SacValid$ Creature | SubAbility$ DBSacSelf | RememberSacrificed$ True -SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | SubAbility$ DBCleanup +SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | References$ X | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount SVar:NeedsToPlayVar:Y GE5 diff --git a/res/cardsfolder/w/wolfbriar_elemental.txt b/res/cardsfolder/w/wolfbriar_elemental.txt index cf26b989857..256a6181006 100644 --- a/res/cardsfolder/w/wolfbriar_elemental.txt +++ b/res/cardsfolder/w/wolfbriar_elemental.txt @@ -5,7 +5,7 @@ Text:no text PT:4/4 K:Multikicker G T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters the battlefield, put a 2/2 green Wolf creature token onto the battlefield for each time it was kicked. -SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | TokenName$ Wolf | TokenTypes$ Creature,Wolf | TokenOwner$ You | TokenColors$ Green | TokenPower$ 2 | TokenToughness$ 2 +SVar:TrigToken:AB$Token | Cost$ 0 | TokenAmount$ X | References$ X | TokenName$ Wolf | TokenTypes$ Creature,Wolf | TokenOwner$ You | TokenColors$ Green | TokenPower$ 2 | TokenToughness$ 2 SVar:X:Count$TimesKicked SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/wolfbriar_elemental.jpg diff --git a/res/cardsfolder/w/word_of_binding.txt b/res/cardsfolder/w/word_of_binding.txt index 31d5ebee4b2..e7804cbe31d 100644 --- a/res/cardsfolder/w/word_of_binding.txt +++ b/res/cardsfolder/w/word_of_binding.txt @@ -2,7 +2,7 @@ Name:Word of Binding ManaCost:X B B Types:Sorcery Text:no text -A:SP$ Tap | Cost$ X B B | TargetMin$ 0 | TargetMax$ MaxTgts | ValidTgts$ Creature | TgtPrompt$ Select target Creatures | SpellDescription$ Tap X target creatures. +A:SP$ Tap | Cost$ X B B | TargetMin$ 0 | TargetMax$ MaxTgts | References$ X,MaxTgts | ValidTgts$ Creature | TgtPrompt$ Select target Creatures | SpellDescription$ Tap X target creatures. # It may seem wrong to not use X in the target, but since the Targets are what defines X, it's redundant (and not supported by the code) SVar:X:Targeted$Amount SVar:MaxTgts:Count$Valid Creature diff --git a/res/cardsfolder/w/words_of_wind.txt b/res/cardsfolder/w/words_of_wind.txt index 519bde2a99b..2b25be54581 100644 --- a/res/cardsfolder/w/words_of_wind.txt +++ b/res/cardsfolder/w/words_of_wind.txt @@ -5,7 +5,7 @@ Text:no text A:AB$ Effect | Cost$ 1 | Name$ Words of Wind Effect | ReplacementEffects$ DrawReplace | SVars$ ExileEffect,BounceYou,BounceOpp | SpellDescription$ The next time you would draw a card this turn, each player returns a permanent he or she controls to its owner's hand instead. SVar:DrawReplace:Event$ Draw | ValidPlayer$ You | ReplaceWith$ BounceYou | Description$ The next time you would draw a card this turn, each player returns a permanent he or she controls to its owner's hand instead. SVar:BounceYou:AB$ ChangeZone | Cost$ 0 | Origin$ Battlefield | Destination$ Hand | ChangeType$ Permanent.YouCtrl | ChangeNum$ 1 | Hidden$ True | IsCurse$ True | SubAbility$ BounceOpp -SVar:BounceOpp:DB$ChangeZone | Origin$ Battlefield | Destination$ Hand | DefinedPlayer$ Opponent | ChangeType$ Permanent.YouDontCtrl | ChangeNum$ 1 | Hidden$ True | IsCurse$ True | SubAbility$ ExileEffect +SVar:BounceOpp:DB$ ChangeZone | Origin$ Battlefield | Destination$ Hand | DefinedPlayer$ Opponent | ChangeType$ Permanent.YouDontCtrl | ChangeNum$ 1 | Hidden$ True | IsCurse$ True | SubAbility$ ExileEffect SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Exile SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/w/worldly_counsel.txt b/res/cardsfolder/w/worldly_counsel.txt index 7501806f92c..e04f3ac4e69 100644 --- a/res/cardsfolder/w/worldly_counsel.txt +++ b/res/cardsfolder/w/worldly_counsel.txt @@ -2,7 +2,7 @@ Name:Worldly Counsel ManaCost:1 U Types:Instant Text:no text -A:SP$ Dig | Cost$ 1 U | DigNum$ X | SpellDescription$ Domain - Look at the top X cards of your library, where X is the number of basic land types among lands you control. Put one of those cards into your hand and the rest on the bottom of your library in any order. +A:SP$ Dig | Cost$ 1 U | DigNum$ X | References$ X | SpellDescription$ Domain - Look at the top X cards of your library, where X is the number of basic land types among lands you control. Put one of those cards into your hand and the rest on the bottom of your library in any order. SVar:X:Count$Domain SVar:RemAIDeck:True SVar:Rarity:Common diff --git a/res/cardsfolder/w/worm_harvest.txt b/res/cardsfolder/w/worm_harvest.txt index dd4c06767e4..d629c485d0b 100644 --- a/res/cardsfolder/w/worm_harvest.txt +++ b/res/cardsfolder/w/worm_harvest.txt @@ -2,8 +2,8 @@ Name:Worm Harvest ManaCost:2 BG BG BG Types:Sorcery Text:no text -A:SP$ Token | Cost$ 2 BG BG BG | TokenAmount$ X | TokenName$ Worm | TokenTypes$ Creature,Worm | TokenOwner$ You | TokenColors$ Black,Green | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put a 1/1 black and green Worm creature token onto the battlefield for each land card in your graveyard. -A:SP$ Token | Cost$ 2 BG BG BG Discard<1/Land> | ActivationZone$ Graveyard | CostDesc$ Retrace | TokenAmount$ X | TokenName$ Worm | TokenTypes$ Creature,Worm | TokenOwner$ You | TokenColors$ Black,Green | TokenPower$ 1 | TokenToughness$ 1 | NonBasicSpell$ True | SpellDescription$ (You may cast this card from your graveyard by discarding a land card in addition to paying its other costs.) +A:SP$ Token | Cost$ 2 BG BG BG | TokenAmount$ X | References$ X | TokenName$ Worm | TokenTypes$ Creature,Worm | TokenOwner$ You | TokenColors$ Black,Green | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put a 1/1 black and green Worm creature token onto the battlefield for each land card in your graveyard. +A:SP$ Token | Cost$ 2 BG BG BG Discard<1/Land> | ActivationZone$ Graveyard | CostDesc$ Retrace | TokenAmount$ X | References$ X | TokenName$ Worm | TokenTypes$ Creature,Worm | TokenOwner$ You | TokenColors$ Black,Green | TokenPower$ 1 | TokenToughness$ 1 | NonBasicSpell$ True | SpellDescription$ (You may cast this card from your graveyard by discarding a land card in addition to paying its other costs.) SVar:X:Count$TypeInYourYard.Land SVar:Rarity:Rare SVar:Picture:http://magiccards.info/scans/en/eve/131.jpg diff --git a/res/cardsfolder/w/wound_reflection.txt b/res/cardsfolder/w/wound_reflection.txt index a1e381fb764..ca625c8b09f 100644 --- a/res/cardsfolder/w/wound_reflection.txt +++ b/res/cardsfolder/w/wound_reflection.txt @@ -3,7 +3,7 @@ ManaCost:5 B Types:Enchantment Text:no text T:Mode$ Phase | Phase$ End of Turn | TriggerZones$ Battlefield | Execute$ TrigLoseLife | TriggerDescription$ At the beginning of each end step, each opponent loses life equal to the life he or she lost this turn. (Damage causes loss of life.) -SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ Opponent | LifeAmount$ X +SVar:TrigLoseLife:AB$LoseLife | Cost$ 0 | Defined$ Opponent | LifeAmount$ X | References$ X SVar:X:Count$LifeOppLostThisTurn SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/wound_reflection.jpg diff --git a/res/cardsfolder/w/wurmcalling.txt b/res/cardsfolder/w/wurmcalling.txt index a889b8bf789..4e483b7fa6e 100644 --- a/res/cardsfolder/w/wurmcalling.txt +++ b/res/cardsfolder/w/wurmcalling.txt @@ -2,8 +2,8 @@ Name:Wurmcalling ManaCost:X G Types:Sorcery Text:no text -A:SP$ Token | Cost$ X G | TokenAmount$ 1 | TokenName$ Wurm | TokenOwner$ You | TokenPower$ X | TokenToughness$ X | TokenTypes$ Creature,Wurm | TokenColors$ Green | SpellDescription$ Put an X/X green Wurm creature token onto the battlefield. -A:SP$ Token | Cost$ X 2 G G | TokenAmount$ 1 | TokenName$ Wurm | TokenOwner$ You | TokenPower$ X | TokenToughness$ X | TokenTypes$ Creature,Wurm | TokenColors$ Green | CostDesc$ Buyback | SubAbility$ DBBuyback | SpellDescription$ - 2 G +A:SP$ Token | Cost$ X G | TokenAmount$ 1 | TokenName$ Wurm | TokenOwner$ You | TokenPower$ X | TokenToughness$ X | References$ X | TokenTypes$ Creature,Wurm | TokenColors$ Green | SpellDescription$ Put an X/X green Wurm creature token onto the battlefield. +A:SP$ Token | Cost$ X 2 G G | TokenAmount$ 1 | TokenName$ Wurm | TokenOwner$ You | TokenPower$ X | TokenToughness$ X | References$ X | TokenTypes$ Creature,Wurm | TokenColors$ Green | CostDesc$ Buyback | SubAbility$ DBBuyback | SpellDescription$ - 2 G SVar:DBBuyback:DB$ ChangeZone | Origin$ Stack | Destination$ Hand | Defined$ Self SVar:X:Count$xPaid SVar:Rarity:Rare diff --git a/res/cardsfolder/x/xathrid_demon.txt b/res/cardsfolder/x/xathrid_demon.txt index e945881fd5f..d335db8a983 100644 --- a/res/cardsfolder/x/xathrid_demon.txt +++ b/res/cardsfolder/x/xathrid_demon.txt @@ -7,9 +7,9 @@ K:Flying K:Trample T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of your upkeep, sacrifice a creature other than CARDNAME, then each opponent loses life equal to the sacrificed creature's power. If you can't sacrifice a creature, tap CARDNAME and you lose 7 life. SVar:TrigSac:AB$Sacrifice | Cost$ 0 | Defined$ You | SacValid$ Creature.Other | RememberSacrificed$ True | SubAbility$ DBLoseLifeOpp -SVar:DBLoseLifeOpp:DB$LoseLife | Defined$ Opponent | LifeAmount$ X | SubAbility$ DBLoseLifeYou -SVar:DBLoseLifeYou:DB$LoseLife | Defined$ You | LifeAmount$ 7 | ConditionCheckSVar$ Y | ConditionSVarCompare$ LT1 | SubAbility$ DBTap -SVar:DBTap:DB$Tap | Defined$ Self | ConditionCheckSVar$ Y | ConditionSVarCompare$ LT1 | SubAbility$ DBCleanup +SVar:DBLoseLifeOpp:DB$LoseLife | Defined$ Opponent | LifeAmount$ X | References$ X | SubAbility$ DBLoseLifeYou +SVar:DBLoseLifeYou:DB$LoseLife | Defined$ You | LifeAmount$ 7 | ConditionCheckSVar$ Y | References$ Y | ConditionSVarCompare$ LT1 | SubAbility$ DBTap +SVar:DBTap:DB$Tap | Defined$ Self | ConditionCheckSVar$ Y | References$ Y | ConditionSVarCompare$ LT1 | SubAbility$ DBCleanup SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:X:Remembered$CardPower SVar:Y:Remembered$Amount diff --git a/res/cardsfolder/y/yew_spirit.txt b/res/cardsfolder/y/yew_spirit.txt index a74e1bd1344..f4fee8e71b7 100644 --- a/res/cardsfolder/y/yew_spirit.txt +++ b/res/cardsfolder/y/yew_spirit.txt @@ -3,7 +3,7 @@ ManaCost:4 G Types:Creature Treefolk Spirit Text:no text PT:3/3 -A:AB$ Pump | Cost$ 2 G G | NumAtt$ +X | NumDef$ +X | SpellDescription$ CARDNAME gets +X/+X until end of turn, where X is its power. +A:AB$ Pump | Cost$ 2 G G | NumAtt$ +X | NumDef$ +X | References$ X | SpellDescription$ CARDNAME gets +X/+X until end of turn, where X is its power. SVar:X:Count$CardPower SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/yew_spirit.jpg diff --git a/res/cardsfolder/z/zealots_en_dal.txt b/res/cardsfolder/z/zealots_en_dal.txt index c081deedded..e35ad22e569 100644 --- a/res/cardsfolder/z/zealots_en_dal.txt +++ b/res/cardsfolder/z/zealots_en_dal.txt @@ -4,7 +4,7 @@ Types:Creature Human Soldier Text:no text PT:2/4 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | IsPresent$ Permanent.nonLand+White+YouCtrl | PresentCompare$ EQX | TriggerZones$ Battlefield | Execute$ TrigGainLife | TriggerDescription$ At the beginning of your upkeep, if all nonland permanents you control are white, you gain 1 life. -SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ 1 +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ 1 | References$ X SVar:X:Count$Valid Permanent.nonLand+YouCtrl SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/zealots_en_dal.jpg diff --git a/res/cardsfolder/z/zebra_unicorn.txt b/res/cardsfolder/z/zebra_unicorn.txt index 443f517e930..e1616b14b27 100644 --- a/res/cardsfolder/z/zebra_unicorn.txt +++ b/res/cardsfolder/z/zebra_unicorn.txt @@ -4,7 +4,7 @@ Types:Creature Unicorn Text:no text PT:2/2 T:Mode$ DamageDone | ValidSource$ Card.Self | Execute$ TrigGain | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals damage, you gain that much life. -SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X +SVar:TrigGain:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ X | References$ X SVar:X:TriggerCount$DamageAmount SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/zebra_unicorn.jpg diff --git a/res/cardsfolder/z/zedruu_the_greathearted.txt b/res/cardsfolder/z/zedruu_the_greathearted.txt index b271fb65181..afd3fad3b4e 100644 --- a/res/cardsfolder/z/zedruu_the_greathearted.txt +++ b/res/cardsfolder/z/zedruu_the_greathearted.txt @@ -8,8 +8,8 @@ SVar:DBPumpPermanent:DB$ Pump | ValidTgts$ Permanent.YouCtrl | TgtPrompt$ Select SVar:DBGainControl:DB$ GainControl | Defined$ Targeted | NewController$ Remembered | SubAbility$ DBForgetRemembered SVar:DBForgetRemembered:DB$ Cleanup | ClearRemembered$ True T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ GainLife | TriggerDescription$ At the beginning of your upkeep, you gain X life and draw X cards, where X is the number of permanents you own that your opponents control. -SVar:GainLife:AB$ GainLife | Cost$ 0 | LifeAmount$ X | SubAbility$ DBDraw -SVar:DBDraw:DB$ Draw | NumCards$ X +SVar:GainLife:AB$ GainLife | Cost$ 0 | LifeAmount$ X | References$ X | SubAbility$ DBDraw +SVar:DBDraw:DB$ Draw | NumCards$ X | References$ X SVar:X:Count$Valid Permanent.YouOwn+OwnerDoesntControl SVar:RemAIDeck:True SVar:Rarity:Rare diff --git a/res/cardsfolder/z/zombie_boa.txt b/res/cardsfolder/z/zombie_boa.txt index 66d7571b5c3..9cdd5fc88d4 100644 --- a/res/cardsfolder/z/zombie_boa.txt +++ b/res/cardsfolder/z/zombie_boa.txt @@ -4,7 +4,7 @@ Types:Creature Zombie Snake Text:no text PT:3/3 A:AB$ ChooseColor | Cost$ 1 B | Defined$ You | AILogic$ MostProminentInHumanDeck | SorcerySpeed$ True | SubAbility$ DBEffect | SpellDescription$ Choose a color. Whenever CARDNAME becomes blocked by a creature of that color this turn, destroy that creature. Activate this ability only any time you could cast a sorcery. -SVar:DBEffect:DB$ Effect | Name$ Zombie Boa Effect | Triggers$ TrigBlocked | SVars$ ABDestroy | RememberObjects$ Self +SVar:DBEffect:DB$ Effect | Name$ Zombie Boa Effect | Triggers$ TrigBlocked | SVars$ ABDestroy | References$ TrigBlocked,ABDestroy | RememberObjects$ Self SVar:TrigBlocked:Mode$ AttackerBlocked | ValidCard$ Creature.IsRemembered | ValidBlocker$ Creature.ChosenColor | Execute$ ABDestroy | TriggerDescription$ Whenever Zombie Boa becomes blocked by a creature of the chosen color this turn, destroy that creature. SVar:ABDestroy:AB$ Destroy | Cost$ 0 | Defined$ TriggeredBlocker SVar:RemAIDeck:True diff --git a/res/decks/cube/JuzamjediCube.dck b/res/decks/cube/JuzamjediCube.dck index d9ca1458cb3..30be4242b9e 100644 --- a/res/decks/cube/JuzamjediCube.dck +++ b/res/decks/cube/JuzamjediCube.dck @@ -1,23 +1,22 @@ [metadata] Name=JuzamjediCube -Deck Type=Constructed [main] -1 Absorb|INV 1 Accorder Paladin|MBS 1 Acidic Slime|M11 1 AEther Adept|M11 +1 Agony Warp|ALA 1 Ajani Goldmane|M11 1 Ajani Vengeant|ALA 1 Ambush Viper|ISD 1 Ancestral Recall|2ED -1 Angel of Despair|COM 1 Animate Dead|4ED -1 Ankh of Mishra|6ED 1 Arc Lightning|USG 1 Arc Trail|SOM 1 Arcane Denial|ALL +1 Archwing Dragon|AVR 1 Arid Mesa|ZEN 1 Armageddon|S99 +1 Arrogant Bloodlord|ROE 1 Avacyn's Pilgrim|ISD 1 Avalanche Riders|TSB 1 Azorius Guildmage|DIS @@ -31,12 +30,11 @@ Deck Type=Constructed 1 Bayou|3ED 1 Birds of Paradise|M11 1 Bitterblossom|MOR -1 Black Knight|M11 1 Black Vise|4ED 1 Blade of the Sixth Pride|FUT 1 Blade Splicer|NPH 1 Blastoderm|NMS -1 Blightning|ALA +1 Blightsteel Colossus|MBS 1 Blind Creeper|5DN 1 Blistering Firecat|ONS 1 Blood Crypt|DIS @@ -48,42 +46,41 @@ Deck Type=Constructed 1 Boggart Ram-Gang|SHM 1 Bone Shredder|ULG 1 Bonesplitter|MRD -1 Braids, Cabal Minion|ODY +1 Bonfire of the Damned|AVR 1 Breeding Pool|DIS +1 Briarhorn|LRW 1 Bribery|8ED 1 Brimstone Volley|ISD 1 Burst Lightning|ZEN 1 Calciderm|PLC 1 Capsize|TMP 1 Carnophage|EXO -1 Catastrophe|USG 1 Caves of Koilos|10E 1 Celestial Colonnade|WWK 1 Chainer's Edict|TOR 1 Chameleon Colossus|MOR +1 Champion of Lambholt|AVR 1 Chandra Nalaar|M11 1 Chandra's Phoenix|M12 -1 Chandra, the Firebrand|M12 1 Char|RAV 1 City of Brass|ARN 1 Cloistered Youth|ISD -1 Cloud of Faeries|ULG 1 Cloud Spirit|POR 1 Cloudgoat Ranger|LRW -1 Coiling Oracle|DIS 1 Consecrated Sphinx|MBS 1 Consuming Vapors|ROE 1 Control Magic|4ED 1 Coralhelm Commander|ROE -1 Corpse Dance|TMP 1 Counterspell|7ED -1 Creakwood Liege|EVE 1 Creeping Tar Pit|WWK +1 Crippling Chill|AVR 1 Cultivate|M11 1 Cursed Scroll|TMP 1 Damnation|PLC +1 Dance of the Dead|ICE 1 Dark Confidant|RAV 1 Dauthi Horror|TMP +1 Dauthi Marauder|TMP 1 Dauthi Slayer|TSB 1 Day of Judgment|M11 1 Deep Analysis|TOR @@ -91,15 +88,16 @@ Deck Type=Constructed 1 Deranged Hermit|ULG 1 Devil's Play|ISD 1 Diabolic Edict|TMP +1 Diabolic Servitude|USG 1 Diregraf Ghoul|ISD 1 Disenchant|TSB 1 Dismember|NPH 1 Dismiss|TMP 1 Dispel|WWK 1 Doom Blade|M11 +1 Dungeon Geists|DKA 1 Duress|M11 1 Dwarven Blastminer|ONS -1 Earthquake|COM 1 Edric, Spymaster of Trest|COM 1 Electrolyze|GPT 1 Elesh Norn, Grand Cenobite|NPH @@ -107,9 +105,8 @@ Deck Type=Constructed 1 Elspeth Tirel|SOM 1 Elspeth, Knight-Errant|ALA 1 Ember Hauler|M11 -1 Emeria Angel|ZEN 1 Enclave Cryptologist|ROE -1 Equilibrium|EXO +1 Entreat the Angels|AVR 1 Eternal Witness|5DN 1 Evolving Wilds|COM 1 Exalted Angel|ONS @@ -119,55 +116,49 @@ Deck Type=Constructed 1 Faerie Conclave|10E 1 Faith's Fetters|RAV 1 Faithless Looting|DKA -1 Falkenrath Aristocrat|DKA 1 Fallen Askari|VIS 1 Fauna Shaman|M11 1 Fiend Hunter|ISD 1 Figure of Destiny|EVE -1 Fire Ambush|PTK 1 Fire Imp|POR 1 Fireblast|VIS 1 Firebolt|ODY 1 Flagstones of Trokair|TSP -1 Flame Slash|ROE 1 Flametongue Kavu|PLS 1 Flickerwisp|EVE 1 Flooded Strand|ONS 1 Fog Bank|COM 1 Force Spike|7ED +1 Forked Bolt|ROE 1 Frost Titan|M11 1 Fyndhorn Elves|ICE 1 Galvanic Juggernaut|ISD 1 Garruk Relentless|ISD 1 Garruk Wildspeaker|M11 -1 Garruk's Companion|M12 +1 Garruk's Companion|M11 1 Garruk, Primal Hunter|M12 1 Gatekeeper of Malakir|ZEN 1 Geist of Saint Traft|ISD 1 Geist-Honored Monk|ISD -1 Gelectrode|GPT 1 Genesis|JUD 1 Geralf's Messenger|DKA 1 Ghitu Encampment|10E 1 Glen Elendra Archmage|EVE -1 Glorious Anthem|10E 1 Go for the Throat|MBS 1 Goblin Guide|ZEN 1 Goblin Patrol|USG 1 Goblin Ruinblaster|ZEN 1 Goblin Wardriver|MBS 1 Godless Shrine|GPT -1 Goldmeadow Harrier|LRW 1 Grafted Wargear|5DN 1 Grand Arbiter Augustin IV|DIS 1 Grand Coliseum|ONS -1 Grasp of Darkness|SOM 1 Grave Titan|M11 1 Graveborn Muse|10E 1 Gravecrawler|DKA -1 Great Sable Stag|M10 1 Green Sun's Zenith|MBS 1 Grim Lavamancer|M12 +1 Griselbrand|AVR 1 Gush|MMQ 1 Hallowed Fountain|DIS 1 Harmonize|PLC @@ -175,31 +166,27 @@ Deck Type=Constructed 1 Hellrider|DKA 1 Hellspark Elemental|CFX 1 Hero of Bladehold|MBS -1 Hero of Oxid Ridge|MBS 1 Hinterland Harbor|ISD +1 Homicidal Seclusion|AVR +1 Honor of the Pure|M10 1 Huntmaster of the Fells|DKA 1 Hymn to Tourach|FEM 1 Hypnotic Specter|M10 -1 Icequake|ICE 1 Incinerate|10E 1 Indrik Stomphowler|DIS 1 Inferno Titan|M11 -1 Inkfathom Infiltrator|SHM +1 Inner-Flame Acolyte|LRW 1 Inquisition of Kozilek|ROE 1 Into the Roil|ZEN 1 Invisible Stalker|ISD 1 Isamaru, Hound of Konda|CHK 1 Jace Beleren|M11 -1 Jace, Memory Adept|M12 1 Jace, the Mind Sculptor|WWK 1 Jackal Pup|TMP 1 Jade Mage|M12 1 Journey to Nowhere|ZEN -1 Juggernaut|3ED 1 Jungle Lion|POR -1 Juzam Djinn|ARN 1 Kargan Dragonlord|ROE -1 Karmic Guide|ULG 1 Keiga, the Tide Star|CHK 1 Keldon Champion|UDS 1 Keldon Marauders|PLC @@ -220,43 +207,40 @@ Deck Type=Constructed 1 Lightning Bolt|M11 1 Lightning Greaves|MRD 1 Lightning Helix|RAV +1 Lightning Mauler|AVR 1 Liliana Vess|M11 1 Liliana's Specter|M11 +1 Lingering Souls|DKA 1 Llanowar Elves|M11 1 Llanowar Wastes|10E 1 Loam Lion|WWK 1 Lodestone Golem|WWK -1 Lone Missionary|ROE 1 Looter il-Kor|TSP 1 Loxodon Warhammer|10E 1 Loyal Cathar|DKA 1 Lu Xun, Scholar General|PTK 1 Maelstrom Pulse|ARB 1 Magma Jet|5DN +1 Makeshift Mannequin|LRW 1 Man-o'-War|S99 1 Mana Drain|LEG 1 Mana Leak|M11 1 Mana Tithe|PLC -1 Manic Vandal|M11 1 Marsh Flats|ZEN 1 Martial Coup|CFX -1 Masked Admirers|LRW 1 Massacre Wurm|MBS 1 Master of the Wild Hunt|M10 1 Maze of Ith|DRK 1 Memory Lapse|7ED -1 Mental Misstep|NPH -1 Mentor of the Meek|ISD 1 Midnight Haunting|ISD +1 Mikaeus, the Lunarch|ISD 1 Mind Stone|10E -1 Mindshrieker|ISD 1 Mire Boa|PLC 1 Mirran Crusader|MBS 1 Miscalculation|ULG 1 Mishra's Factory|4ED +1 Mist Raven|AVR 1 Misty Rainforest|ZEN -1 Mogg Fanatic|TMP -1 Moldgraf Monstrosity|ISD 1 Molten Rain|MRD 1 Mox Emerald|2ED 1 Mox Jet|2ED @@ -264,37 +248,34 @@ Deck Type=Constructed 1 Mox Ruby|2ED 1 Mox Sapphire|2ED 1 Mulldrifter|LRW +1 Murderous Redcap|SHM 1 Mutavault|MOR 1 Myr Battlesphere|SOM 1 Nantuko Shade|M11 1 Nantuko Vigilante|LGN 1 Negate|M11 1 Nekrataal|10E -1 Nether Void|LEG 1 Nevinyrral's Disk|5ED 1 Nezumi Graverobber|CHK 1 Nezumi Shortfang|CHK 1 Night's Whisper|5DN 1 Niv-Mizzet, the Firemind|GPT 1 Noble Hierarch|CFX -1 Ob Nixilis, the Fallen|ZEN -1 Obelisk of Alara|CFX 1 Oblivion Ring|ALA -1 Obstinate Baloth|M11 1 Ohran Viper|CSP +1 Old Man of the Sea|ARN 1 Olivia Voldaren|ISD -1 Oracle of Mul Daya|ZEN 1 Overgrown Tomb|RAV -1 Paladin en-Vec|10E +1 Overrun|ODY 1 Path to Exile|CFX 1 Pelakka Wurm|ROE -1 Perilous Myr|SOM 1 Phantasmal Image|M12 1 Phantom Centaur|JUD 1 Phyrexian Arena|9ED 1 Phyrexian Metamorph|NPH 1 Pianna, Nomad Captain|ODY 1 Pillage|7ED +1 Pillar of Flame|AVR 1 Plateau|3ED 1 Plated Geopede|ZEN 1 Plow Under|8ED @@ -307,17 +288,16 @@ Deck Type=Constructed 1 Putrefy|RAV 1 Pyroclasm|9ED 1 Raging Ravine|WWK -1 Rain of Tears|MMQ 1 Rampaging Baloths|ZEN 1 Rancor|ULG 1 Ravages of War|PTK 1 Reanimate|TMP 1 Reckless Charge|ODY -1 Reckless Waif|ISD 1 Red Sun's Zenith|MBS 1 Regrowth|3ED 1 Remand|RAV 1 Repulse|INV +1 Restoration Angel|AVR 1 Reveillark|MOR 1 Rift Bolt|TSP 1 Riftwing Cloudskate|TSP @@ -330,6 +310,8 @@ Deck Type=Constructed 1 Scalding Tarn|ZEN 1 Scavenging Ooze|COM 1 Scrubland|3ED +1 Sea Gate Oracle|ROE +1 Searing Blaze|WWK 1 Serendib Efreet|3ED 1 Serra Avenger|TSP 1 Serum Visions|5DN @@ -338,12 +320,12 @@ Deck Type=Constructed 1 Shriekmaw|LRW 1 Shrine of Burning Rage|NPH 1 Siege-Gang Commander|10E -1 Silver Knight|SCG +1 Sigarda, Host of Herons|AVR +1 Silverblade Paladin|AVR 1 Simic Sky Swallower|DIS 1 Sinkhole|LEA 1 Skinrender|SOM 1 Skullclamp|DST -1 Skyknight Legionnaire|RAV 1 Skyshroud Elite|EXO 1 Skywinder Drake|M12 1 Smash to Smithereens|SHM @@ -357,13 +339,10 @@ Deck Type=Constructed 1 Sower of Temptation|LRW 1 Spectral Procession|SHM 1 Spell Pierce|ZEN -1 Spellstutter Sprite|LRW +1 Sphinx of Jwar Isle|ZEN 1 Spikeshot Elder|SOM 1 Spiritmonger|APC -1 Spreading Seas|ZEN -1 Squee, Goblin Nabob|MMQ 1 Staggershock|ROE -1 Standstill|ODY 1 Steam Vents|GPT 1 Steppe Lynx|ZEN 1 Stillmoon Cavalier|EVE @@ -381,6 +360,7 @@ Deck Type=Constructed 1 Sulfur Falls|ISD 1 Sulfuric Vortex|SCG 1 Sun Titan|M11 +1 Sunblast Angel|SOM 1 Sword of Body and Mind|SOM 1 Sword of Feast and Famine|MBS 1 Sword of Fire and Ice|DST @@ -388,20 +368,21 @@ Deck Type=Constructed 1 Sword of War and Peace|NPH 1 Swords to Plowshares|ICE 1 Taiga|3ED -1 Tangle Wire|NMS +1 Tamiyo, the Moon Sage|AVR 1 Tarmogoyf|FUT -1 Tattermunge Maniac|SHM 1 Temple Garden|RAV 1 Temporal Isolation|TSP 1 Terminate|ARB +1 Terminus|AVR 1 Terramorphic Expanse|10E 1 Terror|6ED -1 Tezzeret, Agent of Bolas|MBS 1 Thalia, Guardian of Thraben|DKA +1 The Abyss|LEG 1 Thirst for Knowledge|MRD 1 Thornling|CFX 1 Thoughtseize|LRW 1 Thrun, the Last Troll|MBS +1 Thunderous Wrath|AVR 1 Time Walk|2ED 1 Torch Fiend|DKA 1 Tragic Slip|DKA @@ -420,36 +401,34 @@ Deck Type=Constructed 1 Upheaval|ODY 1 Urborg, Tomb of Yawgmoth|PLC 1 Vampire Interloper|ISD +1 Vampire Lacerator|ZEN 1 Vampire Nighthawk|ZEN 1 Vedalken Shackles|5DN 1 Vendilion Clique|MOR 1 Vengevine|ROE 1 Verdant Catacombs|ZEN -1 Victim of Night|ISD +1 Vexing Devil|AVR 1 Vindicate|APC -1 Vinelasher Kudzu|RAV 1 Viridian Shaman|10E -1 Volcanic Hammer|9ED 1 Volcanic Island|3ED -1 Vorapede|DKA 1 Wake Thrasher|EVE 1 Wall of Blossoms|STH 1 Wall of Omens|ROE 1 Wasteland|TMP -1 Watchwolf|RAV 1 Watery Grave|RAV 1 Wei Ambush Force|PTK 1 Wickerbough Elder|EVE +1 Wild Mongrel|ODY 1 Wild Nacatl|ALA -1 Wilt-Leaf Liege|SHM 1 Windswept Heath|ONS -1 Winter Orb|5ED 1 Wolfbitten Captive|DKA +1 Wolfir Avenger|AVR +1 Wolfir Silverheart|AVR 1 Wooded Foothills|ONS 1 Woodfall Primus|SHM 1 Wrath of God|10E -1 Wretched Anurid|ONS +1 Wrench Mind|MRD 1 Wurmcoil Engine|SOM 1 Yavimaya Elder|UDS -1 Zo-Zu the Punisher|CHK +1 Zealous Conscripts|AVR [sideboard] diff --git a/res/quest/bazaar/hound_pet_l4.txt b/res/quest/bazaar/hound_pet_l4.txt index 38dc2d993f4..a11e2b37cf5 100644 --- a/res/quest/bazaar/hound_pet_l4.txt +++ b/res/quest/bazaar/hound_pet_l4.txt @@ -4,5 +4,6 @@ Colors:red Types:Creature Hound Pet PT:2/1 K:Haste -A:AB$ Pump | Cost$ 1 X | ValidCards$ Card.Self | NumAtt$ +X | KW$ HIDDEN At the beginning of the end step, sacrifice CARDNAME. | SpellDescription$ CARDNAME gets +X/+0 until end of turn. Sacrifice it at the beginning of the next end step. +A:AB$ Pump | Cost$ X 1 | ValidCards$ Card.Self | NumAtt$ +X | KW$ HIDDEN At the beginning of the end step, sacrifice CARDNAME. | SpellDescription$ CARDNAME gets +X/+0 until end of turn. Sacrifice it at the beginning of the next end step. +SVar:X:Count$xPaid End \ No newline at end of file diff --git a/res/quest/duels/Barney Rubble 2.dck b/res/quest/duels/Barney Rubble 2.dck index 2165f8b4609..f725ae048cb 100644 --- a/res/quest/duels/Barney Rubble 2.dck +++ b/res/quest/duels/Barney Rubble 2.dck @@ -7,26 +7,27 @@ Description=WU Sovereigns of Lost Alara deck with walls and auras Icon=Barney Rubble.jpg Deck Type=constructed [main] -4 Ghostly Prison -1 Angelic Wall -1 Guardians of Akrasa +4 Coastal Tower 4 Sejiri Refuge +3 Glacial Fortress +3 Seachrome Coast +4 Plains|M11 +4 Island|M11 +3 Ghostly Prison +1 Angelic Wall +3 Guardians of Akrasa 1 Mythic Proportions 1 Elder Mastery 1 Drake Umbra -4 Coastal Tower -4 Plains|M11 2 Concentrate 1 Whispersilk Cloak 1 Stinging Barrier 4 Absorb -4 Island|M11 4 Sovereigns of Lost Alara 4 Wall of Omens 1 Plumeveil -4 Tundra -3 Wall of Denial -3 Wall of Reverence -4 Propaganda +2 Wall of Denial +2 Wall of Reverence +3 Propaganda 4 Perimeter Captain [sideboard] diff --git a/res/quest/duels/Edna Krabappel 3.dck b/res/quest/duels/Edna Krabappel 3.dck index 8c3d3031d3e..c6bfbad1eb1 100644 --- a/res/quest/duels/Edna Krabappel 3.dck +++ b/res/quest/duels/Edna Krabappel 3.dck @@ -26,11 +26,10 @@ Deck Type=constructed 2 Sovereigns of Lost Alara 1 Iridescent Drake 4 Angelic Destiny -1 Celestial Mantle 1 Drake Umbra 2 Elder Mastery 4 Eldrazi Conscription 1 Followed Footsteps -1 Mammoth Umbra 2 Mythic Proportions +2 Indrik Umbra [sideboard] diff --git a/res/quest/duels/Elrond 1.dck b/res/quest/duels/Elrond 1.dck index b1a45280f80..4e4d0200ebd 100644 --- a/res/quest/duels/Elrond 1.dck +++ b/res/quest/duels/Elrond 1.dck @@ -1,45 +1,46 @@ -[duel] -[metadata] -Name=Elrond 1 -Title=Elrond -Difficulty=easy -Description=WG Aura deck with Rabid Wombat -Icon=Elrond.jpg -Deck Type=constructed -[main] -2 Plains|M12 -2 Forest|M12 -4 Elfhame Palace -4 Graypelt Refuge -4 Arctic Flats -3 Razorverge Thicket -4 Sunpetal Grove -3 Aura Gnarlid -4 Rabid Wombat -2 Kor Spiritdancer -2 Gatherer of Graces -1 Gate Hound -2 Skyrider Trainee -1 Drove of Elves -2 Totem-Guide Hartebeest -1 Taoist Hermit -1 Silhana Ledgewalker -1 Slippery Bogle -1 Sacred Wolf -1 Zuo Ci, the Mocking Sage -1 Ancestral Mask -1 Fencer's Magemark -1 Beastmaster's Magemark -1 Guardian's Magemark -1 Brilliant Halo -1 Divine Transformation -1 Dryad's Favor -1 Gift of the Woods -1 Holy Strength -1 Lance -1 Lifelink -1 Predatory Hunger -1 Primal Frenzy -1 Ritual of Steel -1 Seeker -[sideboard] +[duel] +[metadata] +Name=Elrond 1 +Title=Elrond +Difficulty=easy +Description=WG Aura deck with Rabid Wombat +Icon=Elrond.jpg +Deck Type=constructed +[main] +2 Plains|M12 +2 Forest|M12 +4 Elfhame Palace +4 Graypelt Refuge +4 Arctic Flats +3 Razorverge Thicket +4 Sunpetal Grove +2 Aura Gnarlid +4 Rabid Wombat +2 Kor Spiritdancer +2 Gatherer of Graces +1 Gate Hound +2 Skyrider Trainee +1 Drove of Elves +2 Totem-Guide Hartebeest +1 Taoist Hermit +1 Silhana Ledgewalker +1 Slippery Bogle +1 Sacred Wolf +1 Zuo Ci, the Mocking Sage +1 Dreampod Druid +1 Ancestral Mask +1 Fencer's Magemark +1 Beastmaster's Magemark +1 Guardian's Magemark +1 Brilliant Halo +1 Divine Transformation +1 Dryad's Favor +1 Gift of the Woods +1 Holy Strength +1 Lance +1 Lifelink +1 Predatory Hunger +1 Primal Frenzy +1 Ritual of Steel +1 Seeker +[sideboard] diff --git a/res/quest/duels/Elrond 2.dck b/res/quest/duels/Elrond 2.dck index 1c2157bc9f4..bca769dab27 100644 --- a/res/quest/duels/Elrond 2.dck +++ b/res/quest/duels/Elrond 2.dck @@ -1,50 +1,50 @@ -[duel] -[metadata] -Name=Elrond 2 -Title=Elrond -Difficulty=medium -Description=RGW Aura deck with Rabid Wombat -Icon=Elrond.jpg -Deck Type=constructed -[main] -1 Plains|M12 -1 Forest|M12 -1 Elfhame Palace -4 Savannah -4 Graypelt Refuge -1 Arctic Flats -2 Windswept Heath -4 Jungle Shrine -2 Taiga -2 Plateau -1 Heroes' Reunion -1 Winds of Rath -3 Aura Gnarlid -3 Rabid Wombat -2 Kor Spiritdancer -2 Gatherer of Graces -1 Uril, the Miststalker -1 Gate Hound -1 Skyrider Trainee -1 Thran Golem -1 Drove of Elves -1 Totem-Guide Hartebeest -1 Troll Ascetic -1 Silhana Ledgewalker -1 Slippery Bogle -1 Sacred Wolf -1 Zuo Ci, the Mocking Sage -1 Ancestral Mask -1 Fencer's Magemark -1 Brilliant Halo -2 Rancor -1 Treetop Bracers -1 Unquestioned Authority -1 Tiger Claws -1 Asha's Favor -1 Nimbus Wings -1 Hero's Resolve -1 Battle Mastery -1 Serra's Embrace -2 Armadillo Cloak -[sideboard] +[duel] +[metadata] +Name=Elrond 2 +Title=Elrond +Difficulty=medium +Description=RGW Aura deck with Rabid Wombat +Icon=Elrond.jpg +Deck Type=constructed +[main] +1 Plains|M12 +1 Forest|M12 +1 Elfhame Palace +4 Savannah +4 Graypelt Refuge +1 Arctic Flats +2 Windswept Heath +4 Jungle Shrine +2 Taiga +2 Plateau +1 Heroes' Reunion +1 Winds of Rath +3 Aura Gnarlid +3 Rabid Wombat +2 Kor Spiritdancer +2 Gatherer of Graces +1 Uril, the Miststalker +1 Gate Hound +1 Skyrider Trainee +1 Thran Golem +1 Dreampod Druid +1 Totem-Guide Hartebeest +1 Troll Ascetic +1 Silhana Ledgewalker +1 Slippery Bogle +1 Sacred Wolf +1 Zuo Ci, the Mocking Sage +1 Ancestral Mask +1 Fencer's Magemark +1 Brilliant Halo +2 Rancor +1 Treetop Bracers +1 Unquestioned Authority +1 Tiger Claws +1 Asha's Favor +1 Nimbus Wings +1 Hero's Resolve +1 Battle Mastery +1 Serra's Embrace +2 Armadillo Cloak +[sideboard] diff --git a/res/quest/duels/Elrond 3.dck b/res/quest/duels/Elrond 3.dck index 274a56115b2..71975d703b2 100644 --- a/res/quest/duels/Elrond 3.dck +++ b/res/quest/duels/Elrond 3.dck @@ -7,8 +7,8 @@ Description=RGW Aura deck with Kor Spiritdancer Icon=Elrond.jpg Deck Type=constructed [main] -1 Plains|M12 -1 Forest|M12 +1 Plains|M12 +1 Forest|M12 4 Savannah 4 Graypelt Refuge 4 Windswept Heath @@ -24,7 +24,7 @@ Deck Type=constructed 4 Kor Spiritdancer 3 Uril, the Miststalker 2 Gatherer of Graces -1 Gate Hound +1 Krond the Dawn-Clad 1 Thran Golem 1 Troll Ascetic 1 Silhana Ledgewalker diff --git a/res/quest/duels/Kang 3.dck b/res/quest/duels/Kang 3.dck index 49e300b5268..c35a8f5b1bd 100644 --- a/res/quest/duels/Kang 3.dck +++ b/res/quest/duels/Kang 3.dck @@ -11,10 +11,11 @@ Deck Type=constructed 3 Grixis Grimblade 2 Ghastlord of Fugue 4 Glen Elendra Liege -3 Inkfathom Infiltrator +2 Inkfathom Infiltrator 4 Shadowmage Infiltrator -4 Tidehollow Strix -2 Wasp Lancer +3 Tidehollow Strix +3 Baleful Strix +1 Wasp Lancer 2 Dire Undercurrents 4 Recoil 4 Undermine @@ -22,6 +23,6 @@ Deck Type=constructed 4 Creeping Tar Pit 4 Darkslick Shores 4 Drowned Catacomb -6 Island|M12 -6 Swamp|M12 -[sideboard] +6 Island|M12 +6 Swamp|M12 +[sideboard] diff --git a/res/quest/duels/Marge Simpson 2.dck b/res/quest/duels/Marge Simpson 2.dck index 3f34b8a6728..2fd280def30 100644 --- a/res/quest/duels/Marge Simpson 2.dck +++ b/res/quest/duels/Marge Simpson 2.dck @@ -1,38 +1,41 @@ -[duel] -[metadata] -Name=Marge Simpson 2 -Title=Marge Simpson -Difficulty=medium -Description=RG deck with tokens which are devoured by creatures with devour -Icon=Marge Simpson.jpg -Deck Type=constructed -[main] -8 Mountain|M11 -8 Forest|M11 -4 Stomping Ground -4 Wooded Foothills -1 Dragon Broodmother -1 Predator Dragon -2 Thunder-Thrash Elder -1 Skullmulcher -2 Mycoloth -1 Gorger Wurm -1 Thorn-Thrash Viashino -2 Doubling Season -1 Artifact Mutation -1 Violent Outburst -1 Squirrel Nest -1 Chatter of the Squirrel -1 Hunting Triad -2 Awakening Zone -2 Growth Spasm -1 Kozilek's Predator -2 Nest Invader -1 Ambassador Oak -1 Leyline of Vitality -1 Dragon Fodder -1 Empty the Warrens -4 Goblin Assault -3 Mogg War Marshal -2 Rukh Egg -[sideboard] +[duel] +[metadata] +Name=Marge Simpson 2 +Title=Marge Simpson +Difficulty=medium +Description=RG deck with tokens which are devoured by creatures with devour +Icon=Marge Simpson.jpg +Deck Type=constructed +[main] +8 Mountain|M11 +8 Forest|M11 +1 Taiga +1 Copperline Gorge +2 Rootbound Crag +4 Wooded Foothills +1 Dragon Broodmother +1 Predator Dragon +2 Thunder-Thrash Elder +1 Skullmulcher +1 Mycoloth +1 Preyseizer Dragon +1 Gorger Wurm +1 Thorn-Thrash Viashino +2 Doubling Season +1 Artifact Mutation +1 Violent Outburst +1 Squirrel Nest +1 Chatter of the Squirrel +1 Hunting Triad +3 Awakening Zone +2 Growth Spasm +1 Kozilek's Predator +2 Nest Invader +1 Ambassador Oak +1 Leyline of Vitality +1 Dragon Fodder +4 Goblin Assault +2 Mogg War Marshal +2 Rukh Egg +1 Brindle Shoat +[sideboard] diff --git a/res/quest/duels/Spock 2.dck b/res/quest/duels/Spock 2.dck index 3ea53c89b27..cbeb2d88ded 100644 --- a/res/quest/duels/Spock 2.dck +++ b/res/quest/duels/Spock 2.dck @@ -3,31 +3,37 @@ Name=Spock 2 Title=Spock Difficulty=medium -Description=Mono G Elf Kinship deck with Winnower Patrol and Wolf-Skull Shaman +Description=BG Elf Kinship deck with Winnower Patrol and Wolf-Skull Shaman Icon=Spock.jpg Deck Type=constructed [main] -11 Forest|ISD -1 Swamp|ISD +9 Forest|ISD +1 Swamp|ISD 4 Gilt-Leaf Palace 4 Woodland Cemetery 1 Bayou 2 Verdant Catacombs 4 Wolf-Skull Shaman 4 Winnower Patrol +3 Sylvan Messenger +1 Cylian Elf 1 Norwood Archers 1 Stonewood Invoker 1 Immaculate Magistrate -1 Fyndhorn Elves +2 Llanowar Elves +2 Fyndhorn Elves 1 Caller of the Claw +1 Lys Alana Bowmaster +1 Imperious Perfect 1 Elvish Archers 1 Viridian Shaman -1 Thelonite Hermit 1 Essence Warden 1 Elvish Ranger 1 Moonglove Winnower 1 Llanowar Dead 1 Prowess of the Fair +1 Lys Alana Huntmaster +1 Nath of the Gilt-Leaf 4 Eyeblight's Ending -2 Nameless Inversion +4 Nameless Inversion [sideboard] diff --git a/res/skins/firebloom/sprite_icons.png b/res/skins/firebloom/sprite_icons.png index 03f8617c6b8..5b737d20976 100644 Binary files a/res/skins/firebloom/sprite_icons.png and b/res/skins/firebloom/sprite_icons.png differ diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index d096ff4486c..f847b1f8b95 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -2783,6 +2783,9 @@ public class Card extends GameEntity implements Comparable { * a {@link forge.card.spellability.SpellAbility} object. */ public final void addSpellAbility(final SpellAbility a) { + if (a.getAbilityFactory() != null) { + a.getAbilityFactory().setHostCard(this); + } a.setSourceCard(this); if (a instanceof AbilityMana) { this.getCharacteristics().getManaAbility().add((AbilityMana) a); diff --git a/src/main/java/forge/CardKeywords.java b/src/main/java/forge/CardKeywords.java index 9fec546ce6d..f5012a6b1c3 100644 --- a/src/main/java/forge/CardKeywords.java +++ b/src/main/java/forge/CardKeywords.java @@ -1,116 +1,116 @@ -/* - * Forge: Play Magic: the Gathering. - * Copyright (C) 2011 Forge Team - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package forge; - -import java.util.ArrayList; - -/** - *

- * Card_Keywords class. - *

- * - * @author Forge - * @version $Id: Card_Keywords.java 10217 2011-09-04 10:14:19Z Sloth $ - */ -public class CardKeywords implements Comparable { - // takes care of individual card types - private ArrayList keywords = new ArrayList(); - private ArrayList removeKeywords = new ArrayList(); - private boolean removeAllKeywords = false; - private long timeStamp = 0; - - /** - *

- * getTimestamp. - *

- * - * @return a long. - */ - public final long getTimestamp() { - return this.timeStamp; - } - - /** - * - * Card_Keywords. - * - * @param keywordList - * an ArrayList - * @param removeKeywordList - * a ArrayList - * @param removeAll - * a boolean - * @param stamp - * a long - */ - CardKeywords(final ArrayList keywordList, final ArrayList removeKeywordList, - final boolean removeAll, final long stamp) { - this.keywords = keywordList; - this.removeKeywords = removeKeywordList; - this.removeAllKeywords = removeAll; - this.timeStamp = stamp; - } - - /** - * - * getKeywords. - * - * @return ArrayList - */ - public final ArrayList getKeywords() { - return this.keywords; - } - - /** - * - * getRemoveKeywords. - * - * @return ArrayList - */ - public final ArrayList getRemoveKeywords() { - return this.removeKeywords; - } - - /** - * - * isRemoveAllKeywords. - * - * @return boolean - */ - public final boolean isRemoveAllKeywords() { - return this.removeAllKeywords; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Comparable#compareTo(java.lang.Object) - */ - @Override - public final int compareTo(final CardKeywords anotherCardKeywords) { - int returnValue = 0; - final long anotherTimeStamp = anotherCardKeywords.getTimestamp(); - if (this.timeStamp < anotherTimeStamp) { - returnValue = -1; - } else if (this.timeStamp > anotherTimeStamp) { - returnValue = 1; - } - return returnValue; - } - -} +/* + * Forge: Play Magic: the Gathering. + * Copyright (C) 2011 Forge Team + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package forge; + +import java.util.ArrayList; + +/** + *

+ * Card_Keywords class. + *

+ * + * @author Forge + * @version $Id$ + */ +public class CardKeywords implements Comparable { + // takes care of individual card types + private ArrayList keywords = new ArrayList(); + private ArrayList removeKeywords = new ArrayList(); + private boolean removeAllKeywords = false; + private long timeStamp = 0; + + /** + *

+ * getTimestamp. + *

+ * + * @return a long. + */ + public final long getTimestamp() { + return this.timeStamp; + } + + /** + * + * Card_Keywords. + * + * @param keywordList + * an ArrayList + * @param removeKeywordList + * a ArrayList + * @param removeAll + * a boolean + * @param stamp + * a long + */ + CardKeywords(final ArrayList keywordList, final ArrayList removeKeywordList, + final boolean removeAll, final long stamp) { + this.keywords = keywordList; + this.removeKeywords = removeKeywordList; + this.removeAllKeywords = removeAll; + this.timeStamp = stamp; + } + + /** + * + * getKeywords. + * + * @return ArrayList + */ + public final ArrayList getKeywords() { + return this.keywords; + } + + /** + * + * getRemoveKeywords. + * + * @return ArrayList + */ + public final ArrayList getRemoveKeywords() { + return this.removeKeywords; + } + + /** + * + * isRemoveAllKeywords. + * + * @return boolean + */ + public final boolean isRemoveAllKeywords() { + return this.removeAllKeywords; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Comparable#compareTo(java.lang.Object) + */ + @Override + public final int compareTo(final CardKeywords anotherCardKeywords) { + int returnValue = 0; + final long anotherTimeStamp = anotherCardKeywords.getTimestamp(); + if (this.timeStamp < anotherTimeStamp) { + returnValue = -1; + } else if (this.timeStamp > anotherTimeStamp) { + returnValue = 1; + } + return returnValue; + } + +} diff --git a/src/main/java/forge/GameAction.java b/src/main/java/forge/GameAction.java index 7e70d51088b..ef1c20d8581 100644 --- a/src/main/java/forge/GameAction.java +++ b/src/main/java/forge/GameAction.java @@ -530,6 +530,11 @@ public class GameAction { return sd.toString(); } + + @Override + public AbilityActivated getCopy() { + return null; + } }; final StringBuilder sb = new StringBuilder(); @@ -1163,6 +1168,40 @@ public class GameAction { } } // for q=0;q<2 + /* + //Experiment Kraj experiment + CardList krajs = AllZoneUtil.getCardsIn(ZoneType.Battlefield).filter(new CardListFilter() { + @Override + public boolean addCard(Card c) { + return c.getName().equals("Experiment Kraj"); + } + }); + CardList P1P1s = AllZoneUtil.getCardsIn(ZoneType.Battlefield).filter(new CardListFilter() { + @Override + public boolean addCard(Card c) { + return c.getCounters(Counters.P1P1) > 0; + } + }); + for(final Card kraj : krajs) + { + kraj.clearAllButFirstSpellAbility(); + CardFactoryUtil.addAbilityFactoryAbilities(kraj); + for(final Card P1P1 : P1P1s) + { + if(!P1P1.equals(kraj)) { + for(SpellAbility sa : P1P1.getSpellAbilities()) + { + if(sa instanceof AbilityActivated) + { + AbilityActivated newSA = ((AbilityActivated)sa).getCopy(); + newSA.setSourceCard(kraj); + kraj.addSpellAbility(newSA); + } + } + } + } + } + */ this.destroyLegendaryCreatures(); this.destroyPlaneswalkers(); @@ -2190,12 +2229,12 @@ public class GameAction { } // Raise cost - for (Card c : cardsInPlay) { + /*for (Card c : cardsInPlay) { final ArrayList staticAbilities = c.getStaticAbilities(); for (final StaticAbility stAb : staticAbilities) { manaCost = stAb.applyAbility("RaiseCost", spell, manaCost); } - } + }*/ if (mana.equals("0") && spell.isAbility()) { } else { @@ -2424,12 +2463,12 @@ public class GameAction { } // Khalni Hydra // Reduce cost - for (Card c : cardsInPlay) { + /*for (Card c : cardsInPlay) { final ArrayList staticAbilities = c.getStaticAbilities(); for (final StaticAbility stAb : staticAbilities) { manaCost = stAb.applyAbility("ReduceCost", spell, manaCost); } - } + }*/ return manaCost; } // GetSpellCostChange diff --git a/src/main/java/forge/GameActionUtil.java b/src/main/java/forge/GameActionUtil.java index 8b3a336d748..40d7bebd5fa 100644 --- a/src/main/java/forge/GameActionUtil.java +++ b/src/main/java/forge/GameActionUtil.java @@ -859,8 +859,6 @@ public final class GameActionUtil { GameActionUtil.playerCombatDamageScalpelexis(c); } else if (c.getName().equals("Spawnwrithe")) { GameActionUtil.playerCombatDamageSpawnwrithe(c); - } else if (c.getName().equals("Treva, the Renewer")) { - GameActionUtil.playerCombatDamageTreva(c); } else if (c.isEnchantedBy("Celestial Mantle")) { GameActionUtil.executeCelestialMantle(c); } @@ -902,24 +900,6 @@ public final class GameActionUtil { } } - /** - *

- * playerCombatDamageTreva. - *

- * - * @param c - * a {@link forge.Card} object. - */ - private static void playerCombatDamageTreva(final Card c) { - final SpellAbility[] sa = c.getSpellAbility(); - if (c.getController().isHuman()) { - Singletons.getModel().getGameAction().playSpellAbility(sa[1]); - } else { - ComputerUtil.playNoStack(sa[1]); - } - - } - /** *

* playerCombatDamageWhirlingDervish. diff --git a/src/main/java/forge/StaticEffects.java b/src/main/java/forge/StaticEffects.java index c979ab0f19e..dc932c99933 100644 --- a/src/main/java/forge/StaticEffects.java +++ b/src/main/java/forge/StaticEffects.java @@ -158,7 +158,7 @@ public class StaticEffects { } // remove abilities - if (params.containsKey("AddAbility")) { + if (params.containsKey("AddAbility") || params.containsKey("GainsAbilitiesOf")) { final SpellAbility[] spellAbility = affectedCard.getSpellAbility(); for (final SpellAbility s : spellAbility) { if (s.getType().equals("Temporary")) { diff --git a/src/main/java/forge/card/FormatCollection.java b/src/main/java/forge/card/FormatCollection.java index e5dabb9d7ce..2c3233cb209 100644 --- a/src/main/java/forge/card/FormatCollection.java +++ b/src/main/java/forge/card/FormatCollection.java @@ -66,6 +66,14 @@ public final class FormatCollection extends StorageView { return getMap().get("Modern"); } + /** + * Get a specified format. + * @return the requested format + */ + public GameFormat getFormat(String format) { + return getMap().get(format); + } + /** * Instantiates a new format utils. */ diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactory.java b/src/main/java/forge/card/abilityfactory/AbilityFactory.java index 19c05013c2f..0aba16de935 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactory.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactory.java @@ -352,6 +352,7 @@ public class AbilityFactory { throw new RuntimeException("AbilityFactory : getAbility -- no Cost in " + hostCard.getName()); } this.abCost = new Cost(hostCard, this.mapParams.get("Cost"), this.isAb); + } if (this.mapParams.containsKey("ValidTgts")) { @@ -548,11 +549,11 @@ public class AbilityFactory { else if (this.api.equals("Clash")) { if (this.isAb) { - spellAbility = AbilityFactoryClash.getAbilityClash(this); + spellAbility = AbilityFactoryClash.createAbilityClash(this); } else if (this.isSp) { - spellAbility = AbilityFactoryClash.getSpellClash(this); + spellAbility = AbilityFactoryClash.createSpellClash(this); } else if (this.isDb) { - spellAbility = AbilityFactoryClash.getDrawbackClash(this); + spellAbility = AbilityFactoryClash.createDrawbackClash(this); } } @@ -1061,11 +1062,11 @@ public class AbilityFactory { else if (this.api.equals("RearrangeTopOfLibrary")) { if (this.isAb) { - spellAbility = AbilityFactoryReveal.createRearrangeTopOfLibraryAbility(this); + spellAbility = AbilityFactoryReveal.createAbilityRearrangeTopOfLibrary(this); } else if (this.isSp) { - spellAbility = AbilityFactoryReveal.createRearrangeTopOfLibrarySpell(this); + spellAbility = AbilityFactoryReveal.createSpellRearrangeTopOfLibrary(this); } else if (this.isDb) { - spellAbility = AbilityFactoryReveal.createRearrangeTopOfLibraryDrawback(this); + spellAbility = AbilityFactoryReveal.createDrawbackRearrangeTopOfLibrary(this); } } @@ -1075,7 +1076,7 @@ public class AbilityFactory { } else if (this.isSp) { spellAbility = AbilityFactoryRegenerate.getSpellRegenerate(this); } else if (this.isDb) { - spellAbility = AbilityFactoryRegenerate.createDrawbackRegenerate(this); + spellAbility = AbilityFactoryRegenerate.getDrawbackRegenerate(this); } } @@ -1085,7 +1086,7 @@ public class AbilityFactory { } else if (this.isSp) { spellAbility = AbilityFactoryRegenerate.getSpellRegenerateAll(this); } else if (this.isDb) { - spellAbility = AbilityFactoryRegenerate.createDrawbackRegenerateAll(this); + spellAbility = AbilityFactoryRegenerate.getDrawbackRegenerateAll(this); } } @@ -1340,6 +1341,12 @@ public class AbilityFactory { spellAbility.setAbilityFactory(this); + if (this.mapParams.containsKey("References")) { + for (String svar : this.mapParams.get("References").split(",")) { + spellAbility.setSVar(svar, this.hostC.getSVar(svar)); + } + } + if (this.hasSubAbility()) { spellAbility.setSubAbility(this.getSubAbility()); } @@ -1560,8 +1567,24 @@ public class AbilityFactory { amount = amount.substring(1); } - if (!card.getSVar(amount).equals("")) { - final String[] calcX = card.getSVar(amount).split("\\$"); + String svarval; + if (ability != null) { + + svarval = ability.getSVar(amount); + if (svarval.equals("")) { + + //Print a warning to console to help debug if an ability is not stolen properly. + System.out.println("WARNING:SVar fallback to card with ability present!"); + System.out.println("Card:" + card.getName()); + System.out.println("Ability:" + ability.toString()); + svarval = card.getSVar(amount); + } + } else { + svarval = card.getSVar(amount); + } + + if (!svarval.equals("")) { + final String[] calcX = svarval.split("\\$"); if ((calcX.length == 1) || calcX[1].equals("none")) { return 0; } @@ -1571,7 +1594,7 @@ public class AbilityFactory { } if (calcX[0].startsWith("Number")) { - return CardFactoryUtil.xCount(card, card.getSVar(amount)) * multiplier; + return CardFactoryUtil.xCount(card, svarval) * multiplier; } else if (calcX[0].startsWith("SVar")) { final String[] l = calcX[1].split("/"); final String[] m = CardFactoryUtil.parseMath(l); @@ -2636,7 +2659,12 @@ public class AbilityFactory { @Override public void resolve() { - // nothing to do + // nothing to do here + } + + @Override + public AbilityActivated getCopy() { + return null; } }; diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryAlterLife.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryAlterLife.java index 6fb8a2c94d4..7be788d5719 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryAlterLife.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryAlterLife.java @@ -27,6 +27,7 @@ import forge.AllZoneUtil; import forge.Card; import forge.Counters; import forge.Singletons; +import forge.card.cardfactory.CardFactoryUtil; import forge.card.cost.Cost; import forge.card.cost.CostUtil; import forge.card.spellability.AbilityActivated; @@ -64,9 +65,19 @@ public class AbilityFactoryAlterLife { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityGainLife(final AbilityFactory abilityFactory) { + class AbilityGainLife extends AbilityActivated { + public AbilityGainLife(final Card ca, final Cost co, final Target t) { + super(ca, co, t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityGainLife(getSourceCard(), getPayCosts(), + getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } - final SpellAbility abGainLife = new AbilityActivated(abilityFactory.getHostCard(), abilityFactory.getAbCost(), - abilityFactory.getAbTgt()) { private static final long serialVersionUID = 8869422603616247307L; private final AbilityFactory af = abilityFactory; @@ -93,7 +104,10 @@ public class AbilityFactoryAlterLife { return AbilityFactoryAlterLife.gainLifeDoTriggerAI(this.af, this, mandatory); } - }; + } + final SpellAbility abGainLife = new AbilityGainLife(abilityFactory.getHostCard(), abilityFactory.getAbCost(), + abilityFactory.getAbTgt()); + return abGainLife; } @@ -144,6 +158,7 @@ public class AbilityFactoryAlterLife { } }; + return spGainLife; } @@ -157,7 +172,19 @@ public class AbilityFactoryAlterLife { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackGainLife(final AbilityFactory abilityFactory) { - final SpellAbility dbGainLife = new AbilitySub(abilityFactory.getHostCard(), abilityFactory.getAbTgt()) { + class DrawbackGainLife extends AbilitySub { + public DrawbackGainLife(final Card ca, final Target t) { + super(ca, t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackGainLife(getSourceCard(), + getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 6631124959690157874L; private final AbilityFactory af = abilityFactory; @@ -193,8 +220,9 @@ public class AbilityFactoryAlterLife { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryAlterLife.gainLifeDoTriggerAI(this.af, this, mandatory); } + } + final SpellAbility dbGainLife = new DrawbackGainLife(abilityFactory.getHostCard(), abilityFactory.getAbTgt()); - }; return dbGainLife; } @@ -458,8 +486,19 @@ public class AbilityFactoryAlterLife { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityLoseLife(final AbilityFactory abilityFactory) { - final SpellAbility abLoseLife = new AbilityActivated(abilityFactory.getHostCard(), abilityFactory.getAbCost(), - abilityFactory.getAbTgt()) { + class AbilityLoseLife extends AbilityActivated { + public AbilityLoseLife(final Card ca, final Cost co, final Target t) { + super(ca, co, t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityLoseLife(getSourceCard(), + getPayCosts(), getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 1129762905315395160L; private final AbilityFactory af = abilityFactory; @@ -490,7 +529,10 @@ public class AbilityFactoryAlterLife { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryAlterLife.loseLifeDoTriggerAI(this.af, this, mandatory); } - }; + } + final SpellAbility abLoseLife = new AbilityLoseLife(abilityFactory.getHostCard(), abilityFactory.getAbCost(), + abilityFactory.getAbTgt()); + return abLoseLife; } @@ -540,6 +582,7 @@ public class AbilityFactoryAlterLife { return AbilityFactoryAlterLife.loseLifeDoTriggerAI(af, this, mandatory); } }; + return spLoseLife; } @@ -553,7 +596,19 @@ public class AbilityFactoryAlterLife { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackLoseLife(final AbilityFactory abilityFactory) { - final SpellAbility dbLoseLife = new AbilitySub(abilityFactory.getHostCard(), abilityFactory.getAbTgt()) { + class DrawbackLoseLife extends AbilitySub { + public DrawbackLoseLife(final Card ca, final Target t) { + super(ca, t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackLoseLife(getSourceCard(), + getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -2966932725306192437L; private final AbilityFactory af = abilityFactory; @@ -589,7 +644,9 @@ public class AbilityFactoryAlterLife { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryAlterLife.loseLifeDoTriggerAI(this.af, this, mandatory); } - }; + } + final SpellAbility dbLoseLife = new DrawbackLoseLife(abilityFactory.getHostCard(), abilityFactory.getAbTgt()); + return dbLoseLife; } @@ -866,8 +923,19 @@ public class AbilityFactoryAlterLife { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityPoison(final AbilityFactory af) { + class AbilityPoison extends AbilityActivated { + public AbilityPoison(final Card ca, final Cost co, final Target t) { + super(ca, co, t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityPoison(getSourceCard(), + getPayCosts(), getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } - final SpellAbility abPoison = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { private static final long serialVersionUID = 6598936088284756268L; @Override @@ -891,8 +959,9 @@ public class AbilityFactoryAlterLife { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryAlterLife.poisonDoTriggerAI(af, this, mandatory); } + } + final SpellAbility abPoison = new AbilityPoison(af.getHostCard(), af.getAbCost(), af.getAbTgt()); - }; return abPoison; } @@ -930,6 +999,7 @@ public class AbilityFactoryAlterLife { } }; + return spPoison; } @@ -943,7 +1013,19 @@ public class AbilityFactoryAlterLife { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackPoison(final AbilityFactory af) { - final SpellAbility dbPoison = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackPoison extends AbilitySub { + public DrawbackPoison(final Card ca, final Target t) { + super(ca, t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackPoison(getSourceCard(), + getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -1173479041548558016L; @Override @@ -975,8 +1057,9 @@ public class AbilityFactoryAlterLife { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryAlterLife.poisonDoTriggerAI(af, this, mandatory); } + } + final SpellAbility dbPoison = new DrawbackPoison(af.getHostCard(), af.getAbTgt()); - }; return dbPoison; } @@ -1191,7 +1274,19 @@ public class AbilityFactoryAlterLife { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilitySetLife(final AbilityFactory af) { - final SpellAbility abSetLife = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilitySetLife extends AbilityActivated { + public AbilitySetLife(final Card ca, final Cost co, final Target t) { + super(ca, co, t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilitySetLife(getSourceCard(), + getPayCosts(), getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -7375434097541097668L; @Override @@ -1213,8 +1308,9 @@ public class AbilityFactoryAlterLife { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryAlterLife.setLifeDoTriggerAI(af, this, mandatory); } + } + final SpellAbility abSetLife = new AbilitySetLife(af.getHostCard(), af.getAbCost(), af.getAbTgt()); - }; return abSetLife; } @@ -1252,6 +1348,7 @@ public class AbilityFactoryAlterLife { } }; + return spSetLife; } @@ -1265,7 +1362,19 @@ public class AbilityFactoryAlterLife { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackSetLife(final AbilityFactory af) { - final SpellAbility dbSetLife = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackSetLife extends AbilitySub { + public DrawbackSetLife(final Card ca, final Target t) { + super(ca, t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackSetLife(getSourceCard(), + getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -7634729949893534023L; @Override @@ -1297,8 +1406,9 @@ public class AbilityFactoryAlterLife { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryAlterLife.setLifeDoTriggerAI(af, this, mandatory); } + } + final SpellAbility dbSetLife = new DrawbackSetLife(af.getHostCard(), af.getAbTgt()); - }; return dbSetLife; } @@ -1558,7 +1668,19 @@ public class AbilityFactoryAlterLife { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityExchangeLife(final AbilityFactory af) { - final SpellAbility abExLife = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityExchangeLife extends AbilityActivated { + public AbilityExchangeLife(final Card ca, final Cost co, final Target t) { + super(ca, co, t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityExchangeLife(getSourceCard(), + getPayCosts(), getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 212548821691286311L; @Override @@ -1580,8 +1702,9 @@ public class AbilityFactoryAlterLife { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryAlterLife.exchangeLifeDoTriggerAI(af, this, mandatory); } + } + final SpellAbility abExLife = new AbilityExchangeLife(af.getHostCard(), af.getAbCost(), af.getAbTgt()); - }; return abExLife; } @@ -1627,7 +1750,19 @@ public class AbilityFactoryAlterLife { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackExchangeLife(final AbilityFactory af) { - final SpellAbility dbExLife = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackExchangeLife extends AbilitySub { + public DrawbackExchangeLife(final Card ca, final Target t) { + super(ca, t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackExchangeLife(getSourceCard(), + getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 6951913863491173483L; @Override @@ -1654,8 +1789,9 @@ public class AbilityFactoryAlterLife { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryAlterLife.exchangeLifeDoTriggerAI(af, this, mandatory); } + } + final SpellAbility dbExLife = new DrawbackExchangeLife(af.getHostCard(), af.getAbTgt()); - }; return dbExLife; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryAnimate.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryAnimate.java index 21baca469fb..1601915fe1f 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryAnimate.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryAnimate.java @@ -37,6 +37,8 @@ import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; +import forge.card.cardfactory.CardFactoryUtil; +import forge.card.cost.Cost; import forge.card.staticability.StaticAbility; import forge.card.trigger.Trigger; import forge.card.trigger.TriggerHandler; @@ -73,7 +75,19 @@ public final class AbilityFactoryAnimate { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityAnimate(final AbilityFactory af) { - final SpellAbility abAnimate = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityAnimate extends AbilityActivated { + public AbilityAnimate(final Card ca, final Cost co, final Target t) { + super(ca, co, t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityAnimate(getSourceCard(), + getPayCosts(), getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 1938171749867735155L; @Override @@ -95,7 +109,9 @@ public final class AbilityFactoryAnimate { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryAnimate.animateTriggerAI(af, this, mandatory); } - }; + } + final SpellAbility abAnimate = new AbilityAnimate(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abAnimate; } @@ -140,7 +156,19 @@ public final class AbilityFactoryAnimate { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackAnimate(final AbilityFactory af) { - final SpellAbility dbAnimate = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackAnimate extends AbilitySub { + public DrawbackAnimate(final Card ca, final Target t) { + super(ca, t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackAnimate(getSourceCard(), + getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -8659938411460952874L; @Override @@ -162,7 +190,8 @@ public final class AbilityFactoryAnimate { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryAnimate.animateTriggerAI(af, this, mandatory); } - }; + } + final SpellAbility dbAnimate = new DrawbackAnimate(af.getHostCard(), af.getAbTgt()); return dbAnimate; } @@ -221,73 +250,79 @@ public final class AbilityFactoryAnimate { sb.append(sa.getSourceCard().getName()).append(" - "); } - final Target tgt = sa.getTarget(); - ArrayList tgts; - if (tgt != null) { - tgts = tgt.getTargetCards(); - } else { - tgts = AbilityFactory.getDefinedCards(sa.getSourceCard(), params.get("Defined"), sa); + if (params.containsKey("StackDescription")) { + sb.append(params.get("StackDescription").replaceAll("CARDNAME", host.getName())); } + else { - for (final Card c : tgts) { - sb.append(c).append(" "); - } - sb.append("become"); - if (tgts.size() == 1) { - sb.append("s a"); - } - // if power is -1, we'll assume it's not just setting toughness - if (power != -1) { - sb.append(" ").append(power).append("/").append(toughness); - } + final Target tgt = sa.getTarget(); + ArrayList tgts; + if (tgt != null) { + tgts = tgt.getTargetCards(); + } else { + tgts = AbilityFactory.getDefinedCards(sa.getSourceCard(), params.get("Defined"), sa); + } - if (colors.size() > 0) { + for (final Card c : tgts) { + sb.append(c).append(" "); + } + sb.append("become"); + if (tgts.size() == 1) { + sb.append("s a"); + } + // if power is -1, we'll assume it's not just setting toughness + if (power != -1) { + sb.append(" ").append(power).append("/").append(toughness); + } + + if (colors.size() > 0) { + sb.append(" "); + } + if (colors.contains("ChosenColor")) { + sb.append("color of that player's choice"); + } else { + for (int i = 0; i < colors.size(); i++) { + sb.append(colors.get(i)); + if (i < (colors.size() - 1)) { + sb.append(" and "); + } + } + } sb.append(" "); - } - if (colors.contains("ChosenColor")) { - sb.append("color of that player's choice"); - } else { - for (int i = 0; i < colors.size(); i++) { - sb.append(colors.get(i)); - if (i < (colors.size() - 1)) { + if (types.contains("ChosenType")) { + sb.append("type of player's choice "); + } else { + for (int i = types.size() - 1; i >= 0; i--) { + sb.append(types.get(i)); + sb.append(" "); + } + } + if (keywords.size() > 0) { + sb.append("with "); + } + for (int i = 0; i < keywords.size(); i++) { + sb.append(keywords.get(i)); + if (i < (keywords.size() - 1)) { sb.append(" and "); } } - } - sb.append(" "); - if (types.contains("ChosenType")) { - sb.append("type of player's choice "); - } else { - for (int i = types.size() - 1; i >= 0; i--) { - sb.append(types.get(i)); - sb.append(" "); - } - } - if (keywords.size() > 0) { - sb.append("with "); - } - for (int i = 0; i < keywords.size(); i++) { - sb.append(keywords.get(i)); - if (i < (keywords.size() - 1)) { - sb.append(" and "); - } - } - // sb.append(abilities) - // sb.append(triggers) - if (!permanent) { - if (params.containsKey("UntilEndOfCombat")) { - sb.append(" until end of combat."); - } else if (params.containsKey("UntilHostLeavesPlay")) { - sb.append(" until ").append(host).append(" leaves the battlefield."); - } else if (params.containsKey("UntilYourNextUpkeep")) { - sb.append(" until your next upkeep."); - } else if (params.containsKey("UntilControllerNextUntap")) { - sb.append(" until its controller's next untap step."); + // sb.append(abilities) + // sb.append(triggers) + if (!permanent) { + if (params.containsKey("UntilEndOfCombat")) { + sb.append(" until end of combat."); + } else if (params.containsKey("UntilHostLeavesPlay")) { + sb.append(" until ").append(host).append(" leaves the battlefield."); + } else if (params.containsKey("UntilYourNextUpkeep")) { + sb.append(" until your next upkeep."); + } else if (params.containsKey("UntilControllerNextUntap")) { + sb.append(" until its controller's next untap step."); + } else { + sb.append(" until end of turn."); + } } else { - sb.append(" until end of turn."); + sb.append("."); } - } else { - sb.append("."); } final AbilitySub abSub = sa.getSubAbility(); @@ -964,7 +999,19 @@ public final class AbilityFactoryAnimate { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityAnimateAll(final AbilityFactory af) { - final SpellAbility abAnimateAll = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityAnimateAll extends AbilityActivated { + public AbilityAnimateAll(final Card ca, final Cost co, final Target t) { + super(ca, co, t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityAnimateAll(getSourceCard(), + getPayCosts(), getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -4969632476557290609L; @Override @@ -986,7 +1033,9 @@ public final class AbilityFactoryAnimate { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryAnimate.animateAllTriggerAI(af, this, mandatory); } - }; + } + final SpellAbility abAnimateAll = new AbilityAnimateAll(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abAnimateAll; } @@ -1031,7 +1080,19 @@ public final class AbilityFactoryAnimate { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackAnimateAll(final AbilityFactory af) { - final SpellAbility dbAnimateAll = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackAnimateAll extends AbilitySub { + public DrawbackAnimateAll(final Card ca, final Target t) { + super(ca, t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackAnimateAll(getSourceCard(), + getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 2056843302051205632L; @Override @@ -1053,7 +1114,9 @@ public final class AbilityFactoryAnimate { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryAnimate.animateAllTriggerAI(af, this, mandatory); } - }; + } + final SpellAbility dbAnimateAll = new DrawbackAnimateAll(af.getHostCard(), af.getAbTgt()); + return dbAnimateAll; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryAttach.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryAttach.java index f7211c49c87..7f1b03bd259 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryAttach.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryAttach.java @@ -140,8 +140,19 @@ public class AbilityFactoryAttach { * @return the spell ability */ public static SpellAbility createAbilityAttach(final AbilityFactory abilityFactory) { - final SpellAbility abAttach = new AbilityActivated(abilityFactory.getHostCard(), abilityFactory.getAbCost(), - abilityFactory.getAbTgt()) { + class AbilityAttach extends AbilityActivated { + public AbilityAttach(final Card ca, final Cost co, final Target t) { + super(ca, co, t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityAttach(getSourceCard(), + getPayCosts(), getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 2116313811316915141L; @Override @@ -163,8 +174,9 @@ public class AbilityFactoryAttach { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryAttach.attachDoTriggerAI(abilityFactory, this, mandatory); } - - }; // SpellAbility + } + final SpellAbility abAttach = new AbilityAttach(abilityFactory.getHostCard(), abilityFactory.getAbCost(), + abilityFactory.getAbTgt()); return abAttach; } @@ -178,7 +190,19 @@ public class AbilityFactoryAttach { * @return the spell ability */ public static SpellAbility createDrawbackAttach(final AbilityFactory abilityFactory) { - final SpellAbility dbAttach = new AbilitySub(abilityFactory.getHostCard(), abilityFactory.getAbTgt()) { + class DrawbackAttach extends AbilitySub { + public DrawbackAttach(final Card ca, final Target t) { + super(ca, t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackAttach(getSourceCard(), + getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 7211414518191821125L; private final AbilityFactory af = abilityFactory; @@ -210,8 +234,9 @@ public class AbilityFactoryAttach { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryAttach.attachDoTriggerAI(this.af, this, mandatory); } + } + final SpellAbility dbAttach = new DrawbackAttach(abilityFactory.getHostCard(), abilityFactory.getAbTgt()); - }; return dbAttach; } @@ -1266,7 +1291,19 @@ public class AbilityFactoryAttach { * @return the spell ability */ public static SpellAbility createAbilityUnattachAll(final AbilityFactory af) { - final SpellAbility abUnattachAll = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityUnattachAll extends AbilityActivated { + public AbilityUnattachAll(final Card ca, final Cost co, final Target t) { + super(ca, co, t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityUnattachAll(getSourceCard(), + getPayCosts(), getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 5946312226232487294L; @Override @@ -1288,7 +1325,9 @@ public class AbilityFactoryAttach { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryAttach.unattachAllDoTriggerAI(af, this, mandatory); } - }; + } + final SpellAbility abUnattachAll = new AbilityUnattachAll(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abUnattachAll; } @@ -1330,7 +1369,19 @@ public class AbilityFactoryAttach { * @return the spell ability */ public static SpellAbility createDrawbackUnattachAll(final AbilityFactory af) { - final SpellAbility dbUnattachAll = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackUnattachAll extends AbilitySub { + public DrawbackUnattachAll(final Card ca, final Target t) { + super(ca, t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackUnattachAll(getSourceCard(), + getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 9007743612927046143L; @Override @@ -1352,7 +1403,9 @@ public class AbilityFactoryAttach { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryAttach.unattachAllDoTriggerAI(af, this, mandatory); } - }; + } + final SpellAbility dbUnattachAll = new DrawbackUnattachAll(af.getHostCard(), af.getAbTgt()); + return dbUnattachAll; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryBond.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryBond.java index e07f7e0003d..a29d23056e4 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryBond.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryBond.java @@ -25,6 +25,9 @@ import forge.CardList; import forge.card.spellability.AbilityActivated; import forge.card.spellability.AbilitySub; import forge.card.spellability.SpellAbility; +import forge.card.spellability.Target; +import forge.card.cardfactory.CardFactoryUtil; +import forge.card.cost.Cost; import forge.game.player.ComputerUtil; import forge.game.zone.ZoneType; import forge.gui.GuiUtils; @@ -57,7 +60,19 @@ public final class AbilityFactoryBond { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityBond(final AbilityFactory af) { - final SpellAbility abBond = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityBond extends AbilityActivated { + public AbilityBond(final Card ca, final Cost co, final Target t) { + super(ca, co, t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityBond(getSourceCard(), + getPayCosts(), getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 1938171749867735256L; @Override @@ -79,7 +94,9 @@ public final class AbilityFactoryBond { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryBond.bondTriggerAI(af, this, mandatory); } - }; + } + final SpellAbility abBond = new AbilityBond(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abBond; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java index 3ca8415d720..e11ef76232e 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java @@ -80,7 +80,20 @@ public final class AbilityFactoryChangeZone { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityChangeZone(final AbilityFactory af) { - final SpellAbility abChangeZone = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityChangeZone extends AbilityActivated { + public AbilityChangeZone(final Card ca, final Cost co, final Target t) { + super(ca, co, t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityChangeZone(getSourceCard(), + getPayCosts(), getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + AbilityFactoryChangeZone.setMiscellaneous(af, res); + return res; + } + private static final long serialVersionUID = 3728332812890211671L; @Override @@ -102,8 +115,9 @@ public final class AbilityFactoryChangeZone { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryChangeZone.changeZoneTriggerAI(af, this, mandatory); } + } + final SpellAbility abChangeZone = new AbilityChangeZone(af.getHostCard(), af.getAbCost(), af.getAbTgt()); - }; AbilityFactoryChangeZone.setMiscellaneous(af, abChangeZone); return abChangeZone; } @@ -158,7 +172,19 @@ public final class AbilityFactoryChangeZone { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackChangeZone(final AbilityFactory af) { - final SpellAbility dbChangeZone = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackChangeZone extends AbilitySub { + public DrawbackChangeZone(final Card ca, final Target t) { + super(ca, t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackChangeZone(getSourceCard(), + getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + AbilityFactoryChangeZone.setMiscellaneous(af, res); + return res; + } private static final long serialVersionUID = 3270484211099902059L; @Override @@ -185,7 +211,9 @@ public final class AbilityFactoryChangeZone { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryChangeZone.changeZoneTriggerAI(af, this, mandatory); } - }; + } + final SpellAbility dbChangeZone = new DrawbackChangeZone(af.getHostCard(), af.getAbTgt()); + AbilityFactoryChangeZone.setMiscellaneous(af, dbChangeZone); return dbChangeZone; } @@ -866,7 +894,8 @@ public final class AbilityFactoryChangeZone { if (!params.containsKey("ChangeNum")) { changeNum = fetchList.size(); } - } else if (!origin.contains(ZoneType.Library) && !origin.contains(ZoneType.Hand)) { + } else if (!origin.contains(ZoneType.Library) && !origin.contains(ZoneType.Hand) + && !params.containsKey("DefinedPlayer")) { fetchList = AllZoneUtil.getCardsIn(origin); } else { fetchList = player.getCardsIn(origin); @@ -1042,7 +1071,8 @@ public final class AbilityFactoryChangeZone { if (!params.containsKey("ChangeNum")) { changeNum = fetchList.size(); } - } else if (!origin.contains(ZoneType.Library) && !origin.contains(ZoneType.Hand)) { + } else if (!origin.contains(ZoneType.Library) && !origin.contains(ZoneType.Hand) + && !params.containsKey("DefinedPlayer")) { fetchList = AllZoneUtil.getCardsIn(origin); fetchList = AbilityFactory.filterListByType(fetchList, type, sa); } else { @@ -2168,7 +2198,20 @@ public final class AbilityFactoryChangeZone { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityChangeZoneAll(final AbilityFactory af) { - final SpellAbility abChangeZone = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityChangeZoneAll extends AbilityActivated { + public AbilityChangeZoneAll(final Card ca, final Cost co, final Target t) { + super(ca, co, t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityChangeZoneAll(getSourceCard(), + getPayCosts(), getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + AbilityFactoryChangeZone.setMiscellaneous(af, res); + return res; + } + private static final long serialVersionUID = 3728332812890211671L; @Override @@ -2190,8 +2233,9 @@ public final class AbilityFactoryChangeZone { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryChangeZone.changeZoneAllDoTriggerAI(af, this, mandatory); } + } + final SpellAbility abChangeZone = new AbilityChangeZoneAll(af.getHostCard(), af.getAbCost(), af.getAbTgt()); - }; AbilityFactoryChangeZone.setMiscellaneous(af, abChangeZone); return abChangeZone; } @@ -2246,7 +2290,20 @@ public final class AbilityFactoryChangeZone { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackChangeZoneAll(final AbilityFactory af) { - final SpellAbility dbChangeZone = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackChangeZoneAll extends AbilitySub { + public DrawbackChangeZoneAll(final Card ca, final Target t) { + super(ca, t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackChangeZoneAll(getSourceCard(), + getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + AbilityFactoryChangeZone.setMiscellaneous(af, res); + return res; + } + private static final long serialVersionUID = 3270484211099902059L; @Override @@ -2273,7 +2330,9 @@ public final class AbilityFactoryChangeZone { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryChangeZone.changeZoneAllDoTriggerAI(af, this, mandatory); } - }; + } + final SpellAbility dbChangeZone = new DrawbackChangeZoneAll(af.getHostCard(), af.getAbTgt()); + AbilityFactoryChangeZone.setMiscellaneous(af, dbChangeZone); return dbChangeZone; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryCharm.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryCharm.java index f68727e4129..122ae4f7273 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryCharm.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryCharm.java @@ -27,6 +27,9 @@ import forge.card.spellability.AbilityActivated; import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; +import forge.card.spellability.Target; +import forge.card.cardfactory.CardFactoryUtil; +import forge.card.cost.Cost; import forge.gui.GuiUtils; import forge.util.MyRandom; @@ -56,7 +59,18 @@ public final class AbilityFactoryCharm { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityCharm(final AbilityFactory af) { - final SpellAbility abCharm = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityCharm extends AbilityActivated { + public AbilityCharm(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityCharm(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -4038591081733095021L; @Override @@ -78,7 +92,8 @@ public final class AbilityFactoryCharm { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCharm.charmCanPlayAI(af, this, mandatory); } - }; // Ability_Activated + } + final SpellAbility abCharm = new AbilityCharm(af.getHostCard(), af.getAbCost(), af.getAbTgt()); return abCharm; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java index b8c0d33cdf2..fbf044496ee 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java @@ -42,6 +42,7 @@ import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; +import forge.card.cost.Cost; import forge.game.player.ComputerUtil; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -78,8 +79,18 @@ public final class AbilityFactoryChoose { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityChooseType(final AbilityFactory af) { - - final SpellAbility abChooseType = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityChooseType extends AbilityActivated { + public AbilityChooseType(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityChooseType(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -7734286034988741837L; @Override @@ -101,8 +112,9 @@ public final class AbilityFactoryChoose { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryChoose.chooseTypeTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abChooseType = new AbilityChooseType(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abChooseType; } @@ -148,7 +160,18 @@ public final class AbilityFactoryChoose { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackChooseType(final AbilityFactory af) { - final SpellAbility dbChooseType = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackChooseType extends AbilitySub { + public DrawbackChooseType(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackChooseType(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 5555184803257696143L; @Override @@ -170,8 +193,9 @@ public final class AbilityFactoryChoose { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryChoose.chooseTypeTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbChooseType = new DrawbackChooseType(af.getHostCard(), af.getAbTgt()); + return dbChooseType; } @@ -442,8 +466,18 @@ public final class AbilityFactoryChoose { * @since 1.0.15 */ public static SpellAbility createAbilityChooseColor(final AbilityFactory af) { - - final SpellAbility abChooseColor = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityChooseColor extends AbilityActivated { + public AbilityChooseColor(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityChooseColor(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 7069068165774633355L; @Override @@ -465,8 +499,9 @@ public final class AbilityFactoryChoose { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryChoose.chooseColorTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abChooseColor = new AbilityChooseColor(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abChooseColor; } @@ -514,7 +549,18 @@ public final class AbilityFactoryChoose { * @since 1.0.15 */ public static SpellAbility createDrawbackChooseColor(final AbilityFactory af) { - final SpellAbility dbChooseColor = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackChooseColor extends AbilitySub { + public DrawbackChooseColor(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackChooseColor(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 6969618586164278998L; @Override @@ -536,8 +582,9 @@ public final class AbilityFactoryChoose { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryChoose.chooseColorTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbChooseColor = new DrawbackChooseColor(af.getHostCard(), af.getAbTgt()); + return dbChooseColor; } @@ -729,8 +776,18 @@ public final class AbilityFactoryChoose { * @since 1.1.6 */ public static SpellAbility createAbilityChooseNumber(final AbilityFactory af) { - - final SpellAbility abChooseNumber = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityChooseNumber extends AbilityActivated { + public AbilityChooseNumber(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityChooseNumber(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -8268155210011368749L; @Override @@ -752,8 +809,9 @@ public final class AbilityFactoryChoose { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryChoose.chooseNumberTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abChooseNumber = new AbilityChooseNumber(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abChooseNumber; } @@ -801,7 +859,18 @@ public final class AbilityFactoryChoose { * @since 1.1.6 */ public static SpellAbility createDrawbackChooseNumber(final AbilityFactory af) { - final SpellAbility dbChooseNumber = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackChooseNumber extends AbilitySub { + public DrawbackChooseNumber(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackChooseNumber(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -1339609900364066904L; @Override @@ -823,8 +892,9 @@ public final class AbilityFactoryChoose { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryChoose.chooseNumberTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbChooseNumber = new DrawbackChooseNumber(af.getHostCard(), af.getAbTgt()); + return dbChooseNumber; } @@ -1000,8 +1070,18 @@ public final class AbilityFactoryChoose { * @since 1.1.6 */ public static SpellAbility createAbilityChoosePlayer(final AbilityFactory af) { - final SpellAbility abChoosePlayer = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { - + class AbilityChoosePlayer extends AbilityActivated { + public AbilityChoosePlayer(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityChoosePlayer(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 7502903475594562552L; @Override @@ -1023,8 +1103,9 @@ public final class AbilityFactoryChoose { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryChoose.choosePlayerTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abChoosePlayer = new AbilityChoosePlayer(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abChoosePlayer; } @@ -1073,8 +1154,18 @@ public final class AbilityFactoryChoose { * @since 1.1.6 */ public static SpellAbility createDrawbackChoosePlayer(final AbilityFactory af) { - final SpellAbility dbChoosePlayer = new AbilitySub(af.getHostCard(), af.getAbTgt()) { - + class DrawbackChoosePlayer extends AbilitySub { + public DrawbackChoosePlayer(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackChoosePlayer(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -766158106632103029L; @Override @@ -1096,8 +1187,9 @@ public final class AbilityFactoryChoose { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryChoose.choosePlayerTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbChoosePlayer = new DrawbackChoosePlayer(af.getHostCard(), af.getAbTgt()); + return dbChoosePlayer; } @@ -1241,7 +1333,18 @@ public final class AbilityFactoryChoose { * @since 1.1.6 */ public static SpellAbility createAbilityNameCard(final AbilityFactory af) { - final SpellAbility abNameCard = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityNameCard extends AbilityActivated { + public AbilityNameCard(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityNameCard(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 1748714246609515354L; @Override @@ -1263,8 +1366,9 @@ public final class AbilityFactoryChoose { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryChoose.nameCardTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abNameCard = new AbilityNameCard(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abNameCard; } @@ -1312,7 +1416,18 @@ public final class AbilityFactoryChoose { * @since 1.1.6 */ public static SpellAbility createDrawbackNameCard(final AbilityFactory af) { - final SpellAbility dbNameCard = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackNameCard extends AbilitySub { + public DrawbackNameCard(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackNameCard(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -7647726271751061495L; @Override @@ -1334,8 +1449,9 @@ public final class AbilityFactoryChoose { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryChoose.nameCardTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbNameCard = new DrawbackNameCard(af.getHostCard(), af.getAbTgt()); + return dbNameCard; } @@ -1547,7 +1663,18 @@ public final class AbilityFactoryChoose { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityChooseCard(final AbilityFactory af) { - final SpellAbility abChooseCard = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityChooseCard extends AbilityActivated { + public AbilityChooseCard(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityChooseCard(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 2399435577106102311L; @Override @@ -1569,8 +1696,9 @@ public final class AbilityFactoryChoose { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryChoose.chooseCardTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abChooseCard = new AbilityChooseCard(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abChooseCard; } @@ -1617,7 +1745,18 @@ public final class AbilityFactoryChoose { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackChooseCard(final AbilityFactory af) { - final SpellAbility dbChooseCard = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackChooseCard extends AbilitySub { + public DrawbackChooseCard(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackChooseCard(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -3255569671897226555L; @Override @@ -1639,8 +1778,9 @@ public final class AbilityFactoryChoose { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryChoose.chooseCardTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbChooseCard = new DrawbackChooseCard(af.getHostCard(), af.getAbTgt()); + return dbChooseCard; } @@ -1816,8 +1956,18 @@ public final class AbilityFactoryChoose { * @since 1.2.4 */ public static SpellAbility createAbilityChooseGeneric(final AbilityFactory af) { - - final SpellAbility abChooseGeneric = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityChooseGeneric extends AbilityActivated { + public AbilityChooseGeneric(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityChooseGeneric(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -459173435583208151L; @Override @@ -1839,8 +1989,9 @@ public final class AbilityFactoryChoose { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryChoose.chooseGenericTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abChooseGeneric = new AbilityChooseGeneric(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abChooseGeneric; } @@ -1890,7 +2041,18 @@ public final class AbilityFactoryChoose { * @since 1.2.4 */ public static SpellAbility createDrawbackChooseGeneric(final AbilityFactory af) { - final SpellAbility dbChooseGeneric = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackChooseGeneric extends AbilitySub { + public DrawbackChooseGeneric(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackChooseGeneric(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 1586980855969921641L; @Override @@ -1912,8 +2074,9 @@ public final class AbilityFactoryChoose { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryChoose.chooseGenericTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbChooseGeneric = new DrawbackChooseGeneric(af.getHostCard(), af.getAbTgt()); + return dbChooseGeneric; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryClash.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryClash.java index 90117b2798f..10103579827 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryClash.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryClash.java @@ -33,6 +33,7 @@ import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; +import forge.card.cost.Cost; import forge.card.trigger.TriggerType; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -62,8 +63,19 @@ public final class AbilityFactoryClash { * @return a {@link forge.card.spellability.SpellAbility} object. * @since 1.0.15 */ - public static SpellAbility getAbilityClash(final AbilityFactory af) { - final SpellAbility abClash = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + public static SpellAbility createAbilityClash(final AbilityFactory af) { + class AbilityClash extends AbilityActivated { + public AbilityClash(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityClash(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -8019637116128196248L; @Override @@ -85,7 +97,8 @@ public final class AbilityFactoryClash { public void resolve() { AbilityFactoryClash.clashResolve(af, this); } - }; + } + final SpellAbility abClash = new AbilityClash(af.getHostCard(), af.getAbCost(), af.getAbTgt()); return abClash; } @@ -100,7 +113,7 @@ public final class AbilityFactoryClash { * @return a {@link forge.card.spellability.SpellAbility} object. * @since 1.0.15 */ - public static SpellAbility getSpellClash(final AbilityFactory af) { + public static SpellAbility createSpellClash(final AbilityFactory af) { final SpellAbility spClash = new Spell(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { private static final long serialVersionUID = -4991665176268317172L; @@ -138,8 +151,19 @@ public final class AbilityFactoryClash { * @return a {@link forge.card.spellability.SpellAbility} object. * @since 1.0.15 */ - public static SpellAbility getDrawbackClash(final AbilityFactory af) { - final SpellAbility dbClash = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + public static SpellAbility createDrawbackClash(final AbilityFactory af) { + class DrawbackClash extends AbilitySub { + public DrawbackClash(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackClash(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -3850086157052881360L; @Override @@ -166,8 +190,9 @@ public final class AbilityFactoryClash { public void resolve() { AbilityFactoryClash.clashResolve(af, this); } - }; - + } + final SpellAbility dbClash = new DrawbackClash(af.getHostCard(), af.getAbTgt()); + return dbClash; } @@ -241,7 +266,18 @@ public final class AbilityFactoryClash { * @since 1.0.15 */ public static SpellAbility createAbilityFlip(final AbilityFactory af) { - final SpellAbility abFlip = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityFlip extends AbilityActivated { + public AbilityFlip(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityFlip(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -8293336773930687488L; @Override @@ -263,7 +299,8 @@ public final class AbilityFactoryClash { public void resolve() { AbilityFactoryClash.flipResolve(af, this); } - }; + } + final SpellAbility abFlip = new AbilityFlip(af.getHostCard(), af.getAbCost(), af.getAbTgt()); return abFlip; } @@ -317,7 +354,18 @@ public final class AbilityFactoryClash { * @since 1.0.15 */ public static SpellAbility createDrawbackFlip(final AbilityFactory af) { - final SpellAbility dbFlip = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackFlip extends AbilitySub { + public DrawbackFlip(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackFlip(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 8581978154811461324L; @Override @@ -344,7 +392,8 @@ public final class AbilityFactoryClash { public void resolve() { AbilityFactoryClash.flipResolve(af, this); } - }; + } + final SpellAbility dbFlip = new DrawbackFlip(af.getHostCard(), af.getAbTgt()); return dbFlip; } @@ -458,7 +507,18 @@ public final class AbilityFactoryClash { * @since 1.1.7 */ public static SpellAbility createAbilityTwoPiles(final AbilityFactory af) { - final SpellAbility abTwoPiles = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityTwoPiles extends AbilityActivated { + public AbilityTwoPiles(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityTwoPiles(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -2700390539969188516L; @Override @@ -480,8 +540,9 @@ public final class AbilityFactoryClash { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryClash.twoPilesTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abTwoPiles = new AbilityTwoPiles(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abTwoPiles; } @@ -529,7 +590,18 @@ public final class AbilityFactoryClash { * @since 1.1.7 */ public static SpellAbility createDrawbackTwoPiles(final AbilityFactory af) { - final SpellAbility dbTwoPiles = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackTwoPiles extends AbilitySub { + public DrawbackTwoPiles(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackTwoPiles(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 7486255949274716808L; @Override @@ -551,8 +623,9 @@ public final class AbilityFactoryClash { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryClash.twoPilesTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbTwoPiles = new DrawbackTwoPiles(af.getHostCard(), af.getAbTgt()); + return dbTwoPiles; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryCleanup.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryCleanup.java index 6fbb4072007..326e033102a 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryCleanup.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryCleanup.java @@ -22,8 +22,10 @@ import java.util.HashMap; import forge.AllZone; import forge.AllZoneUtil; import forge.Card; +import forge.card.cardfactory.CardFactoryUtil; import forge.card.spellability.AbilitySub; import forge.card.spellability.SpellAbility; +import forge.card.spellability.Target; // Cleanup is not the same as other AFs, it is only used as a Drawback, and only used to Cleanup particular card states // That need to be reset. I'm creating this to clear Remembered Cards at the @@ -53,7 +55,18 @@ public final class AbilityFactoryCleanup { * @return a {@link forge.card.spellability.AbilitySub} object. */ public static AbilitySub getDrawback(final AbilityFactory af) { - final AbilitySub drawback = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackCleanup extends AbilitySub { + public DrawbackCleanup(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackCleanup(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 6192972525033429820L; @Override @@ -70,7 +83,8 @@ public final class AbilityFactoryCleanup { public void resolve() { AbilityFactoryCleanup.doResolve(af, this); } - }; + } + final AbilitySub drawback = new DrawbackCleanup(af.getHostCard(), af.getAbTgt()); return drawback; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryCombat.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryCombat.java index bba85d4899d..2e87d3193ef 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryCombat.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryCombat.java @@ -31,6 +31,7 @@ import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; +import forge.card.cost.Cost; import forge.game.phase.CombatUtil; import forge.game.phase.PhaseType; import forge.game.player.ComputerUtil; @@ -65,7 +66,18 @@ public final class AbilityFactoryCombat { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityFog(final AbilityFactory af) { - final SpellAbility abFog = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityFog extends AbilityActivated { + public AbilityFog(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityFog(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -1933592438783630254L; @Override @@ -89,8 +101,9 @@ public final class AbilityFactoryCombat { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCombat.fogDoTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abFog = new AbilityFog(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abFog; } @@ -138,7 +151,18 @@ public final class AbilityFactoryCombat { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackFog(final AbilityFactory af) { - final SpellAbility dbFog = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackFog extends AbilitySub { + public DrawbackFog(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackFog(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -5141246507533353605L; @Override @@ -155,8 +179,9 @@ public final class AbilityFactoryCombat { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCombat.fogDoTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbFog = new DrawbackFog(af.getHostCard(), af.getAbTgt()); + return dbFog; } @@ -330,7 +355,18 @@ public final class AbilityFactoryCombat { * @since 1.1.01 */ public static SpellAbility createAbilityMustAttack(final AbilityFactory af) { - final SpellAbility abMustAttack = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityMustAttack extends AbilityActivated { + public AbilityMustAttack(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityMustAttack(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 4559154732470225755L; @Override @@ -352,8 +388,9 @@ public final class AbilityFactoryCombat { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCombat.mustAttackDoTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abMustAttack = new AbilityMustAttack(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abMustAttack; } @@ -399,7 +436,18 @@ public final class AbilityFactoryCombat { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackMustAttack(final AbilityFactory af) { - final SpellAbility dbMustAttack = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackMustAttack extends AbilitySub { + public DrawbackMustAttack(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackMustAttack(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 1294949210616598158L; @Override @@ -416,8 +464,9 @@ public final class AbilityFactoryCombat { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCombat.mustAttackDoTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbMustAttack = new DrawbackMustAttack(af.getHostCard(), af.getAbTgt()); + return dbMustAttack; } @@ -547,7 +596,18 @@ public final class AbilityFactoryCombat { * @since 1.1.6 */ public static SpellAbility createAbilityRemoveFromCombat(final AbilityFactory af) { - final SpellAbility abRemCombat = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityRemoveFromCombat extends AbilityActivated { + public AbilityRemoveFromCombat(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityRemoveFromCombat(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -2472319390656924874L; @Override @@ -569,8 +629,9 @@ public final class AbilityFactoryCombat { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCombat.removeFromCombatDoTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abRemCombat = new AbilityRemoveFromCombat(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abRemCombat; } @@ -616,7 +677,18 @@ public final class AbilityFactoryCombat { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackRemoveFromCombat(final AbilityFactory af) { - final SpellAbility dbRemCombat = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackRemoveFromCombat extends AbilitySub { + public DrawbackRemoveFromCombat(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackRemoveFromCombat(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 5080737903616292224L; @Override @@ -633,8 +705,9 @@ public final class AbilityFactoryCombat { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCombat.removeFromCombatDoTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbRemCombat = new DrawbackRemoveFromCombat(af.getHostCard(), af.getAbTgt()); + return dbRemCombat; } @@ -757,7 +830,18 @@ public final class AbilityFactoryCombat { * @since 1.1.6 */ public static SpellAbility createAbilityMustBlock(final AbilityFactory af) { - final SpellAbility abMustBlock = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityMustBlock extends AbilityActivated { + public AbilityMustBlock(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityMustBlock(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 4237190949098526123L; @Override @@ -779,8 +863,9 @@ public final class AbilityFactoryCombat { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCombat.mustBlockDoTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abMustBlock = new AbilityMustBlock(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abMustBlock; } @@ -830,7 +915,18 @@ public final class AbilityFactoryCombat { * @since 1.1.6 */ public static SpellAbility createDrawbackMustBlock(final AbilityFactory af) { - final SpellAbility dbMustBlock = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackMustBlock extends AbilitySub { + public DrawbackMustBlock(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackMustBlock(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -815813765448972775L; @Override @@ -847,8 +943,9 @@ public final class AbilityFactoryCombat { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCombat.mustBlockDoTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbMustBlock = new DrawbackMustBlock(af.getHostCard(), af.getAbTgt()); + return dbMustBlock; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryCopy.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryCopy.java index e69cfb2722b..428fa16208c 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryCopy.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryCopy.java @@ -31,6 +31,7 @@ import forge.CardList; import forge.CardListFilter; import forge.Command; import forge.Singletons; +import forge.card.cost.Cost; import forge.card.cardfactory.CardFactoryUtil; import forge.card.spellability.Ability; import forge.card.spellability.AbilityActivated; @@ -74,8 +75,18 @@ public final class AbilityFactoryCopy { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityCopyPermanent(final AbilityFactory af) { - - final SpellAbility abCopyPermanent = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityCopyPermanent extends AbilityActivated { + public AbilityCopyPermanent(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityCopyPermanent(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 4557071554433108024L; @Override @@ -97,8 +108,8 @@ public final class AbilityFactoryCopy { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCopy.copyPermanentTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abCopyPermanent = new AbilityCopyPermanent(af.getHostCard(), af.getAbCost(), af.getAbTgt()); return abCopyPermanent; } @@ -144,7 +155,18 @@ public final class AbilityFactoryCopy { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackCopyPermanent(final AbilityFactory af) { - final SpellAbility dbCopyPermanent = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackCopyPermanent extends AbilitySub { + public DrawbackCopyPermanent(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackCopyPermanent(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -7725564505830285184L; @Override @@ -166,8 +188,9 @@ public final class AbilityFactoryCopy { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCopy.copyPermanentTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbCopyPermanent = new DrawbackCopyPermanent(af.getHostCard(), af.getAbTgt()); + return dbCopyPermanent; } @@ -501,8 +524,18 @@ public final class AbilityFactoryCopy { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityCopySpell(final AbilityFactory af) { - - final SpellAbility abCopySpell = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityCopySpell extends AbilityActivated { + public AbilityCopySpell(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityCopySpell(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 5232548517225345052L; @Override @@ -524,8 +557,9 @@ public final class AbilityFactoryCopy { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCopy.copySpellTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abCopySpell = new AbilityCopySpell(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abCopySpell; } @@ -579,7 +613,18 @@ public final class AbilityFactoryCopy { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackCopySpell(final AbilityFactory af) { - final SpellAbility dbCopySpell = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackCopySpell extends AbilitySub { + public DrawbackCopySpell(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackCopySpell(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 1927508119173644632L; @Override @@ -601,8 +646,9 @@ public final class AbilityFactoryCopy { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCopy.copySpellTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbCopySpell = new DrawbackCopySpell(af.getHostCard(), af.getAbTgt()); + return dbCopySpell; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryCounterMagic.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryCounterMagic.java index b560f3c2944..812c9a53255 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryCounterMagic.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryCounterMagic.java @@ -95,8 +95,18 @@ public class AbilityFactoryCounterMagic { * @return a {@link forge.card.spellability.SpellAbility} object. */ public final SpellAbility getAbilityCounter(final AbilityFactory abilityFactory) { - final SpellAbility abCounter = new AbilityActivated(abilityFactory.getHostCard(), abilityFactory.getAbCost(), - abilityFactory.getAbTgt()) { + class AbilityCounter extends AbilityActivated { + public AbilityCounter(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityCounter(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -3895990436431818899L; @Override @@ -121,8 +131,9 @@ public class AbilityFactoryCounterMagic { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCounterMagic.this.counterCanPlayAI(AbilityFactoryCounterMagic.this.af, this); } - - }; + } + final SpellAbility abCounter = new AbilityCounter(abilityFactory.getHostCard(), abilityFactory.getAbCost(), + abilityFactory.getAbTgt()); return abCounter; } @@ -171,7 +182,18 @@ public class AbilityFactoryCounterMagic { * @return a {@link forge.card.spellability.SpellAbility} object. */ public final SpellAbility getDrawbackCounter(final AbilityFactory abilityFactory) { - final SpellAbility dbCounter = new AbilitySub(abilityFactory.getHostCard(), abilityFactory.getAbTgt()) { + class DrawbackCounter extends AbilitySub { + public DrawbackCounter(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackCounter(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -4272851734871573693L; @Override @@ -201,8 +223,9 @@ public class AbilityFactoryCounterMagic { return AbilityFactoryCounterMagic.this.counterDoTriggerAI(AbilityFactoryCounterMagic.this.af, this, mandatory); } - - }; + } + final SpellAbility dbCounter = new DrawbackCounter(abilityFactory.getHostCard(), abilityFactory.getAbTgt()); + return dbCounter; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java index 0542c29dc53..2b7c50b0b4a 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java @@ -75,8 +75,18 @@ public class AbilityFactoryCounters { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityPutCounters(final AbilityFactory af) { - - final SpellAbility abPutCounter = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityPutCounters extends AbilityActivated { + public AbilityPutCounters(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityPutCounters(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -1259638699008542484L; @Override @@ -98,8 +108,9 @@ public class AbilityFactoryCounters { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCounters.putDoTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abPutCounter = new AbilityPutCounters(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abPutCounter; } @@ -158,7 +169,18 @@ public class AbilityFactoryCounters { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackPutCounters(final AbilityFactory af) { - final SpellAbility dbPutCounter = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackPutCounters extends AbilitySub { + public DrawbackPutCounters(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackPutCounters(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -323471693082498224L; @Override @@ -185,8 +207,9 @@ public class AbilityFactoryCounters { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCounters.putDoTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbPutCounter = new DrawbackPutCounters(af.getHostCard(), af.getAbTgt()); + return dbPutCounter; } @@ -753,7 +776,18 @@ public class AbilityFactoryCounters { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityRemoveCounters(final AbilityFactory af) { - final SpellAbility abRemCounter = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityRemoveCounters extends AbilityActivated { + public AbilityRemoveCounters(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityRemoveCounters(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 8581011868395954121L; @Override @@ -775,8 +809,9 @@ public class AbilityFactoryCounters { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCounters.removeDoTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abRemCounter = new AbilityRemoveCounters(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abRemCounter; } @@ -827,7 +862,18 @@ public class AbilityFactoryCounters { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackRemoveCounters(final AbilityFactory af) { - final SpellAbility spRemoveCounter = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackRemoveCounters extends AbilitySub { + public DrawbackRemoveCounters(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackRemoveCounters(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -5065591869141835456L; @Override @@ -849,8 +895,9 @@ public class AbilityFactoryCounters { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCounters.removeDoTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility spRemoveCounter = new DrawbackRemoveCounters(af.getHostCard(), af.getAbTgt()); + return spRemoveCounter; } @@ -1212,7 +1259,18 @@ public class AbilityFactoryCounters { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityProliferate(final AbilityFactory af) { - final SpellAbility abProliferate = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityProliferate extends AbilityActivated { + public AbilityProliferate(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityProliferate(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -6617234927365102930L; @Override @@ -1234,7 +1292,8 @@ public class AbilityFactoryCounters { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCounters.proliferateDoTriggerAI(this, mandatory); } - }; + } + final SpellAbility abProliferate = new AbilityProliferate(af.getHostCard(), af.getAbCost(), af.getAbTgt()); return abProliferate; } @@ -1281,7 +1340,18 @@ public class AbilityFactoryCounters { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackProliferate(final AbilityFactory af) { - final SpellAbility dbProliferate = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackProliferate extends AbilitySub { + public DrawbackProliferate(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackProliferate(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 1265466498444897146L; @Override @@ -1308,8 +1378,9 @@ public class AbilityFactoryCounters { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCounters.proliferateDoTriggerAI(this, mandatory); } - }; - + } + final SpellAbility dbProliferate = new DrawbackProliferate(af.getHostCard(), af.getAbTgt()); + return dbProliferate; } @@ -1585,8 +1656,18 @@ public class AbilityFactoryCounters { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityPutCounterAll(final AbilityFactory af) { - - final SpellAbility abPutCounterAll = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityPutCounterAll extends AbilityActivated { + public AbilityPutCounterAll(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityPutCounterAll(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -712473347429870385L; @Override @@ -1608,8 +1689,9 @@ public class AbilityFactoryCounters { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCounters.putAllCanPlayAI(af, this); } - - }; + } + final SpellAbility abPutCounterAll = new AbilityPutCounterAll(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abPutCounterAll; } @@ -1655,7 +1737,18 @@ public class AbilityFactoryCounters { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackPutCounterAll(final AbilityFactory af) { - final SpellAbility dbPutCounterAll = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackPutCounterAll extends AbilitySub { + public DrawbackPutCounterAll(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackPutCounterAll(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -3101160929130043022L; @Override @@ -1677,8 +1770,9 @@ public class AbilityFactoryCounters { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCounters.putAllPlayDrawbackAI(af, this); } - - }; + } + final SpellAbility dbPutCounterAll = new DrawbackPutCounterAll(af.getHostCard(), af.getAbTgt()); + return dbPutCounterAll; } @@ -1916,8 +2010,18 @@ public class AbilityFactoryCounters { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityRemoveCounterAll(final AbilityFactory af) { - - final SpellAbility abRemoveCounterAll = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityRemoveCounterAll extends AbilityActivated { + public AbilityRemoveCounterAll(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityRemoveCounterAll(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 1189198508841846311L; @Override @@ -1939,8 +2043,9 @@ public class AbilityFactoryCounters { public boolean doTrigger(final boolean mandatory) { return true; } - - }; + } + final SpellAbility abRemoveCounterAll = new AbilityRemoveCounterAll(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abRemoveCounterAll; } @@ -1986,7 +2091,18 @@ public class AbilityFactoryCounters { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackRemoveCounterAll(final AbilityFactory af) { - final SpellAbility dbRemoveCounterAll = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackRemoveCounterAll extends AbilitySub { + public DrawbackRemoveCounterAll(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackRemoveCounterAll(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 9210702927696563686L; @Override @@ -2008,8 +2124,9 @@ public class AbilityFactoryCounters { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCounters.removeCounterAllPlayDrawbackAI(af, this); } - - }; + } + final SpellAbility dbRemoveCounterAll = new DrawbackRemoveCounterAll(af.getHostCard(), af.getAbTgt()); + return dbRemoveCounterAll; } @@ -2138,7 +2255,18 @@ public class AbilityFactoryCounters { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityMoveCounters(final AbilityFactory af) { - final SpellAbility abMoveCounter = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityMoveCounters extends AbilityActivated { + public AbilityMoveCounters(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityMoveCounters(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 4602375375570571305L; @Override @@ -2160,8 +2288,9 @@ public class AbilityFactoryCounters { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCounters.moveCounterDoTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abMoveCounter = new AbilityMoveCounters(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abMoveCounter; } @@ -2207,7 +2336,18 @@ public class AbilityFactoryCounters { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackMoveCounters(final AbilityFactory af) { - final SpellAbility dbMoveCounter = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackMoveCounters extends AbilitySub { + public DrawbackMoveCounters(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackMoveCounters(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -9185934729634278014L; @Override @@ -2229,8 +2369,9 @@ public class AbilityFactoryCounters { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryCounters.moveCounterDoTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbMoveCounter = new DrawbackMoveCounters(af.getHostCard(), af.getAbTgt()); + return dbMoveCounter; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryDealDamage.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryDealDamage.java index 6222ba4a893..bc94564921b 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryDealDamage.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryDealDamage.java @@ -82,8 +82,18 @@ public class AbilityFactoryDealDamage { * @return a {@link forge.card.spellability.SpellAbility} object. */ public final SpellAbility getAbilityDealDamage() { - final SpellAbility abDamage = new AbilityActivated(this.abilityFactory.getHostCard(), - this.abilityFactory.getAbCost(), this.abilityFactory.getAbTgt()) { + class AbilityDealDamage extends AbilityActivated { + public AbilityDealDamage(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityDealDamage(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -7560349014757367722L; @Override @@ -107,7 +117,10 @@ public class AbilityFactoryDealDamage { return AbilityFactoryDealDamage.this.dealDamageDoTriggerAI( AbilityFactoryDealDamage.this.abilityFactory, this, mandatory); } - }; // Ability_Activated + } + + final SpellAbility abDamage = new AbilityDealDamage(this.abilityFactory.getHostCard(), + this.abilityFactory.getAbCost(), this.abilityFactory.getAbTgt()); return abDamage; } @@ -151,7 +164,7 @@ public class AbilityFactoryDealDamage { AbilityFactoryDealDamage.this.abilityFactory, this, mandatory); } }; // Spell - + return spDealDamage; } @@ -163,8 +176,18 @@ public class AbilityFactoryDealDamage { * @return a {@link forge.card.spellability.SpellAbility} object. */ public final SpellAbility getDrawbackDealDamage() { - final SpellAbility dbDealDamage = new AbilitySub(this.abilityFactory.getHostCard(), - this.abilityFactory.getAbTgt()) { + class DrawbackDealDamage extends AbilitySub { + public DrawbackDealDamage(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackDealDamage(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 7239608350643325111L; @Override @@ -194,8 +217,9 @@ public class AbilityFactoryDealDamage { return AbilityFactoryDealDamage.this.dealDamageDoTriggerAI( AbilityFactoryDealDamage.this.abilityFactory, this, mandatory); } - - }; // Drawback + } + final SpellAbility dbDealDamage = new DrawbackDealDamage(this.abilityFactory.getHostCard(), + this.abilityFactory.getAbTgt()); // Drawback return dbDealDamage; } @@ -310,7 +334,7 @@ public class AbilityFactoryDealDamage { private boolean damageDrawback(final SpellAbility sa) { final Card source = sa.getSourceCard(); int dmg; - if (this.damage.equals("X") && source.getSVar(this.damage).equals("Count$xPaid")) { + if (this.damage.equals("X") && sa.getSVar(this.damage).equals("Count$xPaid")) { // Set PayX here to maximum value. dmg = ComputerUtil.determineLeftoverMana(sa); source.setSVar("PayX", Integer.toString(dmg)); @@ -335,7 +359,7 @@ public class AbilityFactoryDealDamage { final Card source = saMe.getSourceCard(); int dmg = 0; - if (this.damage.equals("X") && source.getSVar(this.damage).equals("Count$xPaid")) { + if (this.damage.equals("X") && saMe.getSVar(this.damage).equals("Count$xPaid")) { // Set PayX here to maximum value. dmg = ComputerUtil.determineLeftoverMana(saMe); source.setSVar("PayX", Integer.toString(dmg)); @@ -745,7 +769,7 @@ public class AbilityFactoryDealDamage { final Card source = sa.getSourceCard(); int dmg; - if (this.damage.equals("X") && source.getSVar(this.damage).equals("Count$xPaid")) { + if (this.damage.equals("X") && sa.getSVar(this.damage).equals("Count$xPaid")) { // Set PayX here to maximum value. dmg = ComputerUtil.determineLeftoverMana(sa); source.setSVar("PayX", Integer.toString(dmg)); @@ -877,9 +901,18 @@ public class AbilityFactoryDealDamage { * @return a {@link forge.card.spellability.SpellAbility} object. */ public final SpellAbility getAbilityDamageAll() { - - final SpellAbility abDamageAll = new AbilityActivated(this.abilityFactory.getHostCard(), - this.abilityFactory.getAbCost(), this.abilityFactory.getAbTgt()) { + class AbilityDamageAll extends AbilityActivated { + public AbilityDamageAll(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityDamageAll(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -1831356710492849854L; private final AbilityFactory af = AbilityFactoryDealDamage.this.abilityFactory; @@ -903,8 +936,10 @@ public class AbilityFactoryDealDamage { return AbilityFactoryDealDamage.this.damageAllDoTriggerAI(AbilityFactoryDealDamage.this.abilityFactory, this, mandatory); } - - }; + } + final SpellAbility abDamageAll = new AbilityDamageAll(this.abilityFactory.getHostCard(), + this.abilityFactory.getAbCost(), this.abilityFactory.getAbTgt()); + return abDamageAll; } @@ -943,6 +978,7 @@ public class AbilityFactoryDealDamage { } }; + return spDamageAll; } @@ -954,8 +990,18 @@ public class AbilityFactoryDealDamage { * @return a {@link forge.card.spellability.SpellAbility} object. */ public final SpellAbility getDrawbackDamageAll() { - final SpellAbility dbDamageAll = new AbilitySub(this.abilityFactory.getHostCard(), - this.abilityFactory.getAbTgt()) { + class DrawbackDamageAll extends AbilitySub { + public DrawbackDamageAll(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackDamageAll(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -6169562107675964474L; private final AbilityFactory af = AbilityFactoryDealDamage.this.abilityFactory; @@ -985,8 +1031,10 @@ public class AbilityFactoryDealDamage { return AbilityFactoryDealDamage.this.damageAllDoTriggerAI(AbilityFactoryDealDamage.this.abilityFactory, this, mandatory); } - - }; + } + final SpellAbility dbDamageAll = new DrawbackDamageAll(this.abilityFactory.getHostCard(), + this.abilityFactory.getAbTgt()); + return dbDamageAll; } @@ -1062,7 +1110,7 @@ public class AbilityFactoryDealDamage { String validP = ""; int dmg; - if (this.damage.equals("X") && source.getSVar(this.damage).equals("Count$xPaid")) { + if (this.damage.equals("X") && sa.getSVar(this.damage).equals("Count$xPaid")) { // Set PayX here to maximum value. dmg = ComputerUtil.determineLeftoverMana(sa); source.setSVar("PayX", Integer.toString(dmg)); @@ -1194,7 +1242,7 @@ public class AbilityFactoryDealDamage { String validP = ""; int dmg; - if (this.damage.equals("X") && source.getSVar(this.damage).equals("Count$xPaid")) { + if (this.damage.equals("X") && sa.getSVar(this.damage).equals("Count$xPaid")) { // Set PayX here to maximum value. dmg = ComputerUtil.determineLeftoverMana(sa); source.setSVar("PayX", Integer.toString(dmg)); @@ -1317,9 +1365,18 @@ public class AbilityFactoryDealDamage { * @return a {@link forge.card.spellability.SpellAbility} object. */ public final SpellAbility getAbilityEachDamage() { - - final SpellAbility abEachDamage = new AbilityActivated(this.abilityFactory.getHostCard(), - this.abilityFactory.getAbCost(), this.abilityFactory.getAbTgt()) { + class AbilityEachDamage extends AbilityActivated { + public AbilityEachDamage(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityEachDamage(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -1831356710492849854L; private final AbilityFactory af = AbilityFactoryDealDamage.this.abilityFactory; @@ -1343,8 +1400,11 @@ public class AbilityFactoryDealDamage { return AbilityFactoryDealDamage.this.eachDamageDoTriggerAI( AbilityFactoryDealDamage.this.abilityFactory, this, mandatory); } + } - }; + final SpellAbility abEachDamage = new AbilityEachDamage(this.abilityFactory.getHostCard(), + this.abilityFactory.getAbCost(), this.abilityFactory.getAbTgt()); + return abEachDamage; } @@ -1383,6 +1443,7 @@ public class AbilityFactoryDealDamage { } }; + return spEachDamage; } @@ -1394,8 +1455,18 @@ public class AbilityFactoryDealDamage { * @return a {@link forge.card.spellability.SpellAbility} object. */ public final SpellAbility getDrawbackEachDamage() { - final SpellAbility dbEachDamage = new AbilitySub(this.abilityFactory.getHostCard(), - this.abilityFactory.getAbTgt()) { + class DrawbackEachDamage extends AbilitySub { + public DrawbackEachDamage(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackEachDamage(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -6169562107675964474L; private final AbilityFactory af = AbilityFactoryDealDamage.this.abilityFactory; @@ -1420,8 +1491,10 @@ public class AbilityFactoryDealDamage { return AbilityFactoryDealDamage.this.eachDamageDoTriggerAI( AbilityFactoryDealDamage.this.abilityFactory, this, mandatory); } - - }; + } + final SpellAbility dbEachDamage = new DrawbackEachDamage(this.abilityFactory.getHostCard(), + this.abilityFactory.getAbTgt()); + return dbEachDamage; } @@ -1534,7 +1607,7 @@ public class AbilityFactoryDealDamage { for (final Object o : tgts) { for (final Card source : sources) { - final int dmg = CardFactoryUtil.xCount(source, card.getSVar("X")); + final int dmg = CardFactoryUtil.xCount(source, sa.getSVar("X")); // System.out.println(source+" deals "+dmg+" damage to "+o.toString()); if (o instanceof Card) { final Card c = (Card) o; @@ -1585,9 +1658,18 @@ public class AbilityFactoryDealDamage { * @return a {@link forge.card.spellability.SpellAbility} object. */ public final SpellAbility getAbilityFight() { - - final SpellAbility abFight = new AbilityActivated(this.abilityFactory.getHostCard(), - this.abilityFactory.getAbCost(), this.abilityFactory.getAbTgt()) { + class AbilityFight extends AbilityActivated { + public AbilityFight(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityFight(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -1831356710492849854L; private final AbilityFactory af = AbilityFactoryDealDamage.this.abilityFactory; @@ -1611,8 +1693,11 @@ public class AbilityFactoryDealDamage { return AbilityFactoryDealDamage.this.fightDoTriggerAI( AbilityFactoryDealDamage.this.abilityFactory, this, mandatory); } + } - }; + final SpellAbility abFight = new AbilityFight(this.abilityFactory.getHostCard(), + this.abilityFactory.getAbCost(), this.abilityFactory.getAbTgt()); + return abFight; } @@ -1662,8 +1747,18 @@ public class AbilityFactoryDealDamage { * @return a {@link forge.card.spellability.SpellAbility} object. */ public final SpellAbility getDrawbackFight() { - final SpellAbility dbFight = new AbilitySub(this.abilityFactory.getHostCard(), - this.abilityFactory.getAbTgt()) { + class DrawbackFight extends AbilitySub { + public DrawbackFight(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackFight(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -6169562107675964474L; private final AbilityFactory af = AbilityFactoryDealDamage.this.abilityFactory; @@ -1688,8 +1783,10 @@ public class AbilityFactoryDealDamage { return AbilityFactoryDealDamage.this.fightDoTriggerAI( AbilityFactoryDealDamage.this.abilityFactory, this, mandatory); } - - }; + } + final SpellAbility dbFight = new DrawbackFight(this.abilityFactory.getHostCard(), + this.abilityFactory.getAbTgt()); + return dbFight; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryDebuff.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryDebuff.java index ca7916d340c..e0135963a41 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryDebuff.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryDebuff.java @@ -73,7 +73,18 @@ public final class AbilityFactoryDebuff { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityDebuff(final AbilityFactory af) { - final SpellAbility abDebuff = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityDebuff extends AbilityActivated { + public AbilityDebuff(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityDebuff(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 3536198601841771383L; @Override @@ -95,8 +106,9 @@ public final class AbilityFactoryDebuff { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryDebuff.debuffTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abDebuff = new AbilityDebuff(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abDebuff; } @@ -142,7 +154,18 @@ public final class AbilityFactoryDebuff { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackDebuff(final AbilityFactory af) { - final SpellAbility dbDebuff = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackDebuff extends AbilitySub { + public DrawbackDebuff(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackDebuff(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -4728590185604233229L; @Override @@ -164,8 +187,9 @@ public final class AbilityFactoryDebuff { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryDebuff.debuffTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbDebuff = new DrawbackDebuff(af.getHostCard(), af.getAbTgt()); + return dbDebuff; } @@ -611,7 +635,18 @@ public final class AbilityFactoryDebuff { * @since 1.0.15 */ public static SpellAbility createAbilityDebuffAll(final AbilityFactory af) { - final SpellAbility abDebuffAll = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityDebuffAll extends AbilityActivated { + public AbilityDebuffAll(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityDebuffAll(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -1977027530713097149L; @Override @@ -633,8 +668,8 @@ public final class AbilityFactoryDebuff { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryDebuff.debuffAllTriggerAI(af, this, mandatory); } - - }; // SpellAbility + } + final SpellAbility abDebuffAll = new AbilityDebuffAll(af.getHostCard(), af.getAbCost(), af.getAbTgt()); return abDebuffAll; } @@ -683,7 +718,18 @@ public final class AbilityFactoryDebuff { * @since 1.0.15 */ public static SpellAbility createDrawbackDebuffAll(final AbilityFactory af) { - final SpellAbility dbDebuffAll = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackDebuffAll extends AbilitySub { + public DrawbackDebuffAll(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackDebuffAll(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 3262199296469706708L; @Override @@ -705,8 +751,10 @@ public final class AbilityFactoryDebuff { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryDebuff.debuffAllTriggerAI(af, this, mandatory); } - }; // SpellAbility - + } + + final SpellAbility dbDebuffAll = new DrawbackDebuffAll(af.getHostCard(), af.getAbTgt()); // SpellAbility + return dbDebuffAll; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryDelayedTrigger.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryDelayedTrigger.java index 2ea88531435..3f6876556bd 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryDelayedTrigger.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryDelayedTrigger.java @@ -20,10 +20,14 @@ package forge.card.abilityfactory; import java.util.HashMap; import forge.AllZone; +import forge.Card; +import forge.card.cardfactory.CardFactoryUtil; +import forge.card.cost.Cost; import forge.card.spellability.AbilityActivated; import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; +import forge.card.spellability.Target; import forge.card.trigger.Trigger; import forge.card.trigger.TriggerHandler; @@ -49,7 +53,18 @@ public class AbilityFactoryDelayedTrigger { * @since 1.0.15 */ public static SpellAbility getAbility(final AbilityFactory af) { - final SpellAbility ability = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityDelayedTrigger extends AbilityActivated { + public AbilityDelayedTrigger(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityDelayedTrigger(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -7502962478028160305L; @Override @@ -71,7 +86,9 @@ public class AbilityFactoryDelayedTrigger { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryDelayedTrigger.doTriggerAI(af, this, mandatory); } - }; + } + final SpellAbility ability = new AbilityDelayedTrigger(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return ability; } @@ -117,7 +134,18 @@ public class AbilityFactoryDelayedTrigger { * @return a {@link forge.card.spellability.AbilitySub} object. */ public static AbilitySub getDrawback(final AbilityFactory abilityFactory) { - final AbilitySub drawback = new AbilitySub(abilityFactory.getHostCard(), abilityFactory.getAbTgt()) { + class DrawbackDelayedTrigger extends AbilitySub { + public DrawbackDelayedTrigger(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackDelayedTrigger(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 6192972525033429820L; @Override @@ -134,7 +162,8 @@ public class AbilityFactoryDelayedTrigger { public void resolve() { AbilityFactoryDelayedTrigger.doResolve(abilityFactory, this); } - }; + } + final AbilitySub drawback = new DrawbackDelayedTrigger(abilityFactory.getHostCard(), abilityFactory.getAbTgt()); return drawback; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryDestroy.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryDestroy.java index 9fc6b626412..e0a117902a1 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryDestroy.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryDestroy.java @@ -67,7 +67,18 @@ public class AbilityFactoryDestroy { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityDestroy(final AbilityFactory af) { - final SpellAbility abDestroy = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityDestroy extends AbilityActivated { + public AbilityDestroy(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityDestroy(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -4153613567150919283L; @Override @@ -89,8 +100,9 @@ public class AbilityFactoryDestroy { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryDestroy.destroyDoTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abDestroy = new AbilityDestroy(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abDestroy; } @@ -144,7 +156,18 @@ public class AbilityFactoryDestroy { * @return a {@link forge.card.spellability.AbilitySub} object. */ public static AbilitySub createDrawbackDestroy(final AbilityFactory af) { - final AbilitySub dbDestroy = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackDestroy extends AbilitySub { + public DrawbackDestroy(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackDestroy(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -4153613567150919283L; @Override @@ -166,7 +189,9 @@ public class AbilityFactoryDestroy { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryDestroy.destroyDoTriggerAI(af, this, mandatory); } - }; + } + final AbilitySub dbDestroy = new DrawbackDestroy(af.getHostCard(), af.getAbTgt()); + return dbDestroy; } @@ -597,8 +622,18 @@ public class AbilityFactoryDestroy { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityDestroyAll(final AbilityFactory af) { - - final SpellAbility abDestroyAll = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityDestroyAll extends AbilityActivated { + public AbilityDestroyAll(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityDestroyAll(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -1376444173137861437L; private final HashMap params = af.getMapParams(); @@ -623,8 +658,9 @@ public class AbilityFactoryDestroy { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryDestroy.destroyAllCanPlayAI(af, this, this.noRegen); } - - }; + } + final SpellAbility abDestroyAll = new AbilityDestroyAll(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abDestroyAll; } @@ -677,7 +713,18 @@ public class AbilityFactoryDestroy { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackDestroyAll(final AbilityFactory af) { - final SpellAbility dbDestroyAll = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackDestroyAll extends AbilitySub { + public DrawbackDestroyAll(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackDestroyAll(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -242160421677518351L; private final HashMap params = af.getMapParams(); @@ -707,8 +754,9 @@ public class AbilityFactoryDestroy { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryDestroy.destroyAllTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbDestroyAll = new DrawbackDestroyAll(af.getHostCard(), af.getAbTgt()); + return dbDestroyAll; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryEffect.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryEffect.java index 8c996eee991..49dfd77d557 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryEffect.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryEffect.java @@ -29,6 +29,7 @@ import forge.CardListFilter; import forge.Command; import forge.Singletons; import forge.card.cardfactory.CardFactoryUtil; +import forge.card.cost.Cost; import forge.card.replacement.ReplacementEffect; import forge.card.replacement.ReplacementHandler; import forge.card.spellability.AbilityActivated; @@ -66,9 +67,18 @@ public class AbilityFactoryEffect { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityEffect(final AbilityFactory abilityFactory) { - - final SpellAbility abEffect = new AbilityActivated(abilityFactory.getHostCard(), abilityFactory.getAbCost(), - abilityFactory.getAbTgt()) { + class AbilityEffect extends AbilityActivated { + public AbilityEffect(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityEffect(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 8869422603616247307L; private final AbilityFactory af = abilityFactory; @@ -94,8 +104,10 @@ public class AbilityFactoryEffect { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryEffect.effectDoTriggerAI(this.af, this, mandatory); } - - }; + } + final SpellAbility abEffect = new AbilityEffect(abilityFactory.getHostCard(), abilityFactory.getAbCost(), + abilityFactory.getAbTgt()); + return abEffect; } @@ -146,7 +158,18 @@ public class AbilityFactoryEffect { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackEffect(final AbilityFactory abilityFactory) { - final SpellAbility dbEffect = new AbilitySub(abilityFactory.getHostCard(), abilityFactory.getAbTgt()) { + class DrawbackEffect extends AbilitySub { + public DrawbackEffect(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackEffect(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 6631124959690157874L; private final AbilityFactory af = abilityFactory; @@ -177,8 +200,9 @@ public class AbilityFactoryEffect { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryEffect.effectDoTriggerAI(this.af, this, mandatory); } - - }; + } + final SpellAbility dbEffect = new DrawbackEffect(abilityFactory.getHostCard(), abilityFactory.getAbTgt()); + return dbEffect; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryEndGameCondition.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryEndGameCondition.java index 2fdb5931447..149064da179 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryEndGameCondition.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryEndGameCondition.java @@ -26,6 +26,8 @@ import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; +import forge.card.cardfactory.CardFactoryUtil; +import forge.card.cost.Cost; import forge.game.GameLossReason; import forge.game.player.ComputerUtil; import forge.game.player.Player; @@ -58,8 +60,18 @@ public final class AbilityFactoryEndGameCondition { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityWinsGame(final AbilityFactory af) { - - final SpellAbility abWinsGame = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityWinsGame extends AbilityActivated { + public AbilityWinsGame(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityWinsGame(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 8869422603616247307L; @Override @@ -83,8 +95,9 @@ public final class AbilityFactoryEndGameCondition { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryEndGameCondition.winsGameDoTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abWinsGame = new AbilityWinsGame(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abWinsGame; } @@ -137,7 +150,18 @@ public final class AbilityFactoryEndGameCondition { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackWinsGame(final AbilityFactory af) { - final SpellAbility dbWinsGame = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackWinsGame extends AbilitySub { + public DrawbackWinsGame(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackWinsGame(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 6631124959690157874L; @Override @@ -171,8 +195,9 @@ public final class AbilityFactoryEndGameCondition { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryEndGameCondition.winsGameDoTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbWinsGame = new DrawbackWinsGame(af.getHostCard(), af.getAbTgt()); + return dbWinsGame; } @@ -297,8 +322,18 @@ public final class AbilityFactoryEndGameCondition { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityLosesGame(final AbilityFactory af) { - - final SpellAbility abLosesGame = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityLosesGame extends AbilityActivated { + public AbilityLosesGame(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityLosesGame(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 8869422603616247307L; @Override @@ -322,8 +357,9 @@ public final class AbilityFactoryEndGameCondition { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryEndGameCondition.losesGameDoTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abLosesGame = new AbilityLosesGame(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abLosesGame; } @@ -376,7 +412,18 @@ public final class AbilityFactoryEndGameCondition { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackLosesGame(final AbilityFactory af) { - final SpellAbility dbLosesGame = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackLosesGame extends AbilitySub { + public DrawbackLosesGame(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackLosesGame(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 6631124959690157874L; @Override @@ -410,8 +457,9 @@ public final class AbilityFactoryEndGameCondition { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryEndGameCondition.losesGameDoTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbLosesGame = new DrawbackLosesGame(af.getHostCard(), af.getAbTgt()); + return dbLosesGame; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryGainControl.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryGainControl.java index b443c5952bd..80b08d10b1d 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryGainControl.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryGainControl.java @@ -37,6 +37,7 @@ import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; +import forge.card.cost.Cost; import forge.game.phase.PhaseType; import forge.game.player.ComputerUtil; import forge.game.player.Player; @@ -149,8 +150,18 @@ public class AbilityFactoryGainControl { * @since 1.0.15 */ public final SpellAbility getAbilityGainControl() { - - final SpellAbility abControl = new AbilityActivated(this.hostCard, this.af.getAbCost(), this.af.getAbTgt()) { + class AbilityGainControl extends AbilityActivated { + public AbilityGainControl(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityGainControl(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -4384705198674678831L; @Override @@ -172,7 +183,8 @@ public class AbilityFactoryGainControl { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryGainControl.this.gainControlTgtAI(this); } - }; // Ability_Activated + } + final SpellAbility abControl = new AbilityGainControl(this.hostCard, this.af.getAbCost(), this.af.getAbTgt()); return abControl; } @@ -186,7 +198,18 @@ public class AbilityFactoryGainControl { * @since 1.0.15 */ public final SpellAbility getDrawbackGainControl() { - final SpellAbility dbControl = new AbilitySub(this.hostCard, this.af.getAbTgt()) { + class DrawbackGainControl extends AbilitySub { + public DrawbackGainControl(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackGainControl(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -5577742598032345880L; @Override @@ -213,7 +236,8 @@ public class AbilityFactoryGainControl { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryGainControl.this.gainControlTriggerAI(this, mandatory); } - }; // SpellAbility + } + final SpellAbility dbControl = new DrawbackGainControl(this.hostCard, this.af.getAbTgt()); // SpellAbility return dbControl; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryMana.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryMana.java index 31950525ca0..83ccab937db 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryMana.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryMana.java @@ -162,7 +162,18 @@ public class AbilityFactoryMana { */ public static AbilitySub createDrawbackMana(final AbilityFactory abilityFactory, final String produced) { final String restrictions = abilityFactory.getMapParams().get("RestrictValid"); - final AbilitySub dbMana = new AbilitySub(abilityFactory.getHostCard(), abilityFactory.getAbTgt()) { + class DrawbackMana extends AbilitySub { + public DrawbackMana(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackMana(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -5141246507533353605L; private final AbilityFactory af = abilityFactory; @@ -201,8 +212,9 @@ public class AbilityFactoryMana { // TODO Auto-generated method stub return false; } - - }; + } + final AbilitySub dbMana = new DrawbackMana(abilityFactory.getHostCard(), abilityFactory.getAbTgt()); + return dbMana; } @@ -899,7 +911,18 @@ public class AbilityFactoryMana { * @since 1.0.15 */ public static SpellAbility createAbilityDrainMana(final AbilityFactory af) { - final SpellAbility abDrainMana = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityDrainMana extends AbilityActivated { + public AbilityDrainMana(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityDrainMana(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 5669367387381350104L; @Override @@ -921,8 +944,10 @@ public class AbilityFactoryMana { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryMana.drainManaTrigger(af, this, mandatory); } + } - }; + final SpellAbility abDrainMana = new AbilityDrainMana(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abDrainMana; } @@ -970,7 +995,18 @@ public class AbilityFactoryMana { * @since 1.0.15 */ public static SpellAbility createDrawbackDrainMana(final AbilityFactory af) { - final SpellAbility dbDrainMana = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackDrainMana extends AbilitySub { + public DrawbackDrainMana(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackDrainMana(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 1458568386420831420L; @Override @@ -992,8 +1028,9 @@ public class AbilityFactoryMana { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryMana.drainManaTrigger(af, this, mandatory); } - - }; + } + final SpellAbility dbDrainMana = new DrawbackDrainMana(af.getHostCard(), af.getAbTgt()); + return dbDrainMana; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryPermanentState.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryPermanentState.java index 404e1fe33b2..ade11264f22 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryPermanentState.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryPermanentState.java @@ -68,7 +68,18 @@ public class AbilityFactoryPermanentState { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityUntap(final AbilityFactory af) { - final SpellAbility abUntap = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityUntap extends AbilityActivated { + public AbilityUntap(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityUntap(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 5445572699000471299L; @Override @@ -90,8 +101,9 @@ public class AbilityFactoryPermanentState { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryPermanentState.untapTrigger(af, this, mandatory); } - - }; + } + final SpellAbility abUntap = new AbilityUntap(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abUntap; } @@ -137,7 +149,18 @@ public class AbilityFactoryPermanentState { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackUntap(final AbilityFactory af) { - final SpellAbility dbUntap = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackUntap extends AbilitySub { + public DrawbackUntap(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackUntap(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -4990932993654533449L; @Override @@ -164,8 +187,9 @@ public class AbilityFactoryPermanentState { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryPermanentState.untapTrigger(af, this, mandatory); } - - }; + } + final SpellAbility dbUntap = new DrawbackUntap(af.getHostCard(), af.getAbTgt()); + return dbUntap; } @@ -637,7 +661,18 @@ public class AbilityFactoryPermanentState { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityTap(final AbilityFactory af) { - final SpellAbility abTap = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityTap extends AbilityActivated { + public AbilityTap(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityTap(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 5445572699000471299L; @Override @@ -659,8 +694,9 @@ public class AbilityFactoryPermanentState { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryPermanentState.tapTrigger(af, this, mandatory); } - - }; + } + final SpellAbility abTap = new AbilityTap(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abTap; } @@ -706,7 +742,18 @@ public class AbilityFactoryPermanentState { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackTap(final AbilityFactory af) { - final SpellAbility dbTap = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackTap extends AbilitySub { + public DrawbackTap(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackTap(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -4990932993654533449L; @Override @@ -733,8 +780,9 @@ public class AbilityFactoryPermanentState { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryPermanentState.tapTrigger(af, this, mandatory); } - - }; + } + final SpellAbility dbTap = new DrawbackTap(af.getHostCard(), af.getAbTgt()); + return dbTap; } @@ -1170,7 +1218,18 @@ public class AbilityFactoryPermanentState { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityUntapAll(final AbilityFactory af) { - final SpellAbility abUntap = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityUntapAll extends AbilityActivated { + public AbilityUntapAll(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityUntapAll(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 8914852730903389831L; @Override @@ -1192,8 +1251,9 @@ public class AbilityFactoryPermanentState { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryPermanentState.untapAllTrigger(af, this, mandatory); } - - }; + } + final SpellAbility abUntap = new AbilityUntapAll(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abUntap; } @@ -1239,7 +1299,18 @@ public class AbilityFactoryPermanentState { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackUntapAll(final AbilityFactory af) { - final SpellAbility dbUntapAll = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackUntapAll extends AbilitySub { + public DrawbackUntapAll(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackUntapAll(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -5187900994680626766L; @Override @@ -1261,8 +1332,9 @@ public class AbilityFactoryPermanentState { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryPermanentState.untapAllPlayDrawbackAI(af, this); } - - }; + } + final SpellAbility dbUntapAll = new DrawbackUntapAll(af.getHostCard(), af.getAbTgt()); + return dbUntapAll; } @@ -1413,7 +1485,18 @@ public class AbilityFactoryPermanentState { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityTapAll(final AbilityFactory af) { - final SpellAbility abUntap = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityTapAll extends AbilityActivated { + public AbilityTapAll(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityTapAll(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -2095140656782946737L; @Override @@ -1435,8 +1518,9 @@ public class AbilityFactoryPermanentState { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryPermanentState.tapAllTrigger(af, this, mandatory); } - - }; + } + final SpellAbility abUntap = new AbilityTapAll(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abUntap; } @@ -1482,7 +1566,18 @@ public class AbilityFactoryPermanentState { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackTapAll(final AbilityFactory af) { - final SpellAbility dbTap = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackTapAll extends AbilitySub { + public DrawbackTapAll(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackTapAll(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -4990932993654533449L; @Override @@ -1509,8 +1604,9 @@ public class AbilityFactoryPermanentState { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryPermanentState.tapAllPlayDrawbackAI(af, this); } - - }; + } + final SpellAbility dbTap = new DrawbackTapAll(af.getHostCard(), af.getAbTgt()); + return dbTap; } @@ -1772,7 +1868,18 @@ public class AbilityFactoryPermanentState { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityTapOrUntap(final AbilityFactory af) { - final SpellAbility abTapOrUntap = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityTapOrUntap extends AbilityActivated { + public AbilityTapOrUntap(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityTapOrUntap(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -4713183763302932079L; @Override @@ -1794,8 +1901,9 @@ public class AbilityFactoryPermanentState { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryPermanentState.tapOrUntapTrigger(af, this, mandatory); } - - }; + } + final SpellAbility abTapOrUntap = new AbilityTapOrUntap(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abTapOrUntap; } @@ -1841,7 +1949,18 @@ public class AbilityFactoryPermanentState { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackTapOrUntap(final AbilityFactory af) { - final SpellAbility dbTapOrUntap = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackTapOrUntap extends AbilitySub { + public DrawbackTapOrUntap(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackTapOrUntap(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -8282868583712773337L; @Override @@ -1863,8 +1982,9 @@ public class AbilityFactoryPermanentState { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryPermanentState.tapOrUntapTrigger(af, this, mandatory); } - - }; + } + final SpellAbility dbTapOrUntap = new DrawbackTapOrUntap(af.getHostCard(), af.getAbTgt()); + return dbTapOrUntap; } @@ -2107,7 +2227,18 @@ public class AbilityFactoryPermanentState { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityPhases(final AbilityFactory af) { - final SpellAbility abPhases = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityPhases extends AbilityActivated { + public AbilityPhases(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityPhases(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 5445572699000471299L; @Override @@ -2129,8 +2260,9 @@ public class AbilityFactoryPermanentState { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryPermanentState.phasesTrigger(af, this, mandatory); } - - }; + } + final SpellAbility abPhases = new AbilityPhases(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abPhases; } @@ -2176,7 +2308,18 @@ public class AbilityFactoryPermanentState { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackPhases(final AbilityFactory af) { - final SpellAbility dbPhases = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackPhases extends AbilitySub { + public DrawbackPhases(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackPhases(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -4990932993654533449L; @Override @@ -2198,8 +2341,9 @@ public class AbilityFactoryPermanentState { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryPermanentState.phasesTrigger(af, this, mandatory); } - - }; + } + final SpellAbility dbPhases = new DrawbackPhases(af.getHostCard(), af.getAbTgt()); + return dbPhases; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryPlay.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryPlay.java index 6661707d7ec..49f5cb901ea 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryPlay.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryPlay.java @@ -70,8 +70,18 @@ public final class AbilityFactoryPlay { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityPlay(final AbilityFactory af) { - - final SpellAbility abCopySpell = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityPlay extends AbilityActivated { + public AbilityPlay(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityPlay(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 5232548517225345052L; @Override @@ -93,8 +103,9 @@ public final class AbilityFactoryPlay { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryPlay.playTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abCopySpell = new AbilityPlay(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abCopySpell; } @@ -145,7 +156,18 @@ public final class AbilityFactoryPlay { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackPlay(final AbilityFactory af) { - final SpellAbility dbCopySpell = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackPlay extends AbilitySub { + public DrawbackPlay(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackPlay(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 1927508119173644632L; @Override @@ -167,8 +189,9 @@ public final class AbilityFactoryPlay { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryPlay.playTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbCopySpell = new DrawbackPlay(af.getHostCard(), af.getAbTgt()); + return dbCopySpell; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryPreventDamage.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryPreventDamage.java index c6108841c42..e7f5394ab95 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryPreventDamage.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryPreventDamage.java @@ -66,8 +66,18 @@ public class AbilityFactoryPreventDamage { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityPreventDamage(final AbilityFactory af) { - - final SpellAbility abPrevent = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityPreventDamage extends AbilityActivated { + public AbilityPreventDamage(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityPreventDamage(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -6581723619801399347L; @Override @@ -89,8 +99,8 @@ public class AbilityFactoryPreventDamage { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryPreventDamage.preventDamageDoTriggerAI(af, this, mandatory); } - - }; // Ability_Activated + } + final SpellAbility abPrevent = new AbilityPreventDamage(af.getHostCard(), af.getAbCost(), af.getAbTgt()); return abPrevent; } @@ -139,7 +149,18 @@ public class AbilityFactoryPreventDamage { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackPreventDamage(final AbilityFactory af) { - final SpellAbility dbPrevent = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackPreventDamage extends AbilitySub { + public DrawbackPreventDamage(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackPreventDamage(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -2295483806708528744L; @Override @@ -161,8 +182,9 @@ public class AbilityFactoryPreventDamage { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryPreventDamage.preventDamageDoTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbPrevent = new DrawbackPreventDamage(af.getHostCard(), af.getAbTgt()); + return dbPrevent; } @@ -542,7 +564,18 @@ public class AbilityFactoryPreventDamage { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityPreventDamageAll(final AbilityFactory af) { - final SpellAbility abPreventAll = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityPreventDamageAll extends AbilityActivated { + public AbilityPreventDamageAll(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityPreventDamageAll(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 5750726631110311462L; @Override @@ -564,8 +597,8 @@ public class AbilityFactoryPreventDamage { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryPreventDamage.preventDamageAllDoTriggerAI(af, this, mandatory); } - - }; // Ability_Activated + } + final SpellAbility abPreventAll = new AbilityPreventDamageAll(af.getHostCard(), af.getAbCost(), af.getAbTgt()); return abPreventAll; } @@ -613,7 +646,18 @@ public class AbilityFactoryPreventDamage { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackPreventDamageAll(final AbilityFactory af) { - final SpellAbility dbPreventAll = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackPreventDamageAll extends AbilitySub { + public DrawbackPreventDamageAll(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackPreventDamageAll(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -655573137457133314L; @Override @@ -635,8 +679,9 @@ public class AbilityFactoryPreventDamage { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryPreventDamage.preventDamageAllDoTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbPreventAll = new DrawbackPreventDamageAll(af.getHostCard(), af.getAbTgt()); + return dbPreventAll; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryProtection.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryProtection.java index 460e104a470..6fd76ec6413 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryProtection.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryProtection.java @@ -104,7 +104,18 @@ public final class AbilityFactoryProtection { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityProtection(final AbilityFactory af) { - final SpellAbility abProtect = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityProtection extends AbilityActivated { + public AbilityProtection(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityProtection(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -5295298887428747473L; @Override @@ -126,8 +137,8 @@ public final class AbilityFactoryProtection { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryProtection.protectTriggerAI(af, this, mandatory); } - - }; // SpellAbility + } + final SpellAbility abProtect = new AbilityProtection(af.getHostCard(), af.getAbCost(), af.getAbTgt()); return abProtect; } @@ -142,7 +153,18 @@ public final class AbilityFactoryProtection { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackProtection(final AbilityFactory af) { - final SpellAbility dbProtect = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackProtection extends AbilitySub { + public DrawbackProtection(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackProtection(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 8342800124705819366L; @Override @@ -169,7 +191,8 @@ public final class AbilityFactoryProtection { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryProtection.protectTriggerAI(af, this, mandatory); } - }; // SpellAbility + } + final SpellAbility dbProtect = new DrawbackProtection(af.getHostCard(), af.getAbTgt()); // SpellAbility return dbProtect; } @@ -886,7 +909,18 @@ public final class AbilityFactoryProtection { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityProtectionAll(final AbilityFactory af) { - final SpellAbility abProtectAll = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityProtectionAll extends AbilityActivated { + public AbilityProtectionAll(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityProtectionAll(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -8491026929105907288L; @Override @@ -908,8 +942,8 @@ public final class AbilityFactoryProtection { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryProtection.protectAllTriggerAI(af, this, mandatory); } - - }; // SpellAbility + } + final SpellAbility abProtectAll = new AbilityProtectionAll(af.getHostCard(), af.getAbCost(), af.getAbTgt()); return abProtectAll; } @@ -924,7 +958,18 @@ public final class AbilityFactoryProtection { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackProtectionAll(final AbilityFactory af) { - final SpellAbility dbProtectAll = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackProtectionAll extends AbilitySub { + public DrawbackProtectionAll(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackProtectionAll(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 5096939345199247701L; @Override @@ -951,7 +996,8 @@ public final class AbilityFactoryProtection { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryProtection.protectAllTriggerAI(af, this, mandatory); } - }; // SpellAbility + } + final SpellAbility dbProtectAll = new DrawbackProtectionAll(af.getHostCard(), af.getAbTgt()); // SpellAbility return dbProtectAll; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryPump.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryPump.java index 6a9a203cc8f..6a4c3466baa 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryPump.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryPump.java @@ -26,6 +26,7 @@ import forge.AllZoneUtil; import forge.Card; import forge.CardList; import forge.CardListFilter; +import forge.CardListUtil; import forge.CardUtil; import forge.Command; import forge.GameEntity; @@ -152,8 +153,18 @@ public class AbilityFactoryPump { * @return a {@link forge.card.spellability.SpellAbility} object. */ public final SpellAbility getAbilityPump() { - final SpellAbility abPump = new AbilityActivated(this.hostCard, this.abilityFactory.getAbCost(), - this.abilityFactory.getAbTgt()) { + class AbilityPump extends AbilityActivated { + public AbilityPump(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityPump(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -1118592153328758083L; @Override @@ -175,8 +186,9 @@ public class AbilityFactoryPump { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryPump.this.pumpTriggerAI(AbilityFactoryPump.this.abilityFactory, this, mandatory); } - - }; // SpellAbility + } + final SpellAbility abPump = new AbilityPump(this.hostCard, this.abilityFactory.getAbCost(), + this.abilityFactory.getAbTgt()); return abPump; } @@ -189,7 +201,18 @@ public class AbilityFactoryPump { * @return a {@link forge.card.spellability.SpellAbility} object. */ public final SpellAbility getDrawbackPump() { - final SpellAbility dbPump = new AbilitySub(this.hostCard, this.abilityFactory.getAbTgt()) { + class DrawbackPump extends AbilitySub { + public DrawbackPump(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackPump(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 42244224L; @Override @@ -216,7 +239,8 @@ public class AbilityFactoryPump { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryPump.this.pumpTriggerAI(AbilityFactoryPump.this.abilityFactory, this, mandatory); } - }; // SpellAbility + } + final SpellAbility dbPump = new DrawbackPump(this.hostCard, this.abilityFactory.getAbTgt()); // SpellAbility return dbPump; } @@ -768,8 +792,19 @@ public class AbilityFactoryPump { final Target tgt = sa.getTarget(); tgt.resetTargets(); - CardList list; - if (this.abilityFactory.isCurse()) { + CardList list = new CardList(); + if (this.abilityFactory.getMapParams().containsKey("AILogic")) { + if (this.abilityFactory.getMapParams().get("AILogic").equals("HighestPower")) { + list = AllZoneUtil.getCreaturesInPlay().getValidCards(tgt.getValidTgts(), sa.getActivatingPlayer(), sa.getSourceCard()); + list = list.getTargetableCards(sa); + CardListUtil.sortAttack(list); + if (!list.isEmpty()) { + tgt.addTarget(list.get(0)); + } else { + return false; + } + } + } else if (this.abilityFactory.isCurse()) { list = this.getCurseCreatures(sa, defense, attack); if (sa.canTarget(AllZone.getHumanPlayer())) { tgt.addTarget(AllZone.getHumanPlayer()); @@ -1303,8 +1338,18 @@ public class AbilityFactoryPump { * @return a {@link forge.card.spellability.SpellAbility} object. */ public final SpellAbility getAbilityPumpAll() { - final SpellAbility abPumpAll = new AbilityActivated(this.hostCard, this.abilityFactory.getAbCost(), - this.abilityFactory.getAbTgt()) { + class AbilityPumpAll extends AbilityActivated { + public AbilityPumpAll(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityPumpAll(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -8299417521903307630L; @Override @@ -1327,8 +1372,9 @@ public class AbilityFactoryPump { return AbilityFactoryPump.this .pumpAllTriggerAI(AbilityFactoryPump.this.abilityFactory, this, mandatory); } - - }; // SpellAbility + } + final SpellAbility abPumpAll = new AbilityPumpAll(this.hostCard, this.abilityFactory.getAbCost(), + this.abilityFactory.getAbTgt()); return abPumpAll; } @@ -1372,7 +1418,18 @@ public class AbilityFactoryPump { * @return a {@link forge.card.spellability.SpellAbility} object. */ public final SpellAbility getDrawbackPumpAll() { - final SpellAbility dbPumpAll = new AbilitySub(this.hostCard, this.abilityFactory.getAbTgt()) { + class DrawbackPumpAll extends AbilitySub { + public DrawbackPumpAll(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackPumpAll(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 6411531984691660342L; @Override @@ -1400,7 +1457,8 @@ public class AbilityFactoryPump { return AbilityFactoryPump.this .pumpAllTriggerAI(AbilityFactoryPump.this.abilityFactory, this, mandatory); } - }; // SpellAbility + } + final SpellAbility dbPumpAll = new DrawbackPumpAll(this.hostCard, this.abilityFactory.getAbTgt()); // SpellAbility return dbPumpAll; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryRegenerate.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryRegenerate.java index 7db8eaa545e..bd0ddfdc89a 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryRegenerate.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryRegenerate.java @@ -69,8 +69,18 @@ public class AbilityFactoryRegenerate { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility getAbilityRegenerate(final AbilityFactory af) { - - final SpellAbility abRegenerate = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityRegenerate extends AbilityActivated { + public AbilityRegenerate(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityRegenerate(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -6386981911243700037L; @Override @@ -92,8 +102,8 @@ public class AbilityFactoryRegenerate { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryRegenerate.doTriggerAI(af, this, mandatory); } - - }; // Ability_Activated + } + final SpellAbility abRegenerate = new AbilityRegenerate(af.getHostCard(), af.getAbCost(), af.getAbTgt()); return abRegenerate; } @@ -141,8 +151,19 @@ public class AbilityFactoryRegenerate { * a {@link forge.card.abilityfactory.AbilityFactory} object. * @return a {@link forge.card.spellability.SpellAbility} object. */ - public static SpellAbility createDrawbackRegenerate(final AbilityFactory af) { - final SpellAbility dbRegen = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + public static SpellAbility getDrawbackRegenerate(final AbilityFactory af) { + class DrawbackRegenerate extends AbilitySub { + public DrawbackRegenerate(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackRegenerate(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -2295483806708528744L; @Override @@ -164,8 +185,9 @@ public class AbilityFactoryRegenerate { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryRegenerate.doTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbRegen = new DrawbackRegenerate(af.getHostCard(), af.getAbTgt()); + return dbRegen; } @@ -499,8 +521,18 @@ public class AbilityFactoryRegenerate { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility getAbilityRegenerateAll(final AbilityFactory af) { - - final SpellAbility abRegenerateAll = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityRegenerateAll extends AbilityActivated { + public AbilityRegenerateAll(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityRegenerateAll(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -3001272997209059394L; @Override @@ -522,8 +554,8 @@ public class AbilityFactoryRegenerate { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryRegenerate.regenerateAllDoTriggerAI(af, this, mandatory); } - - }; // Ability_Activated + } + final SpellAbility abRegenerateAll = new AbilityRegenerateAll(af.getHostCard(), af.getAbCost(), af.getAbTgt()); return abRegenerateAll; } @@ -571,8 +603,19 @@ public class AbilityFactoryRegenerate { * a {@link forge.card.abilityfactory.AbilityFactory} object. * @return a {@link forge.card.spellability.SpellAbility} object. */ - public static SpellAbility createDrawbackRegenerateAll(final AbilityFactory af) { - final SpellAbility dbRegenAll = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + public static SpellAbility getDrawbackRegenerateAll(final AbilityFactory af) { + class DrawbackRegenerateAll extends AbilitySub { + public DrawbackRegenerateAll(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackRegenerateAll(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 4777861790603705572L; @Override @@ -595,7 +638,9 @@ public class AbilityFactoryRegenerate { return AbilityFactoryRegenerate.regenerateAllDoTriggerAI(af, this, mandatory); } - }; + } + final SpellAbility dbRegenAll = new DrawbackRegenerateAll(af.getHostCard(), af.getAbTgt()); + return dbRegenAll; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryRepeat.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryRepeat.java index 8b6a344e833..e7ef39cf7ae 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryRepeat.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryRepeat.java @@ -22,6 +22,7 @@ import java.util.HashMap; import forge.AllZone; import forge.AllZoneUtil; import forge.Card; +import forge.card.cost.Cost; import forge.CardList; import forge.GameActionUtil; import forge.card.cardfactory.CardFactoryUtil; @@ -57,7 +58,17 @@ public final class AbilityFactoryRepeat { * @since 1.0.15 */ public static SpellAbility createAbilityRepeat(final AbilityFactory af) { - final SpellAbility abRepeat = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityRepeat extends AbilityActivated { + public AbilityRepeat(final Card ca, final Cost co, final Target t) { + super(ca,co,t); + } + + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityRepeat(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -8019637116128196482L; @Override @@ -79,7 +90,8 @@ public final class AbilityFactoryRepeat { public void resolve() { AbilityFactoryRepeat.repeatResolve(af, this); } - }; + } + final SpellAbility abRepeat = new AbilityRepeat(af.getHostCard(), af.getAbCost(), af.getAbTgt()); return abRepeat; } @@ -133,7 +145,18 @@ public final class AbilityFactoryRepeat { * @since 1.0.15 */ public static SpellAbility createDrawbackRepeat(final AbilityFactory af) { - final SpellAbility dbRepeat = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackRepeat extends AbilitySub { + public DrawbackRepeat(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackRepeat(getSourceCard(),new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -3850086157052881036L; @Override @@ -160,7 +183,8 @@ public final class AbilityFactoryRepeat { public void resolve() { AbilityFactoryRepeat.repeatResolve(af, this); } - }; + } + final SpellAbility dbRepeat = new DrawbackRepeat(af.getHostCard(), af.getAbTgt()); return dbRepeat; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java index cfb1d351d09..c87e94e1f4b 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java @@ -77,8 +77,18 @@ public final class AbilityFactoryReveal { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityDig(final AbilityFactory af) { - - final SpellAbility abDig = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityDig extends AbilityActivated { + public AbilityDig(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityDig(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 4239474096624403497L; @Override @@ -101,7 +111,8 @@ public final class AbilityFactoryReveal { return AbilityFactoryReveal.digTriggerAI(af, this, mandatory); } - }; + } + final SpellAbility abDig = new AbilityDig(af.getHostCard(), af.getAbCost(), af.getAbTgt()); return abDig; } @@ -147,7 +158,18 @@ public final class AbilityFactoryReveal { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackDig(final AbilityFactory af) { - final SpellAbility dbDig = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackDig extends AbilitySub { + public DrawbackDig(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackDig(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -3372788479421357024L; @Override @@ -174,8 +196,9 @@ public final class AbilityFactoryReveal { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryReveal.digTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbDig = new DrawbackDig(af.getHostCard(), af.getAbTgt()); + return dbDig; } @@ -664,7 +687,18 @@ public final class AbilityFactoryReveal { */ public static SpellAbility createAbilityDigUntil(final AbilityFactory af) { - final SpellAbility abDig = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityDigUntil extends AbilityActivated { + public AbilityDigUntil(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityDigUntil(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 4239474096624403497L; @Override @@ -687,7 +721,8 @@ public final class AbilityFactoryReveal { return AbilityFactoryReveal.digUntilTriggerAI(af, this, mandatory); } - }; + } + final SpellAbility abDig = new AbilityDigUntil(af.getHostCard(), af.getAbCost(), af.getAbTgt()); return abDig; } @@ -733,7 +768,18 @@ public final class AbilityFactoryReveal { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackDigUntil(final AbilityFactory af) { - final SpellAbility dbDig = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackDigUntil extends AbilitySub { + public DrawbackDigUntil(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackDigUntil(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -3372788479421357024L; @Override @@ -755,8 +801,9 @@ public final class AbilityFactoryReveal { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryReveal.digUntilTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbDig = new DrawbackDigUntil(af.getHostCard(), af.getAbTgt()); + return dbDig; } @@ -1040,7 +1087,18 @@ public final class AbilityFactoryReveal { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityRevealHand(final AbilityFactory af) { - final SpellAbility abRevealHand = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityRevealHand extends AbilityActivated { + public AbilityRevealHand(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityRevealHand(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 2785654059206102004L; @Override @@ -1062,8 +1120,9 @@ public final class AbilityFactoryReveal { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryReveal.revealHandTrigger(af, this, mandatory); } - - }; + } + final SpellAbility abRevealHand = new AbilityRevealHand(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abRevealHand; } @@ -1109,7 +1168,18 @@ public final class AbilityFactoryReveal { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackRevealHand(final AbilityFactory af) { - final SpellAbility dbRevealHand = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackRevealHand extends AbilitySub { + public DrawbackRevealHand(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackRevealHand(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -6079668770576878801L; @Override @@ -1133,8 +1203,9 @@ public final class AbilityFactoryReveal { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryReveal.revealHandTrigger(af, this, mandatory); } - - }; + } + final SpellAbility dbRevealHand = new DrawbackRevealHand(af.getHostCard(), af.getAbTgt()); + return dbRevealHand; } @@ -1375,7 +1446,18 @@ public final class AbilityFactoryReveal { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityScry(final AbilityFactory af) { - final SpellAbility abScry = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityScry extends AbilityActivated { + public AbilityScry(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityScry(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 2631175859655699419L; @Override @@ -1397,8 +1479,9 @@ public final class AbilityFactoryReveal { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryReveal.scryTriggerAI(af, this); } - - }; + } + final SpellAbility abScry = new AbilityScry(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abScry; } @@ -1444,7 +1527,18 @@ public final class AbilityFactoryReveal { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackScry(final AbilityFactory af) { - final SpellAbility dbScry = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackScry extends AbilitySub { + public DrawbackScry(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackScry(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 7763043327497404630L; @Override @@ -1468,8 +1562,9 @@ public final class AbilityFactoryReveal { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryReveal.scryTriggerAI(af, this); } - - }; + } + final SpellAbility dbScry = new DrawbackScry(af.getHostCard(), af.getAbTgt()); + return dbScry; } @@ -1648,8 +1743,19 @@ public final class AbilityFactoryReveal { * a {@link forge.card.abilityfactory.AbilityFactory} object. * @return a {@link forge.card.spellability.SpellAbility} object. */ - public static SpellAbility createRearrangeTopOfLibraryAbility(final AbilityFactory af) { - final SpellAbility rtolAbility = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + public static SpellAbility createAbilityRearrangeTopOfLibrary(final AbilityFactory af) { + class AbilityRearrangeTopOfLibrary extends AbilityActivated { + public AbilityRearrangeTopOfLibrary(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityRearrangeTopOfLibrary(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -548494891203983219L; @Override @@ -1671,8 +1777,8 @@ public final class AbilityFactoryReveal { public void resolve() { AbilityFactoryReveal.rearrangeTopOfLibraryResolve(af, this); } - - }; + } + final SpellAbility rtolAbility = new AbilityRearrangeTopOfLibrary(af.getHostCard(), af.getAbCost(), af.getAbTgt()); return rtolAbility; } @@ -1686,7 +1792,7 @@ public final class AbilityFactoryReveal { * a {@link forge.card.abilityfactory.AbilityFactory} object. * @return a {@link forge.card.spellability.SpellAbility} object. */ - public static SpellAbility createRearrangeTopOfLibrarySpell(final AbilityFactory af) { + public static SpellAbility createSpellRearrangeTopOfLibrary(final AbilityFactory af) { final SpellAbility rtolSpell = new Spell(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { private static final long serialVersionUID = 6977502611509431864L; @@ -1724,8 +1830,19 @@ public final class AbilityFactoryReveal { * a {@link forge.card.abilityfactory.AbilityFactory} object. * @return a {@link forge.card.spellability.SpellAbility} object. */ - public static SpellAbility createRearrangeTopOfLibraryDrawback(final AbilityFactory af) { - final SpellAbility dbDraw = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + public static SpellAbility createDrawbackRearrangeTopOfLibrary(final AbilityFactory af) { + class DrawbackRearrangeTopOfLibrary extends AbilitySub { + public DrawbackRearrangeTopOfLibrary(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackRearrangeTopOfLibrary(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -777856059960750319L; @Override @@ -1749,8 +1866,9 @@ public final class AbilityFactoryReveal { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryReveal.rearrangeTopOfLibraryTrigger(af, this, mandatory); } - - }; + } + final SpellAbility dbDraw = new DrawbackRearrangeTopOfLibrary(af.getHostCard(), af.getAbTgt()); + return dbDraw; } @@ -1959,7 +2077,18 @@ public final class AbilityFactoryReveal { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityReveal(final AbilityFactory af) { - final SpellAbility abReveal = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityReveal extends AbilityActivated { + public AbilityReveal(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityReveal(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -4417404703197532765L; @Override @@ -1981,8 +2110,9 @@ public final class AbilityFactoryReveal { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryReveal.revealTrigger(af, this, mandatory); } - - }; + } + final SpellAbility abReveal = new AbilityReveal(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abReveal; } @@ -2028,7 +2158,18 @@ public final class AbilityFactoryReveal { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackReveal(final AbilityFactory af) { - final SpellAbility dbReveal = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackReveal extends AbilitySub { + public DrawbackReveal(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackReveal(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -8059731932417441449L; @Override @@ -2053,8 +2194,9 @@ public final class AbilityFactoryReveal { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryReveal.revealTrigger(af, this, mandatory); } - - }; + } + final SpellAbility dbReveal = new DrawbackReveal(af.getHostCard(), af.getAbTgt()); + return dbReveal; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactorySacrifice.java b/src/main/java/forge/card/abilityfactory/AbilityFactorySacrifice.java index e561c74e4b2..c247f22967c 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactorySacrifice.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactorySacrifice.java @@ -64,7 +64,18 @@ public class AbilityFactorySacrifice { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilitySacrifice(final AbilityFactory af) { - final SpellAbility abSacrifice = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilitySacrifice extends AbilityActivated { + public AbilitySacrifice(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilitySacrifice(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -1933592438783630254L; @Override @@ -86,7 +97,9 @@ public class AbilityFactorySacrifice { public boolean doTrigger(final boolean mandatory) { return AbilityFactorySacrifice.sacrificeTriggerAI(af, this, mandatory); } - }; + } + final SpellAbility abSacrifice = new AbilitySacrifice(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abSacrifice; } @@ -131,7 +144,18 @@ public class AbilityFactorySacrifice { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackSacrifice(final AbilityFactory af) { - final SpellAbility dbSacrifice = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackSacrifice extends AbilitySub { + public DrawbackSacrifice(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackSacrifice(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -5141246507533353605L; @Override @@ -153,7 +177,9 @@ public class AbilityFactorySacrifice { public boolean doTrigger(final boolean mandatory) { return AbilityFactorySacrifice.sacrificeTriggerAI(af, this, mandatory); } - }; + } + final SpellAbility dbSacrifice = new DrawbackSacrifice(af.getHostCard(), af.getAbTgt()); + return dbSacrifice; } @@ -610,7 +636,18 @@ public class AbilityFactorySacrifice { * @since 1.0.15 */ public static SpellAbility createAbilitySacrificeAll(final AbilityFactory af) { - final SpellAbility abSacrifice = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilitySacrificeAll extends AbilityActivated { + public AbilitySacrificeAll(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilitySacrificeAll(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -1933592438783630254L; @Override @@ -632,7 +669,9 @@ public class AbilityFactorySacrifice { public boolean doTrigger(final boolean mandatory) { return AbilityFactorySacrifice.sacrificeAllCanPlayAI(af, this); } - }; + } + final SpellAbility abSacrifice = new AbilitySacrificeAll(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abSacrifice; } @@ -679,7 +718,18 @@ public class AbilityFactorySacrifice { * @since 1.0.15 */ public static SpellAbility createDrawbackSacrificeAll(final AbilityFactory af) { - final SpellAbility dbSacrifice = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackSacrificeAll extends AbilitySub { + public DrawbackSacrificeAll(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackSacrificeAll(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -5141246507533353605L; @Override @@ -701,7 +751,9 @@ public class AbilityFactorySacrifice { public boolean doTrigger(final boolean mandatory) { return AbilityFactorySacrifice.sacrificeAllCanPlayAI(af, this); } - }; + } + final SpellAbility dbSacrifice = new DrawbackSacrificeAll(af.getHostCard(), af.getAbTgt()); + return dbSacrifice; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactorySetState.java b/src/main/java/forge/card/abilityfactory/AbilityFactorySetState.java index 7ddf065563e..4626f8a868b 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactorySetState.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactorySetState.java @@ -31,6 +31,8 @@ import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; +import forge.card.cardfactory.CardFactoryUtil; +import forge.card.cost.Cost; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -48,8 +50,18 @@ public class AbilityFactorySetState { * @return the change state ability */ public static SpellAbility getSetStateAbility(final AbilityFactory abilityFactory) { - final SpellAbility ret = new AbilityActivated(abilityFactory.getHostCard(), abilityFactory.getAbCost(), - abilityFactory.getAbTgt()) { + class AbilitySetState extends AbilityActivated { + public AbilitySetState(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilitySetState(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -1083427558368639457L; @Override @@ -75,7 +87,9 @@ public class AbilityFactorySetState { return true; } - }; + } + final SpellAbility ret = new AbilitySetState(abilityFactory.getHostCard(), abilityFactory.getAbCost(), + abilityFactory.getAbTgt()); return ret; } @@ -118,8 +132,18 @@ public class AbilityFactorySetState { * @return the change state drawback */ public static SpellAbility getSetStateDrawback(final AbilityFactory abilityFactory) { - final AbilitySub ret = new AbilitySub(abilityFactory.getHostCard(), abilityFactory.getAbTgt()) { - + class DrawbackSetState extends AbilitySub { + public DrawbackSetState(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackSetState(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -3793247725721587468L; @Override @@ -153,8 +177,9 @@ public class AbilityFactorySetState { AbilityFactorySetState.setStateResolve(abilityFactory, this); } - }; - + } + final AbilitySub ret = new DrawbackSetState(abilityFactory.getHostCard(), abilityFactory.getAbTgt()); + return ret; } @@ -299,9 +324,18 @@ public class AbilityFactorySetState { * @return the change state all ability */ public static SpellAbility getSetStateAllAbility(final AbilityFactory abilityFactory) { - final SpellAbility ret = new AbilityActivated(abilityFactory.getHostCard(), abilityFactory.getAbCost(), - abilityFactory.getAbTgt()) { - + class AbilitySetStateAll extends AbilityActivated { + public AbilitySetStateAll(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilitySetStateAll(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 7841029107610111992L; @Override @@ -313,8 +347,9 @@ public class AbilityFactorySetState { public void resolve() { AbilityFactorySetState.setStateAllResolve(abilityFactory, this); } - - }; + } + final SpellAbility ret = new AbilitySetStateAll(abilityFactory.getHostCard(), abilityFactory.getAbCost(), + abilityFactory.getAbTgt()) ; return ret; } @@ -353,8 +388,18 @@ public class AbilityFactorySetState { * @return the change state all drawback */ public static SpellAbility getSetStateAllDrawback(final AbilityFactory abilityFactory) { - final AbilitySub ret = new AbilitySub(abilityFactory.getHostCard(), abilityFactory.getAbTgt()) { - + class DrawbackSetStateAll extends AbilitySub { + public DrawbackSetStateAll(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackSetStateAll(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 4047514893482113436L; @Override @@ -383,8 +428,8 @@ public class AbilityFactorySetState { public void resolve() { AbilityFactorySetState.setStateAllResolve(abilityFactory, this); } - - }; + } + final AbilitySub ret = new DrawbackSetStateAll(abilityFactory.getHostCard(), abilityFactory.getAbTgt()); return ret; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryStoreSVar.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryStoreSVar.java index 7e548959534..7ec253485f1 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryStoreSVar.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryStoreSVar.java @@ -25,6 +25,8 @@ import forge.card.spellability.AbilityActivated; import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; +import forge.card.cost.Cost; +import forge.card.spellability.Target; import forge.game.player.ComputerUtil; /** @@ -46,10 +48,18 @@ public class AbilityFactoryStoreSVar { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityStoreSVar(final AbilityFactory abilityFactory) { - - final SpellAbility abStoreSVar = new AbilityActivated(abilityFactory.getHostCard(), abilityFactory.getAbCost(), - abilityFactory.getAbTgt()) { - + class AbilityStoreSVar extends AbilityActivated { + public AbilityStoreSVar(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityStoreSVar(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -7299561150243337080L; private final AbilityFactory af = abilityFactory; @@ -72,8 +82,9 @@ public class AbilityFactoryStoreSVar { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryStoreSVar.storeSVarDoTriggerAI(this.af, this, mandatory); } - - }; + } + final SpellAbility abStoreSVar = new AbilityStoreSVar(abilityFactory.getHostCard(), abilityFactory.getAbCost(), + abilityFactory.getAbTgt()); return abStoreSVar; } @@ -124,7 +135,18 @@ public class AbilityFactoryStoreSVar { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackStoreSVar(final AbilityFactory abilityFactory) { - final SpellAbility dbStoreSVar = new AbilitySub(abilityFactory.getHostCard(), abilityFactory.getAbTgt()) { + class DrawbackStoreSVar extends AbilitySub { + public DrawbackStoreSVar(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackStoreSVar(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 6631124959690157874L; private final AbilityFactory af = abilityFactory; @@ -161,8 +183,9 @@ public class AbilityFactoryStoreSVar { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryStoreSVar.storeSVarDoTriggerAI(this.af, this, mandatory); } - - }; + } + final SpellAbility dbStoreSVar = new DrawbackStoreSVar(abilityFactory.getHostCard(), abilityFactory.getAbTgt()); + return dbStoreSVar; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryToken.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryToken.java index f5c02f2a995..4ebeda7a30a 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryToken.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryToken.java @@ -152,9 +152,18 @@ public class AbilityFactoryToken extends AbilityFactory { * @return a {@link forge.card.spellability.SpellAbility} object. */ public final SpellAbility getAbility() { - - final SpellAbility abToken = new AbilityActivated(this.abilityFactory.getHostCard(), - this.abilityFactory.getAbCost(), this.abilityFactory.getAbTgt()) { + class AbilityToken extends AbilityActivated { + public AbilityToken(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityToken(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 8460074843405764620L; @Override @@ -176,7 +185,9 @@ public class AbilityFactoryToken extends AbilityFactory { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryToken.this.tokenDoTriggerAI(this, mandatory); } - }; + } + final SpellAbility abToken = new AbilityToken(this.abilityFactory.getHostCard(), + this.abilityFactory.getAbCost(), this.abilityFactory.getAbTgt()); return abToken; } @@ -228,8 +239,18 @@ public class AbilityFactoryToken extends AbilityFactory { * @return a {@link forge.card.spellability.SpellAbility} object. */ public final SpellAbility getDrawback() { - final SpellAbility dbDealDamage = new AbilitySub(this.abilityFactory.getHostCard(), - this.abilityFactory.getAbTgt()) { + class DrawbackToken extends AbilitySub { + public DrawbackToken(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackToken(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 7239608350643325111L; @Override @@ -251,10 +272,11 @@ public class AbilityFactoryToken extends AbilityFactory { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryToken.this.tokenDoTriggerAI(this, mandatory); } + } + final SpellAbility dbToken = new DrawbackToken(this.abilityFactory.getHostCard(), + this.abilityFactory.getAbTgt()); // Spell - }; // Spell - - return dbDealDamage; + return dbToken; } /** @@ -504,22 +526,21 @@ public class AbilityFactoryToken extends AbilityFactory { String colorDesc = ""; for (final String col : substitutedColors) { if (col.equalsIgnoreCase("White")) { - colorDesc += "W"; + colorDesc += "W "; } else if (col.equalsIgnoreCase("Blue")) { - colorDesc += "U"; + colorDesc += "U "; } else if (col.equalsIgnoreCase("Black")) { - colorDesc += "B"; + colorDesc += "B "; } else if (col.equalsIgnoreCase("Red")) { - colorDesc += "R"; + colorDesc += "R "; } else if (col.equalsIgnoreCase("Green")) { - colorDesc += "G"; + colorDesc += "G "; } else if (col.equalsIgnoreCase("Colorless")) { colorDesc = "C"; } } if (this.tokenImage.equals("")) { - - imageName += colorDesc + " " + this.tokenPower + " " + this.tokenToughness + " " + this.tokenName; + imageName += colorDesc.trim() + " " + this.tokenPower + " " + this.tokenToughness + " " + this.tokenName; } else { imageName = this.tokenImage; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryTurns.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryTurns.java index b862b213213..bdbf9f281a6 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryTurns.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryTurns.java @@ -28,6 +28,8 @@ import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; +import forge.card.cardfactory.CardFactoryUtil; +import forge.card.cost.Cost; import forge.game.phase.ExtraTurn; import forge.game.phase.PhaseType; import forge.game.player.ComputerUtil; @@ -57,8 +59,18 @@ public class AbilityFactoryTurns { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityAddTurn(final AbilityFactory af) { - - final SpellAbility abAddTurn = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityAddTurn extends AbilityActivated { + public AbilityAddTurn(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityAddTurn(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -3526200766738015688L; @Override @@ -80,8 +92,9 @@ public class AbilityFactoryTurns { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryTurns.addTurnTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility abAddTurn = new AbilityAddTurn(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abAddTurn; } @@ -135,7 +148,18 @@ public class AbilityFactoryTurns { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackAddTurn(final AbilityFactory af) { - final SpellAbility dbAddTurn = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackAddTurn extends AbilitySub { + public DrawbackAddTurn(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackAddTurn(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -562517287448810951L; @Override @@ -157,8 +181,9 @@ public class AbilityFactoryTurns { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryTurns.addTurnTriggerAI(af, this, mandatory); } - - }; + } + final SpellAbility dbAddTurn = new DrawbackAddTurn(af.getHostCard(), af.getAbTgt()); + return dbAddTurn; } @@ -343,8 +368,18 @@ public class AbilityFactoryTurns { * @return the spell ability */ public static SpellAbility createAbilityEndTurn(final AbilityFactory af) { - final SpellAbility ret = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { - + class AbilityEndTurn extends AbilityActivated { + public AbilityEndTurn(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityEndTurn(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 72570867940224012L; @Override @@ -370,8 +405,8 @@ public class AbilityFactoryTurns { public void resolve() { AbilityFactoryTurns.endTurnResolve(af, this); } - - }; + } + final SpellAbility ret = new AbilityEndTurn(af.getHostCard(), af.getAbCost(), af.getAbTgt()); return ret; } @@ -414,7 +449,18 @@ public class AbilityFactoryTurns { * @return the spell ability */ public static SpellAbility createDrawbackEndTurn(final AbilityFactory af) { - final SpellAbility dbEndTurn = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackEndTurn extends AbilitySub { + public DrawbackEndTurn(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackEndTurn(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -562517287448810951L; @Override @@ -440,8 +486,9 @@ public class AbilityFactoryTurns { return false; } - - }; + } + final SpellAbility dbEndTurn = new DrawbackEndTurn(af.getHostCard(), af.getAbTgt()); + return dbEndTurn; } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryZoneAffecting.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryZoneAffecting.java index 02d3e988c6a..8b0ea11e62d 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryZoneAffecting.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryZoneAffecting.java @@ -1,5 +1,6 @@ /* - * Forge: Play Magic: the Gathering. + +* Forge: Play Magic: the Gathering. * Copyright (C) 2011 Forge Team * * This program is free software: you can redistribute it and/or modify @@ -67,7 +68,18 @@ public class AbilityFactoryZoneAffecting { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityDraw(final AbilityFactory af) { - final SpellAbility abDraw = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityDraw extends AbilityActivated { + public AbilityDraw(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityDraw(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 5445572699000471299L; @Override @@ -89,8 +101,9 @@ public class AbilityFactoryZoneAffecting { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryZoneAffecting.drawTrigger(af, this, mandatory); } - - }; + } + final SpellAbility abDraw = new AbilityDraw(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abDraw; } @@ -144,7 +157,18 @@ public class AbilityFactoryZoneAffecting { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackDraw(final AbilityFactory af) { - final SpellAbility dbDraw = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackDraw extends AbilitySub { + public DrawbackDraw(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackDraw(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -4990932993654533449L; @Override @@ -171,8 +195,9 @@ public class AbilityFactoryZoneAffecting { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryZoneAffecting.drawTrigger(af, this, mandatory); } - - }; + } + final SpellAbility dbDraw = new DrawbackDraw(af.getHostCard(), af.getAbTgt()); + return dbDraw; } @@ -603,7 +628,18 @@ public class AbilityFactoryZoneAffecting { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityMill(final AbilityFactory af) { - final SpellAbility abMill = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityMill extends AbilityActivated { + public AbilityMill(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityMill(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 5445572699000471299L; @Override @@ -625,8 +661,9 @@ public class AbilityFactoryZoneAffecting { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryZoneAffecting.millTrigger(af, this, mandatory); } - - }; + } + final SpellAbility abMill = new AbilityMill(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abMill; } @@ -672,7 +709,18 @@ public class AbilityFactoryZoneAffecting { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackMill(final AbilityFactory af) { - final SpellAbility dbMill = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackMill extends AbilitySub { + public DrawbackMill(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackMill(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = -4990932993654533449L; @Override @@ -694,8 +742,9 @@ public class AbilityFactoryZoneAffecting { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryZoneAffecting.millTrigger(af, this, mandatory); } - - }; + } + final SpellAbility dbMill = new DrawbackMill(af.getHostCard(), af.getAbTgt()); + return dbMill; } @@ -1036,7 +1085,18 @@ public class AbilityFactoryZoneAffecting { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityDiscard(final AbilityFactory af) { - final SpellAbility abDiscard = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityDiscard extends AbilityActivated { + public AbilityDiscard(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityDiscard(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 4348585353456736817L; @Override @@ -1058,8 +1118,10 @@ public class AbilityFactoryZoneAffecting { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryZoneAffecting.discardTrigger(af, this, mandatory); } + } - }; + final SpellAbility abDiscard = new AbilityDiscard(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abDiscard; } @@ -1113,7 +1175,18 @@ public class AbilityFactoryZoneAffecting { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackDiscard(final AbilityFactory af) { - final SpellAbility dbDiscard = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackDiscard extends AbilitySub { + public DrawbackDiscard(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackDiscard(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 4348585353456736817L; @Override @@ -1140,8 +1213,9 @@ public class AbilityFactoryZoneAffecting { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryZoneAffecting.discardTrigger(af, this, mandatory); } - - }; + } + final SpellAbility dbDiscard = new DrawbackDiscard(af.getHostCard(), af.getAbTgt()); + return dbDiscard; } @@ -1644,7 +1718,18 @@ public class AbilityFactoryZoneAffecting { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createAbilityShuffle(final AbilityFactory af) { - final SpellAbility abShuffle = new AbilityActivated(af.getHostCard(), af.getAbCost(), af.getAbTgt()) { + class AbilityShuffle extends AbilityActivated { + public AbilityShuffle(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityShuffle(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -1245185178904838198L; @Override @@ -1666,8 +1751,9 @@ public class AbilityFactoryZoneAffecting { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryZoneAffecting.shuffleTrigger(af, this, mandatory); } - - }; + } + final SpellAbility abShuffle = new AbilityShuffle(af.getHostCard(), af.getAbCost(), af.getAbTgt()); + return abShuffle; } @@ -1713,7 +1799,18 @@ public class AbilityFactoryZoneAffecting { * @return a {@link forge.card.spellability.SpellAbility} object. */ public static SpellAbility createDrawbackShuffle(final AbilityFactory af) { - final SpellAbility dbShuffle = new AbilitySub(af.getHostCard(), af.getAbTgt()) { + class DrawbackShuffle extends AbilitySub { + public DrawbackShuffle(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackShuffle(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 5974307947494280639L; @Override @@ -1735,8 +1832,9 @@ public class AbilityFactoryZoneAffecting { public boolean doTrigger(final boolean mandatory) { return AbilityFactoryZoneAffecting.shuffleTrigger(af, this, mandatory); } - - }; + } + final SpellAbility dbShuffle = new DrawbackShuffle(af.getHostCard(), af.getAbTgt()); + return dbShuffle; } diff --git a/src/main/java/forge/card/cardfactory/CardFactoryArtifacts.java b/src/main/java/forge/card/cardfactory/CardFactoryArtifacts.java index 61e37206be1..10b30dc7600 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryArtifacts.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryArtifacts.java @@ -47,7 +47,10 @@ class CardFactoryArtifacts { final String[] choices = { "Citizen", "Camarid", "Thrull", "Goblin", "Saproling" }; final Player player = card.getController(); - final SpellAbility ability = new Ability(card, "0") { + class SarpadianEmpiresVolVIIETB extends Ability { + public SarpadianEmpiresVolVIIETB(final Card c, final String s) { + super(c,s); + } @Override public void resolve() { String type = ""; @@ -84,25 +87,36 @@ class CardFactoryArtifacts { } } } - card.setChosenType(type); + getSourceCard().setChosenType(type); final String t = type; final String in = imageName; final String col = color; // card.setChosenType(input[0]); - final Cost a1Cost = new Cost(card, "3 T", true); - final AbilityActivated a1 = new AbilityActivated(card, a1Cost, null) { - + class AbilitySarpadianEmpiresVolVII extends AbilityActivated { + private static final long serialVersionUID = -2114111483117171609L; - + + public AbilitySarpadianEmpiresVolVII(Card ca, Cost co, Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilitySarpadianEmpiresVolVII(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + @Override public void resolve() { - CardFactoryUtil.makeToken(t, in, card.getController(), col, new String[] { "Creature", t }, + CardFactoryUtil.makeToken(t, in, getSourceCard().getController(), col, new String[] { "Creature", t }, 1, 1, new String[] { "" }); } - - }; + } + final Cost a1Cost = new Cost(getSourceCard(), "3 T", true); + final AbilityActivated a1 = new AbilitySarpadianEmpiresVolVII(card, a1Cost, null); final StringBuilder sb = new StringBuilder(); sb.append(card.getName()).append(" - ").append(card.getController()); sb.append(" puts a 1/1 ").append(t).append(" token onto the battlefield"); @@ -111,6 +125,7 @@ class CardFactoryArtifacts { card.addSpellAbility(a1); } }; // ability + final SpellAbility ability = new SarpadianEmpiresVolVIIETB(card,"0"); final Command intoPlay = new Command() { private static final long serialVersionUID = 7202704600935499188L; @@ -226,7 +241,18 @@ class CardFactoryArtifacts { // *************** START *********** START ************************** else if (cardName.equals("Goblin Charbelcher")) { final Cost abCost = new Cost(card, "3 T", true); - final AbilityActivated ability = new AbilityActivated(card, abCost, new Target(card, "TgtCP")) { + class AbilityGoblinCharbelcher extends AbilityActivated { + public AbilityGoblinCharbelcher(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityGoblinCharbelcher(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -840041589720758423L; @Override @@ -271,7 +297,9 @@ class CardFactoryArtifacts { this.getTargetPlayer().addDamage(damage, card); } } - }; + } + + final AbilityActivated ability = new AbilityGoblinCharbelcher(card, abCost, new Target(card, "TgtCP")); final StringBuilder sb = new StringBuilder(); sb.append(abCost); @@ -295,9 +323,18 @@ class CardFactoryArtifacts { * next turn's upkeep. */ - final Cost abCost = new Cost(card, "1 T Sac<1/CARDNAME>", true); - final Target target = new Target(card, "Select target player", new String[] { "Player" }); - final AbilityActivated ability = new AbilityActivated(card, abCost, target) { + class AbilityLodestoneBauble extends AbilityActivated { + public AbilityLodestoneBauble(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityLodestoneBauble(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -6711849408085138636L; @Override @@ -363,7 +400,10 @@ class CardFactoryArtifacts { final CardList list = AllZone.getComputerPlayer().getCardsIn(ZoneType.Graveyard); return list.getType("Basic"); } - }; // ability + } + final Cost abCost = new Cost(card, "1 T Sac<1/CARDNAME>", true); + final Target target = new Target(card, "Select target player", new String[] { "Player" }); + final AbilityActivated ability = new AbilityLodestoneBauble(card, abCost, target); final StringBuilder sb = new StringBuilder(); sb.append(abCost); @@ -376,9 +416,20 @@ class CardFactoryArtifacts { // *************** START *********** START ************************** else if (cardName.equals("Grindstone")) { - final Target target = new Target(card, "Select target player", new String[] { "Player" }); - final Cost abCost = new Cost(card, "3 T", true); - final AbilityActivated ab1 = new AbilityActivated(card, abCost, target) { + + class AbilityGrindstone extends AbilityActivated { + public AbilityGrindstone(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityGrindstone(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + res.setChooseTargetAI(CardFactoryUtil.targetHumanAI()); + return res; + } + private static final long serialVersionUID = -6281219446216L; @Override @@ -418,7 +469,12 @@ class CardFactoryArtifacts { target.mill(grinding.size()); } while (loop); } - }; + } + + final Target target = new Target(card, "Select target player", new String[] { "Player" }); + final Cost abCost = new Cost(card, "3 T", true); + final AbilityActivated ab1 = new AbilityGrindstone(card, abCost, target); + ab1.setChooseTargetAI(CardFactoryUtil.targetHumanAI()); final StringBuilder sb = new StringBuilder(); sb.append(abCost); @@ -475,8 +531,18 @@ class CardFactoryArtifacts { // *************** START *********** START ************************** else if (cardName.equals("Scroll Rack")) { - final Cost abCost = new Cost(card, "1 T", true); - final AbilityActivated ability = new AbilityActivated(card, abCost, null) { + class AbilityScrollRack extends AbilityActivated { + public AbilityScrollRack(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityScrollRack(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -5588587187720068547L; @Override @@ -549,7 +615,10 @@ class CardFactoryArtifacts { public boolean canPlayAI() { return false; } - }; // ability + } + final Cost abCost = new Cost(card, "1 T", true); + final AbilityActivated ability = new AbilityScrollRack(card, abCost, null); + final StringBuilder sbDesc = new StringBuilder(); sbDesc.append(abCost); sbDesc.append("Exile any number of cards from your hand face down. Put that many cards "); @@ -616,8 +685,18 @@ class CardFactoryArtifacts { sb.append(cardName).append(" - play card without paying its mana cost."); freeCast.setStackDescription(sb.toString()); - final Cost abCost = new Cost(card, "5 T", true); - final AbilityActivated ability = new AbilityActivated(card, abCost, null) { + class AbilityTemporalAperture extends AbilityActivated { + public AbilityTemporalAperture(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityTemporalAperture(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -7328518969488588777L; @Override @@ -652,7 +731,10 @@ class CardFactoryArtifacts { public boolean canPlayAI() { return false; } - }; + } + + final Cost abCost = new Cost(card, "5 T", true); + final AbilityActivated ability = new AbilityTemporalAperture(card, abCost, null); final StringBuilder sbStack = new StringBuilder(); sbStack.append(card).append(" - Shuffle your library, then reveal the top card."); diff --git a/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java b/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java index e7d547fbc19..d4f29d61102 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java @@ -87,7 +87,11 @@ public class CardFactoryCreatures { private static void getCard_GilderBairn(final Card card, final String cardName) { final Cost abCost = new Cost(card, "2 GU Untap", true); final Target tgt = new Target(card, "Select target permanent.", new String[] { "Permanent" }); - final AbilityActivated a1 = new AbilityActivated(card, abCost, tgt) { + class GilderBairnAbility extends AbilityActivated { + public GilderBairnAbility(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + private static final long serialVersionUID = -1847685865277129366L; @Override @@ -105,6 +109,11 @@ public class CardFactoryCreatures { } } } + + @Override + public AbilityActivated getCopy() { + return new GilderBairnAbility(getSourceCard(),getPayCosts(),new Target(getTarget())); + } @Override public void chooseTargetAI() { @@ -130,14 +139,19 @@ public class CardFactoryCreatures { }); return perms.size() > 0; } - }; // SpellAbility + + @Override + public String getDescription() { + final StringBuilder sb = new StringBuilder(); + sb.append(getPayCosts()); + sb.append("For each counter on target permanent, "); + sb.append("put another of those counters on that permanent."); + return sb.toString(); + } + } + final AbilityActivated a1 = new GilderBairnAbility(card, abCost, tgt); card.addSpellAbility(a1); - final StringBuilder sb = new StringBuilder(); - sb.append(abCost); - sb.append("For each counter on target permanent, "); - sb.append("put another of those counters on that permanent."); - a1.setDescription(sb.toString()); } private static void getCard_MinotaurExplorer(final Card card, final String cardName) { @@ -539,7 +553,16 @@ public class CardFactoryCreatures { private static void getCard_RhysTheRedeemed(final Card card, final String cardName) { final Cost abCost = new Cost(card, "4 GW GW T", true); - final AbilityActivated copyTokens1 = new AbilityActivated(card, abCost, null) { + class RhysTheRedeemedAbility extends AbilityActivated { + public RhysTheRedeemedAbility(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + return new RhysTheRedeemedAbility(getSourceCard(),getPayCosts(),new Target(getTarget())); + } + private static final long serialVersionUID = 6297992502069547478L; @Override @@ -557,13 +580,19 @@ public class CardFactoryCreatures { return allTokens.size() >= 2; } - }; + + @Override + public String getDescription() { + final StringBuilder sbDesc = new StringBuilder(); + sbDesc.append(abCost).append("For each creature token you control, "); + sbDesc.append("put a token that's a copy of that creature onto the battlefield."); + return sbDesc.toString(); + } + } + final AbilityActivated copyTokens1 = new RhysTheRedeemedAbility(card, abCost, null); card.addSpellAbility(copyTokens1); - final StringBuilder sbDesc = new StringBuilder(); - sbDesc.append(abCost).append("For each creature token you control, "); - sbDesc.append("put a token that's a copy of that creature onto the battlefield."); - copyTokens1.setDescription(sbDesc.toString()); + final StringBuilder sbStack = new StringBuilder(); sbStack.append(card.getName()); @@ -600,13 +629,15 @@ public class CardFactoryCreatures { return false; } }; // ability2 - // card.clearSpellAbility(); - card.addSpellAbility(ability2); - final StringBuilder sb2 = new StringBuilder(); sb2.append(card.getName()).append(" - ").append(player); sb2.append(" gains life equal to permanents of the chosen color."); ability2.setStackDescription(sb2.toString()); + + Trigger dmgTrigger = forge.card.trigger.TriggerHandler.parseTrigger("Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you may pay 2 W. If you do, choose a color. You gain 1 life for each permanent of that color.", card, true); + dmgTrigger.setOverridingAbility(ability2); + + card.addTrigger(dmgTrigger); } private static void getCard_SphinxJwar(final Card card, final String cardName) { @@ -643,7 +674,16 @@ public class CardFactoryCreatures { private static void getCard_MasterOfTheWildHunt(final Card card, final String cardName) { final Cost abCost = new Cost(card, "T", true); final Target abTgt = new Target(card, "Target a creature to Hunt", "Creature".split(",")); - final AbilityActivated ability = new AbilityActivated(card, abCost, abTgt) { + class MasterOfTheWildHuntAbility extends AbilityActivated { + public MasterOfTheWildHuntAbility(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + return new MasterOfTheWildHuntAbility(getSourceCard(),getPayCosts(),new Target(getTarget())); + } + private static final long serialVersionUID = 35050145102566898L; @Override @@ -789,15 +829,21 @@ public class CardFactoryCreatures { } } } // resolve() - }; // SpellAbility + + @Override + public String getDescription() { + final StringBuilder sb = new StringBuilder(); + sb.append("Tap: Tap all untapped Wolf creatures you control. "); + sb.append("Each Wolf tapped this way deals damage equal to its "); + sb.append("power to target creature. That creature deals damage "); + sb.append("equal to its power divided as its controller "); + sb.append("chooses among any number of those Wolves."); + return sb.toString(); + } + } + final AbilityActivated ability = new MasterOfTheWildHuntAbility(card, abCost, abTgt); - final StringBuilder sb = new StringBuilder(); - sb.append("Tap: Tap all untapped Wolf creatures you control. "); - sb.append("Each Wolf tapped this way deals damage equal to its "); - sb.append("power to target creature. That creature deals damage "); - sb.append("equal to its power divided as its controller "); - sb.append("chooses among any number of those Wolves."); - ability.setDescription(sb.toString()); + card.addSpellAbility(ability); } @@ -831,7 +877,16 @@ public class CardFactoryCreatures { private static void getCard_MoltenHydra(final Card card, final String cardName) { final Target target = new Target(card, "TgtCP"); final Cost abCost = new Cost(card, "T", true); - final AbilityActivated ability2 = new AbilityActivated(card, abCost, target) { + class MoltenHydraAbility extends AbilityActivated { + public MoltenHydraAbility(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + return new MoltenHydraAbility(getSourceCard(),getPayCosts(),new Target(getTarget())); + } + private static final long serialVersionUID = 2626619319289064289L; @Override @@ -882,16 +937,20 @@ public class CardFactoryCreatures { } card.subtractCounter(Counters.P1P1, total); } // resolve() - }; // SpellAbility + + @Override + public String getDescription() { + final StringBuilder sbDesc = new StringBuilder(); + sbDesc.append(abCost).append("Remove all +1/+1 counters from "); + sbDesc.append(cardName).append(": ").append(cardName); + sbDesc.append(" deals damage to target creature or player equal to the "); + sbDesc.append("number of +1/+1 counters removed this way."); + return sbDesc.toString(); + } + } + final AbilityActivated ability2 = new MoltenHydraAbility(card, abCost, target); - card.addSpellAbility(ability2); - - final StringBuilder sbDesc = new StringBuilder(); - sbDesc.append(abCost).append("Remove all +1/+1 counters from "); - sbDesc.append(cardName).append(": ").append(cardName); - sbDesc.append(" deals damage to target creature or player equal to the "); - sbDesc.append("number of +1/+1 counters removed this way."); - ability2.setDescription(sbDesc.toString()); + card.addSpellAbility(ability2); final StringBuilder sbStack = new StringBuilder(); sbStack.append("Molten Hydra deals damage to number of +1/+1 "); @@ -1184,7 +1243,16 @@ public class CardFactoryCreatures { final Cost cost = new Cost(card, "Sac<1/CARDNAME>", true); final Target tgt = new Target(card, "Select a permanent", "Permanent".split(",")); - final SpellAbility ability = new AbilityActivated(card, cost, tgt) { + class VampireHexmageAbility extends AbilityActivated { + public VampireHexmageAbility(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + return new VampireHexmageAbility(getSourceCard(),getPayCosts(),new Target(getTarget())); + } + private static final long serialVersionUID = -5084369399105353155L; @Override @@ -1230,7 +1298,9 @@ public class CardFactoryCreatures { } } } - }; + } + final SpellAbility ability = new VampireHexmageAbility(card, cost, tgt); + card.addSpellAbility(ability); } @@ -1803,7 +1873,7 @@ public class CardFactoryCreatures { } } - private static void getCard_Nebuhadnezzar(final Card card, final String cardName) { + private static void getCard_Nebuchadnezzar(final Card card, final String cardName) { /* * X, T: Name a card. Target opponent reveals X cards at random from * his or her hand. Then that player discards all cards with that @@ -1812,7 +1882,18 @@ public class CardFactoryCreatures { */ final Cost abCost = new Cost(card, "X T", true); final Target target = new Target(card, "Select target opponent", "Opponent".split(",")); - final AbilityActivated discard = new AbilityActivated(card, abCost, target) { + class NebuchadnezzarAbility extends AbilityActivated { + public NebuchadnezzarAbility(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated discard = new NebuchadnezzarAbility(getSourceCard(),getPayCosts(),new Target(getTarget())); + discard.getRestrictions().setPlayerTurn(true); + return discard; + } + private static final long serialVersionUID = 4839778470534392198L; @Override @@ -1847,17 +1928,21 @@ public class CardFactoryCreatures { public boolean canPlayAI() { return false; } - }; + + @Override + public String getDescription() { + final StringBuilder sbDesc = new StringBuilder(); + sbDesc.append(abCost).append("Name a card. "); + sbDesc.append("Target opponent reveals X cards at random from his or her hand. "); + sbDesc.append("Then that player discards all cards with that name revealed this way. "); + sbDesc.append("Activate this ability only during your turn."); + return sbDesc.toString(); + } + } + final AbilityActivated discard = new NebuchadnezzarAbility(card, abCost, target); discard.getRestrictions().setPlayerTurn(true); - - final StringBuilder sbDesc = new StringBuilder(); - sbDesc.append(abCost).append("Name a card. "); - sbDesc.append("Target opponent reveals X cards at random from his or her hand. "); - sbDesc.append("Then that player discards all cards with that name revealed this way. "); - sbDesc.append("Activate this ability only during your turn."); - discard.setDescription(sbDesc.toString()); - + final StringBuilder sbStack = new StringBuilder(); sbStack.append(cardName).append(" - name a card."); discard.setStackDescription(sbStack.toString()); @@ -1876,10 +1961,18 @@ public class CardFactoryCreatures { theCost = "R"; } - final SpellAbility finalAb = new AbilityActivated(card, new Cost(card, theCost, true), new Target(card, - "Select target creature.", "Creature")) { - private static final long serialVersionUID = 2391351140880148283L; + class DuctCrawlerAbility extends AbilityActivated { + private static final long serialVersionUID = 7914250202245863157L; + public DuctCrawlerAbility(final Card ca, final Cost co, Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + return new DuctCrawlerAbility(getSourceCard(),getPayCosts(),new Target(getTarget())); + } + @Override public void resolve() { final StringBuilder keywordBuilder = new StringBuilder("HIDDEN CARDNAME can't block "); @@ -1902,8 +1995,14 @@ public class CardFactoryCreatures { return this.getSourceCard().toString() + " - Target creature can't block " + this.getSourceCard().getName() + " this turn."; } - }; - finalAb.setDescription(theCost + ": Target creature can't block CARDNAME this turn."); + + @Override + public String getDescription() { + return theCost + ": Target creature can't block CARDNAME this turn."; + } + } + final SpellAbility finalAb = new DuctCrawlerAbility(card, new Cost(card, theCost, true), new Target(card, + "Select target creature.", "Creature")); card.addSpellAbility(finalAb); } @@ -1973,7 +2072,7 @@ public class CardFactoryCreatures { || cardName.equals("Sakashima the Impostor")) { getCard_ClonesSeries(card, cardName); } else if (cardName.equals("Nebuchadnezzar")) { - getCard_Nebuhadnezzar(card, cardName); + getCard_Nebuchadnezzar(card, cardName); } else if (cardName.equals("Duct Crawler") || cardName.equals("Shrewd Hatchling") || cardName.equals("Spin Engine") || cardName.equals("Screeching Griffin")) { getCard_DuctCrawler(card, cardName); @@ -2000,7 +2099,18 @@ public class CardFactoryCreatures { final String[] l = parseMax.split(":"); final int maxLevel = Integer.parseInt(l[1]); - final SpellAbility levelUp = new AbilityActivated(card, manacost) { + class LevelUpAbility extends AbilityActivated { + public LevelUpAbility(final Card ca,final String s) { + super(ca,new Cost(ca, manacost, true),null); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated levelUp = new LevelUpAbility(getSourceCard(),getPayCosts().toString()); + levelUp.getRestrictions().setSorcerySpeed(true); + return levelUp; + } + private static final long serialVersionUID = 3998280279949548652L; @Override @@ -2013,16 +2123,19 @@ public class CardFactoryCreatures { // Todo: Improve Level up code return card.getCounters(Counters.LEVEL) < maxLevel; } - - }; + + @Override + public String getDescription() { + final StringBuilder sbDesc = new StringBuilder(); + sbDesc.append("Level up ").append(manacost).append(" (").append(manacost); + sbDesc.append(": Put a level counter on this. Level up only as a sorcery.)"); + return sbDesc.toString(); + } + } + final SpellAbility levelUp = new LevelUpAbility(card, manacost); levelUp.getRestrictions().setSorcerySpeed(true); card.addSpellAbility(levelUp); - final StringBuilder sbDesc = new StringBuilder(); - sbDesc.append("Level up ").append(manacost).append(" (").append(manacost); - sbDesc.append(": Put a level counter on this. Level up only as a sorcery.)"); - levelUp.setDescription(sbDesc.toString()); - final StringBuilder sbStack = new StringBuilder(); sbStack.append(card).append(" - put a level counter on this."); levelUp.setStackDescription(sbStack.toString()); diff --git a/src/main/java/forge/card/cardfactory/CardFactoryEnchantments.java b/src/main/java/forge/card/cardfactory/CardFactoryEnchantments.java index e48772380bc..a9229c2b5d3 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryEnchantments.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryEnchantments.java @@ -124,7 +124,7 @@ class CardFactoryEnchantments { Singletons.getModel().getGameAction().exile(c2); this.once = true; - AllZone.getStack().addSimultaneousStackEntry(nightSoil); + AllZone.getStack().addAndUnfreeze(nightSoil); } } diff --git a/src/main/java/forge/card/cardfactory/CardFactoryInstants.java b/src/main/java/forge/card/cardfactory/CardFactoryInstants.java index 933daa4e2eb..8161129ef43 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryInstants.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryInstants.java @@ -498,7 +498,18 @@ public class CardFactoryInstants { else if (cardName.equals("Wing Puncture")) { final Target t2 = new Target(card, "Select target creature with flying", "Creature.withFlying".split(",")); - final AbilitySub sub = new AbilitySub(card, t2) { + class DrawbackWingPuncture extends AbilitySub { + public DrawbackWingPuncture(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackWingPuncture(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 4618047889975691050L; @Override @@ -521,7 +532,8 @@ public class CardFactoryInstants { public boolean doTrigger(final boolean b) { return false; } - }; + } + final AbilitySub sub = new DrawbackWingPuncture(card, t2); final Cost abCost = new Cost(card, "G", false); final Target t1 = new Target(card, "Select target creature you control", "Creature.YouCtrl".split(",")); diff --git a/src/main/java/forge/card/cardfactory/CardFactoryLands.java b/src/main/java/forge/card/cardfactory/CardFactoryLands.java index 73e98ed3c65..0b9a7d67835 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryLands.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryLands.java @@ -33,6 +33,7 @@ import forge.card.spellability.Ability; import forge.card.spellability.AbilityActivated; import forge.card.spellability.AbilityMana; import forge.card.spellability.SpellAbility; +import forge.card.spellability.Target; import forge.control.input.Input; import forge.game.phase.PhaseType; import forge.game.player.Player; @@ -142,9 +143,19 @@ class CardFactoryLands { && (c.getTurnInZone() == Singletons.getModel().getGameState().getPhaseHandler().getTurn()); } }; - - final Cost abCost = new Cost(card, "G U T", true); - final AbilityActivated ability = new AbilityActivated(card, abCost, null) { + + class AbilityNovijenHeartOfProgress extends AbilityActivated { + public AbilityNovijenHeartOfProgress(final Card ca,final Cost co,final Target t) { + super(ca,co,t); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityNovijenHeartOfProgress(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = 1416258136308898492L; private final CardList inPlay = new CardList(); @@ -168,7 +179,11 @@ class CardFactoryLands { targ.addCounter(Counters.P1P1, 1); } } - }; + } + + final Cost abCost = new Cost(card, "G U T", true); + final AbilityActivated ability = new AbilityNovijenHeartOfProgress(card, abCost, null); + final StringBuilder sbDesc = new StringBuilder(); sbDesc.append(abCost); sbDesc.append("Put a +1/+1 counter on each creature that entered the battlefield this turn."); @@ -569,6 +584,11 @@ class CardFactoryLands { public boolean canPlay() { return false; } + + @Override + public AbilityActivated getCopy() { + return null; + } }; abMana.setUndoable(false); diff --git a/src/main/java/forge/card/cardfactory/CardFactorySorceries.java b/src/main/java/forge/card/cardfactory/CardFactorySorceries.java index 387c6e3efd0..d9c5184ac37 100644 --- a/src/main/java/forge/card/cardfactory/CardFactorySorceries.java +++ b/src/main/java/forge/card/cardfactory/CardFactorySorceries.java @@ -677,7 +677,18 @@ public class CardFactorySorceries { // *************** START *********** START ************************** else if (cardName.equals("Donate")) { final Target t2 = new Target(card, "Select target Player", "Player".split(",")); - final AbilitySub sub = new AbilitySub(card, t2) { + class DrawbackDonate extends AbilitySub { + public DrawbackDonate(final Card ca,final Target t) { + super(ca,t); + } + + @Override + public AbilitySub getCopy() { + AbilitySub res = new DrawbackDonate(getSourceCard(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this,res); + return res; + } + private static final long serialVersionUID = 4618047889933691050L; @Override @@ -696,7 +707,8 @@ public class CardFactorySorceries { public boolean doTrigger(final boolean b) { return false; } - }; + } + final AbilitySub sub = new DrawbackDonate(card, t2); final Cost abCost = new Cost(card, "2 U", false); final Target t1 = new Target(card, "Select target permanent", "Permanent".split(",")); diff --git a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java index fee13083de3..385cd3da2d8 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java @@ -843,7 +843,21 @@ public class CardFactoryUtil { public static AbilityActivated abilityUnearth(final Card sourceCard, final String manaCost) { final Cost cost = new Cost(sourceCard, manaCost, true); - final AbilityActivated unearth = new AbilityActivated(sourceCard, cost, null) { + class AbilityUnearth extends AbilityActivated { + public AbilityUnearth(final Card ca, final Cost co, final Target t) { + super(ca,co,t); + } + + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityUnearth(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + final SpellAbilityRestriction restrict = new SpellAbilityRestriction(); + restrict.setZone(ZoneType.Graveyard); + restrict.setSorcerySpeed(true); + res.setRestrictions(restrict); + return res; + } + private static final long serialVersionUID = -5633945565395478009L; @Override @@ -863,7 +877,9 @@ public class CardFactoryUtil { } return ComputerUtil.canPayCost(this); } - }; + } + final AbilityActivated unearth = new AbilityUnearth(sourceCard, cost, null); + final SpellAbilityRestriction restrict = new SpellAbilityRestriction(); restrict.setZone(ZoneType.Graveyard); restrict.setSorcerySpeed(true); @@ -1040,8 +1056,18 @@ public class CardFactoryUtil { public static SpellAbility abilityTransmute(final Card sourceCard, String transmuteCost) { transmuteCost += " Discard<1/CARDNAME>"; final Cost abCost = new Cost(sourceCard, transmuteCost, true); - - final SpellAbility transmute = new AbilityActivated(sourceCard, abCost, null) { + class AbilityTransmute extends AbilityActivated { + public AbilityTransmute(final Card ca, final Cost co, final Target t) { + super(ca,co,t); + } + + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityTransmute(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + res.getRestrictions().setZone(ZoneType.Hand); + return res; + } + private static final long serialVersionUID = -4960704261761785512L; @Override @@ -1081,8 +1107,9 @@ public class CardFactoryUtil { } sourceCard.getController().shuffle(); } - - }; + } + final SpellAbility transmute = new AbilityTransmute(sourceCard, abCost, null); + final StringBuilder sbDesc = new StringBuilder(); sbDesc.append("Transmute (").append(abCost.toString()); sbDesc.append("Search your library for a card with the same converted mana cost as this card, reveal it, "); @@ -1174,7 +1201,17 @@ public class CardFactoryUtil { final String[] extrinsicKeywords, final Cost abCost) { final Target target = new Target(sourceCard, "Select target creature you control", "Creature.YouCtrl".split(",")); - final SpellAbility equip = new AbilityActivated(sourceCard, abCost, target) { + class AbilityEquip extends AbilityActivated { + public AbilityEquip(final Card ca, final Cost co, final Target t) { + super(ca,co,t); + } + + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityEquip(getSourceCard(),getPayCosts(),getTarget() == null ? null : new Target(getTarget())); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } + private static final long serialVersionUID = -4960704261761785512L; @Override @@ -1255,8 +1292,9 @@ public class CardFactoryUtil { return list; } // getCreature() - }; // equip ability - + } + final SpellAbility equip = new AbilityEquip(sourceCard, abCost, target); // equip ability + String costDesc = abCost.toString(); // get rid of the ": " at the end costDesc = costDesc.substring(0, costDesc.length() - 2); @@ -3881,6 +3919,40 @@ public class CardFactoryUtil { to.setStaticAbilityStrings(from.getStaticAbilityStrings()); } + + public static void copySpellAbility(SpellAbility from,SpellAbility to) { + to.setDescription(from.getDescription()); + to.setStackDescription(from.getDescription()); + if(from.getAbilityFactory() != null) { + to.setAbilityFactory(new AbilityFactory(from.getAbilityFactory())); + } + if(from.getSubAbility() != null) { + to.setSubAbility(from.getSubAbility().getCopy()); + } + if(from.getRestrictions() != null) { + to.setRestrictions(from.getRestrictions()); + } + if(from.getConditions() != null) { + to.setConditions(from.getConditions()); + } + + for(String sVar : from.getSVars()) { + to.setSVar(sVar, from.getSVar(sVar)); + } + } + + public static void correctAbilityChainSourceCard(final SpellAbility sa, final Card card) + { + sa.setSourceCard(card); + if(sa.getAbilityFactory() != null) + { + sa.getAbilityFactory().setHostCard(card); + } + if(sa.getSubAbility() != null) + { + correctAbilityChainSourceCard(sa.getSubAbility(), card); + } + } /** * Adds the ability factory abilities. diff --git a/src/main/java/forge/card/cost/Cost.java b/src/main/java/forge/card/cost/Cost.java index 3f9d7eaf667..718009bc39f 100644 --- a/src/main/java/forge/card/cost/Cost.java +++ b/src/main/java/forge/card/cost/Cost.java @@ -48,6 +48,12 @@ public class Cost { public final ArrayList getCostParts() { return this.costParts; } + + private SpellAbility assocSA = null; + + public void setSpellAbility(final SpellAbility sa) { + assocSA = sa; + } private boolean sacCost = false; diff --git a/src/main/java/forge/card/cost/CostDiscard.java b/src/main/java/forge/card/cost/CostDiscard.java index 90887801670..9b892d74c90 100644 --- a/src/main/java/forge/card/cost/CostDiscard.java +++ b/src/main/java/forge/card/cost/CostDiscard.java @@ -188,10 +188,10 @@ public class CostDiscard extends CostPartWithList { if (discType.equals("Random")) { if (c == null) { - final String sVar = source.getSVar(amount); + final String sVar = ability.getSVar(amount); // Generalize this if (sVar.equals("XChoice")) { - c = CostUtil.chooseXValue(source, handList.size()); + c = CostUtil.chooseXValue(source, ability, handList.size()); } else { c = AbilityFactory.calculateAmount(source, amount, ability); } @@ -205,10 +205,10 @@ public class CostDiscard extends CostPartWithList { handList = handList.getValidCards(validType, activator, ability.getSourceCard()); if (c == null) { - final String sVar = source.getSVar(amount); + final String sVar = ability.getSVar(amount); // Generalize this if (sVar.equals("XChoice")) { - c = CostUtil.chooseXValue(source, handList.size()); + c = CostUtil.chooseXValue(source, ability, handList.size()); } else { c = AbilityFactory.calculateAmount(source, amount, ability); } @@ -257,7 +257,7 @@ public class CostDiscard extends CostPartWithList { else { Integer c = this.convertAmount(); if (c == null) { - final String sVar = source.getSVar(this.getAmount()); + final String sVar = ability.getSVar(this.getAmount()); if (sVar.equals("XChoice")) { return false; } diff --git a/src/main/java/forge/card/cost/CostExile.java b/src/main/java/forge/card/cost/CostExile.java index 64a44dd800a..ad7de0928f1 100644 --- a/src/main/java/forge/card/cost/CostExile.java +++ b/src/main/java/forge/card/cost/CostExile.java @@ -185,12 +185,12 @@ public class CostExile extends CostPartWithList { CardList list = activator.getCardsIn(this.getFrom()); list = list.getValidCards(this.getType().split(";"), activator, source); if (c == null) { - final String sVar = source.getSVar(amount); + final String sVar = ability.getSVar(amount); // Generalize this if (sVar.equals("XChoice")) { - c = CostUtil.chooseXValue(source, list.size()); + c = CostUtil.chooseXValue(source, ability, list.size()); } else if (sVar.equals("YChoice")) { - c = CostUtil.chooseYValue(source, list.size()); + c = CostUtil.chooseYValue(source, ability, list.size()); } else { c = AbilityFactory.calculateAmount(source, amount, ability); } @@ -222,7 +222,7 @@ public class CostExile extends CostPartWithList { } else { Integer c = this.convertAmount(); if (c == null) { - final String sVar = source.getSVar(this.getAmount()); + final String sVar = ability.getSVar(this.getAmount()); // Generalize this if (sVar.equals("XChoice")) { return false; diff --git a/src/main/java/forge/card/cost/CostGainLife.java b/src/main/java/forge/card/cost/CostGainLife.java index 96b19c0d01e..39208911f4b 100644 --- a/src/main/java/forge/card/cost/CostGainLife.java +++ b/src/main/java/forge/card/cost/CostGainLife.java @@ -124,10 +124,10 @@ public class CostGainLife extends CostPart { Integer c = this.convertAmount(); if (c == null) { - final String sVar = source.getSVar(amount); + final String sVar = ability.getSVar(amount); // Generalize this if (sVar.equals("XChoice")) { - c = CostUtil.chooseXValue(source, life); + c = CostUtil.chooseXValue(source, ability, life); } else { c = AbilityFactory.calculateAmount(source, amount, ability); } @@ -161,7 +161,7 @@ public class CostGainLife extends CostPart { Integer c = this.convertAmount(); if (c == null) { - final String sVar = source.getSVar(this.getAmount()); + final String sVar = ability.getSVar(this.getAmount()); // Generalize this if (sVar.equals("XChoice")) { return false; diff --git a/src/main/java/forge/card/cost/CostMana.java b/src/main/java/forge/card/cost/CostMana.java index 360e1a8f1f0..aaf6d847b6f 100644 --- a/src/main/java/forge/card/cost/CostMana.java +++ b/src/main/java/forge/card/cost/CostMana.java @@ -206,7 +206,7 @@ public class CostMana extends CostPart { int manaToAdd = 0; if (!this.hasNoXManaCost()) { // if X cost is a defined value, other than xPaid - if (!source.getSVar("X").equals("Count$xPaid")) { + if (!ability.getSVar("X").equals("Count$xPaid")) { // this currently only works for things about Targeted object manaToAdd = AbilityFactory.calculateAmount(source, "X", ability) * this.getXMana(); } diff --git a/src/main/java/forge/card/cost/CostMill.java b/src/main/java/forge/card/cost/CostMill.java index 274a6ce651a..751a2b7be5e 100644 --- a/src/main/java/forge/card/cost/CostMill.java +++ b/src/main/java/forge/card/cost/CostMill.java @@ -61,7 +61,7 @@ public class CostMill extends CostPartWithList { Integer i = this.convertAmount(); if (i == null) { - final String sVar = source.getSVar(this.getAmount()); + final String sVar = ability.getSVar(this.getAmount()); if (sVar.equals("XChoice")) { return true; } @@ -85,7 +85,7 @@ public class CostMill extends CostPartWithList { Integer c = this.convertAmount(); if (c == null) { - final String sVar = source.getSVar(this.getAmount()); + final String sVar = ability.getSVar(this.getAmount()); // Generalize this if (sVar.equals("XChoice")) { return false; @@ -130,10 +130,10 @@ public class CostMill extends CostPartWithList { final Player activator = ability.getActivatingPlayer(); if (c == null) { - final String sVar = source.getSVar(amount); + final String sVar = ability.getSVar(amount); // Generalize this if (sVar.equals("XChoice")) { - c = CostUtil.chooseXValue(source, this.getList().size()); + c = CostUtil.chooseXValue(source, ability, this.getList().size()); } else { c = AbilityFactory.calculateAmount(source, amount, ability); } diff --git a/src/main/java/forge/card/cost/CostPayLife.java b/src/main/java/forge/card/cost/CostPayLife.java index eaea189f709..cbdcdaea6ae 100644 --- a/src/main/java/forge/card/cost/CostPayLife.java +++ b/src/main/java/forge/card/cost/CostPayLife.java @@ -129,10 +129,10 @@ public class CostPayLife extends CostPart { Integer c = this.convertAmount(); if (c == null) { - final String sVar = source.getSVar(amount); + final String sVar = ability.getSVar(amount); // Generalize this if (sVar.equals("XChoice")) { - c = CostUtil.chooseXValue(source, life); + c = CostUtil.chooseXValue(source, ability, life); } else { c = AbilityFactory.calculateAmount(source, amount, ability); } @@ -166,7 +166,7 @@ public class CostPayLife extends CostPart { Integer c = this.convertAmount(); if (c == null) { - final String sVar = source.getSVar(this.getAmount()); + final String sVar = ability.getSVar(this.getAmount()); // Generalize this if (sVar.equals("XChoice")) { return false; diff --git a/src/main/java/forge/card/cost/CostRemoveCounter.java b/src/main/java/forge/card/cost/CostRemoveCounter.java index 7a77242a956..3778d6d38dd 100644 --- a/src/main/java/forge/card/cost/CostRemoveCounter.java +++ b/src/main/java/forge/card/cost/CostRemoveCounter.java @@ -213,10 +213,10 @@ public class CostRemoveCounter extends CostPartWithList { c = maxCounters; } else { if (c == null) { - final String sVar = source.getSVar(amount); + final String sVar = ability.getSVar(amount); // Generalize this if (sVar.equals("XChoice")) { - c = CostUtil.chooseXValue(source, maxCounters); + c = CostUtil.chooseXValue(source, ability, maxCounters); } else { c = AbilityFactory.calculateAmount(source, amount, ability); } @@ -255,7 +255,7 @@ public class CostRemoveCounter extends CostPartWithList { } if (c == null) { - final String sVar = source.getSVar(amount); + final String sVar = ability.getSVar(amount); if (sVar.equals("XChoice")) { return false; } diff --git a/src/main/java/forge/card/cost/CostReturn.java b/src/main/java/forge/card/cost/CostReturn.java index 76a07f48c77..5dc4049522f 100644 --- a/src/main/java/forge/card/cost/CostReturn.java +++ b/src/main/java/forge/card/cost/CostReturn.java @@ -147,10 +147,10 @@ public class CostReturn extends CostPartWithList { final Player activator = ability.getActivatingPlayer(); final CardList list = activator.getCardsIn(ZoneType.Battlefield); if (c == null) { - final String sVar = source.getSVar(amount); + final String sVar = ability.getSVar(amount); // Generalize this if (sVar.equals("XChoice")) { - c = CostUtil.chooseXValue(source, list.size()); + c = CostUtil.chooseXValue(source, ability, list.size()); } else { c = AbilityFactory.calculateAmount(source, amount, ability); } diff --git a/src/main/java/forge/card/cost/CostReveal.java b/src/main/java/forge/card/cost/CostReveal.java index 2c490e190a8..4172710e72c 100644 --- a/src/main/java/forge/card/cost/CostReveal.java +++ b/src/main/java/forge/card/cost/CostReveal.java @@ -103,7 +103,7 @@ public class CostReveal extends CostPartWithList { hand = hand.getValidCards(type.split(";"), activator, source); Integer c = this.convertAmount(); if (c == null) { - final String sVar = source.getSVar(this.getAmount()); + final String sVar = ability.getSVar(this.getAmount()); if (sVar.equals("XChoice")) { c = hand.size(); } else { @@ -150,9 +150,9 @@ public class CostReveal extends CostPartWithList { handList = handList.getValidCards(this.getType().split(";"), activator, ability.getSourceCard()); if (c == null) { - final String sVar = source.getSVar(amount); + final String sVar = ability.getSVar(amount); if (sVar.equals("XChoice")) { - c = CostUtil.chooseXValue(source, handList.size()); + c = CostUtil.chooseXValue(source, ability, handList.size()); } else { c = AbilityFactory.calculateAmount(source, amount, ability); } diff --git a/src/main/java/forge/card/cost/CostSacrifice.java b/src/main/java/forge/card/cost/CostSacrifice.java index 72837eef519..af9224e812c 100644 --- a/src/main/java/forge/card/cost/CostSacrifice.java +++ b/src/main/java/forge/card/cost/CostSacrifice.java @@ -170,10 +170,10 @@ public class CostSacrifice extends CostPartWithList { } else { Integer c = this.convertAmount(); if (c == null) { - final String sVar = source.getSVar(amount); + final String sVar = ability.getSVar(amount); // Generalize this if (sVar.equals("XChoice")) { - c = CostUtil.chooseXValue(source, list.size()); + c = CostUtil.chooseXValue(source, ability, list.size()); } else { c = AbilityFactory.calculateAmount(source, amount, ability); } @@ -212,7 +212,7 @@ public class CostSacrifice extends CostPartWithList { } else { Integer c = this.convertAmount(); if (c == null) { - if (source.getSVar(this.getAmount()).equals("XChoice")) { + if (ability.getSVar(this.getAmount()).equals("XChoice")) { return false; } diff --git a/src/main/java/forge/card/cost/CostTap.java b/src/main/java/forge/card/cost/CostTap.java index d9edec8d870..c57a21bf6b1 100644 --- a/src/main/java/forge/card/cost/CostTap.java +++ b/src/main/java/forge/card/cost/CostTap.java @@ -51,7 +51,7 @@ public class CostTap extends CostPart { */ @Override public final void refund(final Card source) { - source.untap(); + source.setTapped(false); } /* diff --git a/src/main/java/forge/card/cost/CostTapType.java b/src/main/java/forge/card/cost/CostTapType.java index 241041a9723..4265cbc9e8b 100644 --- a/src/main/java/forge/card/cost/CostTapType.java +++ b/src/main/java/forge/card/cost/CostTapType.java @@ -97,7 +97,7 @@ public class CostTapType extends CostPartWithList { @Override public final void refund(final Card source) { for (final Card c : this.getList()) { - c.untap(); + c.setTapped(false); } this.getList().clear(); @@ -158,10 +158,10 @@ public class CostTapType extends CostPartWithList { final String amount = this.getAmount(); Integer c = this.convertAmount(); if (c == null) { - final String sVar = source.getSVar(amount); + final String sVar = ability.getSVar(amount); // Generalize this if (sVar.equals("XChoice")) { - c = CostUtil.chooseXValue(source, typeList.size()); + c = CostUtil.chooseXValue(source, ability, typeList.size()); } else { c = AbilityFactory.calculateAmount(source, amount, ability); } @@ -184,7 +184,7 @@ public class CostTapType extends CostPartWithList { final String amount = this.getAmount(); Integer c = this.convertAmount(); if (c == null) { - final String sVar = source.getSVar(amount); + final String sVar = ability.getSVar(amount); if (sVar.equals("XChoice")) { CardList typeList = ability.getActivatingPlayer().getCardsIn(ZoneType.Battlefield); typeList = typeList.getValidCards(this.getType().split(";"), ability.getActivatingPlayer(), diff --git a/src/main/java/forge/card/cost/CostUntap.java b/src/main/java/forge/card/cost/CostUntap.java index f1e41c41ff1..7bf95755690 100644 --- a/src/main/java/forge/card/cost/CostUntap.java +++ b/src/main/java/forge/card/cost/CostUntap.java @@ -51,7 +51,7 @@ public class CostUntap extends CostPart { */ @Override public final void refund(final Card source) { - source.tap(); + source.setTapped(true); } /* diff --git a/src/main/java/forge/card/cost/CostUtil.java b/src/main/java/forge/card/cost/CostUtil.java index e6914f9299c..3a5e226ae7c 100644 --- a/src/main/java/forge/card/cost/CostUtil.java +++ b/src/main/java/forge/card/cost/CostUtil.java @@ -269,12 +269,12 @@ public class CostUtil { final String amount = part.getAmount(); Integer c = part.convertAmount(); if (c == null) { - final String sVar = source.getSVar(amount); + final String sVar = ability.getSVar(amount); // Generalize this if (sVar.equals("XChoice")) { - c = CostUtil.chooseXValue(source, maxChoice); + c = CostUtil.chooseXValue(source, ability, maxChoice); } if (sVar.equals("YChoice")) { - c = CostUtil.chooseYValue(source, maxChoice); + c = CostUtil.chooseYValue(source, ability, maxChoice); } else { c = AbilityFactory.calculateAmount(source, amount, ability); } @@ -291,8 +291,8 @@ public class CostUtil { * the max value * @return the int */ - public static int chooseXValue(final Card card, final int maxValue) { - final String chosen = card.getSVar("ChosenX"); + public static int chooseXValue(final Card card, final SpellAbility sa, final int maxValue) { + final String chosen = sa.getSVar("ChosenX"); if (chosen.length() > 0) { return AbilityFactory.calculateAmount(card, "ChosenX", null); } @@ -303,7 +303,7 @@ public class CostUtil { } final Object o = GuiUtils.chooseOne(card.toString() + " - Choose a Value for X", choiceArray); final int chosenX = (Integer) o; - card.setSVar("ChosenX", "Number$" + Integer.toString(chosenX)); + sa.setSVar("ChosenX", "Number$" + Integer.toString(chosenX)); return chosenX; } @@ -317,8 +317,8 @@ public class CostUtil { * the max value * @return the int */ - public static int chooseYValue(final Card card, final int maxValue) { - final String chosen = card.getSVar("ChosenY"); + public static int chooseYValue(final Card card, final SpellAbility sa, final int maxValue) { + final String chosen = sa.getSVar("ChosenY"); if (chosen.length() > 0) { return AbilityFactory.calculateAmount(card, "ChosenY", null); } diff --git a/src/main/java/forge/card/mana/ManaCostShard.java b/src/main/java/forge/card/mana/ManaCostShard.java index df87ae38d7f..bf351b031d3 100644 --- a/src/main/java/forge/card/mana/ManaCostShard.java +++ b/src/main/java/forge/card/mana/ManaCostShard.java @@ -285,7 +285,7 @@ public class ManaCostShard { return element; } } - throw new RuntimeException(String.format("Not fount: mana shard with profile = %x", atoms)); + throw new RuntimeException(String.format("Not found: mana shard with profile = %x", atoms)); } /* diff --git a/src/main/java/forge/card/spellability/AbilityActivated.java b/src/main/java/forge/card/spellability/AbilityActivated.java index 5c232f0c5fd..e2ce48e7b1e 100644 --- a/src/main/java/forge/card/spellability/AbilityActivated.java +++ b/src/main/java/forge/card/spellability/AbilityActivated.java @@ -73,8 +73,14 @@ public abstract class AbilityActivated extends SpellAbility implements java.io.S if ((tgt != null) && tgt.doesTarget()) { this.setTarget(tgt); } + + this.getPayCosts().setSpellAbility(this); } - + + public abstract AbilityActivated getCopy();/* { + return null; + } + /** {@inheritDoc} */ @Override public boolean canPlay() { diff --git a/src/main/java/forge/card/spellability/AbilityMana.java b/src/main/java/forge/card/spellability/AbilityMana.java index 8e73ab68ad9..6995bd109c8 100644 --- a/src/main/java/forge/card/spellability/AbilityMana.java +++ b/src/main/java/forge/card/spellability/AbilityMana.java @@ -24,6 +24,7 @@ import forge.AllZone; import forge.AllZoneUtil; import forge.Card; import forge.card.abilityfactory.AbilityFactory; +import forge.card.cardfactory.CardFactoryUtil; import forge.card.cost.Cost; import forge.card.mana.Mana; import forge.card.mana.ManaPool; @@ -39,7 +40,7 @@ import forge.game.player.Player; * @author Forge * @version $Id$ */ -public abstract class AbilityMana extends AbilityActivated implements java.io.Serializable { +public class AbilityMana extends AbilityActivated implements java.io.Serializable { /** Constant serialVersionUID=-6816356991224950520L. */ private static final long serialVersionUID = -6816356991224950520L; @@ -73,6 +74,13 @@ public abstract class AbilityMana extends AbilityActivated implements java.io.Se public AbilityMana(final Card sourceCard, final String parse, final String produced) { this(sourceCard, parse, produced, 1); } + + @Override + public AbilityActivated getCopy() { + AbilityActivated res = new AbilityMana(getSourceCard(),getPayCosts(),getManaProduced()); + CardFactoryUtil.copySpellAbility(this, res); + return res; + } /** *

diff --git a/src/main/java/forge/card/spellability/AbilitySub.java b/src/main/java/forge/card/spellability/AbilitySub.java index 6c84e02281d..41b6626c653 100644 --- a/src/main/java/forge/card/spellability/AbilitySub.java +++ b/src/main/java/forge/card/spellability/AbilitySub.java @@ -63,6 +63,8 @@ public abstract class AbilitySub extends SpellAbility implements java.io.Seriali * @return a boolean. */ public abstract boolean chkAIDrawback(); + + public abstract AbilitySub getCopy(); /** {@inheritDoc} */ @Override diff --git a/src/main/java/forge/card/spellability/SpellAbility.java b/src/main/java/forge/card/spellability/SpellAbility.java index 9c104330d50..77b64480253 100644 --- a/src/main/java/forge/card/spellability/SpellAbility.java +++ b/src/main/java/forge/card/spellability/SpellAbility.java @@ -19,6 +19,7 @@ package forge.card.spellability; import java.util.ArrayList; import java.util.HashMap; +import java.util.Set; import forge.Card; import forge.CardList; @@ -126,6 +127,20 @@ public abstract class SpellAbility { }; private CardList tappedForConvoke = new CardList(); + + private HashMap sVars = new HashMap(); + + public final String getSVar(final String name) { + return sVars.get(name) != null ? sVars.get(name) : ""; + } + + public final void setSVar(final String name, final String value) { + sVars.put(name,value); + } + + public Set getSVars() { + return sVars.keySet(); + } /** *

diff --git a/src/main/java/forge/card/staticability/StaticAbility.java b/src/main/java/forge/card/staticability/StaticAbility.java index a255ddf0945..29c01267874 100644 --- a/src/main/java/forge/card/staticability/StaticAbility.java +++ b/src/main/java/forge/card/staticability/StaticAbility.java @@ -147,7 +147,7 @@ public class StaticAbility { return 5; } - if (this.mapParams.containsKey("RemoveAllAbilities")) { + if (this.mapParams.containsKey("RemoveAllAbilities") || this.mapParams.containsKey("GainsAbilitiesOf")) { return 6; // Layer 6 } @@ -397,6 +397,10 @@ public class StaticAbility { if (mode.equals("ETBTapped")) { return StaticAbilityETBTapped.applyETBTappedAbility(this, card); } + + if (mode.equals("GainAbilitiesOf")) { + + } return false; } diff --git a/src/main/java/forge/card/staticability/StaticAbilityContinuous.java b/src/main/java/forge/card/staticability/StaticAbilityContinuous.java index 111c792bb6d..43aed66d74e 100644 --- a/src/main/java/forge/card/staticability/StaticAbilityContinuous.java +++ b/src/main/java/forge/card/staticability/StaticAbilityContinuous.java @@ -30,6 +30,7 @@ import forge.StaticEffect; import forge.card.abilityfactory.AbilityFactory; import forge.card.cardfactory.CardFactoryUtil; import forge.card.replacement.ReplacementEffect; +import forge.card.spellability.AbilityActivated; import forge.card.spellability.SpellAbility; import forge.card.trigger.Trigger; import forge.card.trigger.TriggerHandler; @@ -215,6 +216,36 @@ public class StaticAbilityContinuous { } addTriggers = sVars; } + + if (params.containsKey("GainsAbilitiesOf")) { + final String[] valids = params.get("GainsAbilitiesOf").split(","); + ArrayList validZones = new ArrayList(); + validZones.add(ZoneType.Battlefield); + if(params.containsKey("GainsAbilitiesOfZones")) { + validZones.clear(); + for(String s : params.get("GainsAbilitiesOfZones").split(",")) { + validZones.add(ZoneType.smartValueOf(s)); + } + } + + CardList cardsIGainedAbilitiesFrom = AllZoneUtil.getCardsIn(validZones); + cardsIGainedAbilitiesFrom = cardsIGainedAbilitiesFrom.getValidCards(valids, hostCard.getController(), hostCard); + + for(Card c : cardsIGainedAbilitiesFrom) { + for(SpellAbility sa : c.getSpellAbilities()) { + if(sa instanceof AbilityActivated) { + SpellAbility newSA = ((AbilityActivated)sa).getCopy(); + if(newSA == null) { + System.out.println("Uh-oh..."); + } + newSA.setType("Temporary"); + CardFactoryUtil.correctAbilityChainSourceCard(newSA, hostCard); + hostCard.addSpellAbility(newSA); + } + } + } + + } // modify players for (final Player p : affectedPlayers) { diff --git a/src/main/java/forge/control/bazaar/package-info.java b/src/main/java/forge/control/bazaar/package-info.java index ddf3248f184..05df9b6f0e0 100644 --- a/src/main/java/forge/control/bazaar/package-info.java +++ b/src/main/java/forge/control/bazaar/package-info.java @@ -1,3 +1,3 @@ -/** Controller (as in model-view-controller) for Forge. */ -package forge.control.bazaar; - +/** Controller (as in model-view-controller) for Forge. */ +package forge.control.bazaar; + diff --git a/src/main/java/forge/game/limited/SealedDeck.java b/src/main/java/forge/game/limited/SealedDeck.java index 88ba97282ce..18101ca2cf8 100644 --- a/src/main/java/forge/game/limited/SealedDeck.java +++ b/src/main/java/forge/game/limited/SealedDeck.java @@ -432,7 +432,6 @@ public class SealedDeck { if (deck.get(i).getName().equals("Plains") || deck.get(i).getName().equals("Island") || deck.get(i).getName().equals("Swamp") || deck.get(i).getName().equals("Mountain") || deck.get(i).getName().equals("Forest")) { - //System.out.println("Heyo!"); } aiDeck.getMain().add(deck.get(i)); } diff --git a/src/main/java/forge/game/phase/EndOfTurn.java b/src/main/java/forge/game/phase/EndOfTurn.java index daf5b42aedf..8565780a60f 100644 --- a/src/main/java/forge/game/phase/EndOfTurn.java +++ b/src/main/java/forge/game/phase/EndOfTurn.java @@ -22,7 +22,6 @@ import forge.AllZoneUtil; import forge.Card; import forge.CardList; import forge.CardListFilter; -import forge.CardListUtil; import forge.Counters; import forge.Singletons; import forge.card.spellability.Ability; @@ -30,7 +29,6 @@ import forge.card.spellability.SpellAbility; import forge.game.GameLossReason; import forge.game.player.Player; import forge.game.zone.ZoneType; -import forge.gui.GuiUtils; /** *

@@ -56,7 +54,7 @@ public class EndOfTurn extends Phase implements java.io.Serializable { final CardList all = AllZoneUtil.getCardsIn(ZoneType.Battlefield); - EndOfTurn.endOfTurnWallOfReverence(); + //EndOfTurn.endOfTurnWallOfReverence(); EndOfTurn.endOfTurnLighthouseChronologist(); // reset mustAttackEntity for me @@ -229,7 +227,7 @@ public class EndOfTurn extends Phase implements java.io.Serializable { } // executeAt() - private static void endOfTurnWallOfReverence() { + /*private static void endOfTurnWallOfReverence() { final Player player = Singletons.getModel().getGameState().getPhaseHandler().getPlayerTurn(); final CardList list = player.getCardsIn(ZoneType.Battlefield, "Wall of Reverence"); @@ -272,7 +270,7 @@ public class EndOfTurn extends Phase implements java.io.Serializable { AllZone.getStack().addSimultaneousStackEntry(ability); } - } // endOfTurnWallOfReverence() + } // endOfTurnWallOfReverence()*/ private static void endOfTurnLighthouseChronologist() { final Player player = Singletons.getModel().getGameState().getPhaseHandler().getPlayerTurn(); diff --git a/src/main/java/forge/game/phase/package-info.java b/src/main/java/forge/game/phase/package-info.java index 935a3bae7d9..c7367dbf9ec 100644 --- a/src/main/java/forge/game/phase/package-info.java +++ b/src/main/java/forge/game/phase/package-info.java @@ -1,3 +1,3 @@ -/** Forge Card Game. */ -package forge.game.phase; - +/** Forge Card Game. */ +package forge.game.phase; + diff --git a/src/main/java/forge/game/player/package-info.java b/src/main/java/forge/game/player/package-info.java index 2f2011c58fb..fe3263c95cb 100644 --- a/src/main/java/forge/game/player/package-info.java +++ b/src/main/java/forge/game/player/package-info.java @@ -1,3 +1,3 @@ -/** Forge Card Game. */ -package forge.game.player; - +/** Forge Card Game. */ +package forge.game.player; + diff --git a/src/main/java/forge/game/zone/MagicStack.java b/src/main/java/forge/game/zone/MagicStack.java index 2e88f6d6920..9827095fd21 100644 --- a/src/main/java/forge/game/zone/MagicStack.java +++ b/src/main/java/forge/game/zone/MagicStack.java @@ -1059,7 +1059,7 @@ public class MagicStack extends MyObservable { //Setup a Rebound-trigger final Trigger reboundTrigger = forge.card.trigger.TriggerHandler.parseTrigger("Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | OptionalDecider$ You | TriggerDescription$ At the beginning of your next upkeep, you may cast " + source.toString() + " without paying it's manacost.", source, true); - final AbilityActivated trigAb = new AbilityActivated(source, "0") { + final Ability trigAb = new Ability(source, "0") { private static final long serialVersionUID = 7497175394128633122L; diff --git a/src/main/java/forge/game/zone/package-info.java b/src/main/java/forge/game/zone/package-info.java index 019ead82538..0d4ba0eb13b 100644 --- a/src/main/java/forge/game/zone/package-info.java +++ b/src/main/java/forge/game/zone/package-info.java @@ -1,3 +1,3 @@ -/** Forge Card Game. */ -package forge.game.zone; - +/** Forge Card Game. */ +package forge.game.zone; + diff --git a/src/main/java/forge/gui/GuiDisplayUtil.java b/src/main/java/forge/gui/GuiDisplayUtil.java index ef9a66cb55e..4f6ae97111b 100644 --- a/src/main/java/forge/gui/GuiDisplayUtil.java +++ b/src/main/java/forge/gui/GuiDisplayUtil.java @@ -41,9 +41,15 @@ import forge.CardUtil; import forge.Constant; import forge.Counters; import forge.Singletons; +import forge.StaticEffects; +import forge.card.replacement.ReplacementHandler; import forge.card.spellability.AbilityMana; +import forge.card.trigger.TriggerHandler; import forge.card.trigger.TriggerType; +import forge.control.input.InputControl; +import forge.game.phase.Combat; import forge.game.player.Player; +import forge.game.zone.PlayerZone; import forge.game.zone.ZoneType; import forge.item.CardDb; import forge.item.CardPrinted; @@ -762,5 +768,36 @@ public final class GuiDisplayUtil { } } } + + public static void devModeBreakpoint() { + List Players = AllZone.getPlayersInGame(); + + Combat CombatHandler = AllZone.getCombat(); + + TriggerHandler Triggers = AllZone.getTriggerHandler(); + + InputControl InputHandler = AllZone.getInputControl(); + + ReplacementHandler Replacements = AllZone.getReplacementHandler(); + + StaticEffects StaticHandler = AllZone.getStaticEffects(); + + List Zones = new ArrayList(); + for(Player p : Players) + { + Zones.add(p.getZone(ZoneType.Ante)); + Zones.add(p.getZone(ZoneType.Battlefield)); + Zones.add(p.getZone(ZoneType.Command)); + Zones.add(p.getZone(ZoneType.Exile)); + Zones.add(p.getZone(ZoneType.Graveyard)); + Zones.add(p.getZone(ZoneType.Hand)); + Zones.add(p.getZone(ZoneType.Library)); + Zones.add(p.getZone(ZoneType.Sideboard)); + Zones.add(p.getZone(ZoneType.Stack)); + } + + //Set a breakpoint on the following statement + System.out.println("Manual Breakpoint"); + } } // end class GuiDisplayUtil diff --git a/src/main/java/forge/gui/deckeditor/controllers/CEditorQuestCardShop.java b/src/main/java/forge/gui/deckeditor/controllers/CEditorQuestCardShop.java index 0569803411c..9017d8fdded 100644 --- a/src/main/java/forge/gui/deckeditor/controllers/CEditorQuestCardShop.java +++ b/src/main/java/forge/gui/deckeditor/controllers/CEditorQuestCardShop.java @@ -71,7 +71,7 @@ public final class CEditorQuestCardShop extends ACEditorBase 0 || (manaCost.getGenericCost() == 0 && width == 0)); + if (manaCost.getGenericCost() > 0 || (manaCost.getGenericCost() == 0 && width == 0)) { width++; - - /* - StringTokenizer tok = new StringTokenizer(manaCost, " "); - while (tok.hasMoreTokens()) { - String symbol = tok.nextToken(); - width += symbol.length() > 2 ? 10 : 14; // slash.png is only 10 - // pixels wide. } - */ + + //System.out.println(String.format("%d for %s", width, manaCost.toString())); return width * 14; } } diff --git a/src/main/java/forge/quest/QuestController.java b/src/main/java/forge/quest/QuestController.java index 0f0124e8cee..df18a15530f 100644 --- a/src/main/java/forge/quest/QuestController.java +++ b/src/main/java/forge/quest/QuestController.java @@ -191,10 +191,11 @@ public class QuestController { * @param diff the diff * @param mode the mode * @param startPool the start type + * @param startFormat the format of starting pool * @param preconName the precon name */ public void newGame(final String name, final int diff, final QuestMode mode, final QuestStartPool startPool, - final String preconName) { + final String startFormat, final String preconName) { this.load(new QuestData(name, diff, mode)); @@ -204,8 +205,8 @@ public class QuestController { this.myCards.addPreconDeck(QuestController.preconManager.get(preconName)); return; - case Standard: - filter = Singletons.getModel().getFormats().getStandard().getFilterPrinted(); + case Rotating: + filter = Singletons.getModel().getFormats().getFormat(startFormat).getFilterPrinted(); break; default: // Unrestricted diff --git a/src/main/java/forge/quest/QuestStartPool.java b/src/main/java/forge/quest/QuestStartPool.java index cf344f3d1df..d8e3a31879f 100644 --- a/src/main/java/forge/quest/QuestStartPool.java +++ b/src/main/java/forge/quest/QuestStartPool.java @@ -2,7 +2,6 @@ package forge.quest; public enum QuestStartPool { Complete, - Standard, - Extended, + Rotating, Precon } diff --git a/src/main/java/forge/util/closures/package-info.java b/src/main/java/forge/util/closures/package-info.java index b1fb48495e3..11f8fe8b617 100644 --- a/src/main/java/forge/util/closures/package-info.java +++ b/src/main/java/forge/util/closures/package-info.java @@ -1,3 +1,3 @@ -/** Forge Card Game. */ -package forge.util.closures; - +/** Forge Card Game. */ +package forge.util.closures; + diff --git a/src/main/java/forge/view/Main.java b/src/main/java/forge/view/Main.java index 0e88c1772cc..29355be5bba 100644 --- a/src/main/java/forge/view/Main.java +++ b/src/main/java/forge/view/Main.java @@ -43,6 +43,9 @@ public final class Main { * an array of {@link java.lang.String} objects. */ public static void main(final String[] args) { + //Possible solution to "Comparison method violates it's general contract!" crash + System.setProperty("java.util.Arrays.useLegacyMergeSort", "true"); + ExceptionHandler.registerErrorHandling(); Singletons.setModel(FModel.SINGLETON_INSTANCE); diff --git a/src/main/java/net/slightlymagic/braids/package-info.java b/src/main/java/net/slightlymagic/braids/package-info.java index 3197f556095..097e0089cda 100644 --- a/src/main/java/net/slightlymagic/braids/package-info.java +++ b/src/main/java/net/slightlymagic/braids/package-info.java @@ -1,3 +1,3 @@ -/** Forge Card Game. */ -package net.slightlymagic.braids; - +/** Forge Card Game. */ +package net.slightlymagic.braids; +