mage/Utils
Evan Kranzler 947351932b
Ready for Review: Implementing Battles (#10156)
* add types and subtypes

* add startingDefense attribute

* [MOM] Implement Invasion of Ravnica / Guildpact Paragon

* fix two small errors

* refactor various instances of "any target"

* fully implement defense counters

* battles can now be attacked

* [MOM] Implement Invasion of Dominaria / Serra Faithkeeper

* [MOM] Implement Invasion of Innistrad / Deluge of the Dead

* [MOM] Implement Invasion of Kaladesh / Aetherwing, Golden-Scale Flagship

* [MOM] Implement Invasion of Kamigawa / Rooftop Saboteurs

* [MOM] Implement Invasion of Karsus / Refraction Elemental

* [MOM] Implement Invasion of Tolvada / The Broken Sky

* simplify battle info ability

* fix verify failure

* some more fixes for attacking battles

* [MOM] Implement Invasion of Kaldheim / Pyre of the World Tree

* [MOM] Implement Invasion of Lorwyn / Winnowing Forces

* [MOM] Implement Invasion of Moag / Bloomwielder Dryads

* [MOM] Implement Invasion of Shandalar / Leyline Surge

* [MOM] Implement Invasion of Belenon / Belenon War Anthem

* [MOM] Implement Invasion of Pyrulea / Gargantuan Slabhorn

* [MOM] Implement Invasion of Vryn / Overloaded Mage-Ring

* [MOM] Implement Marshal of Zhalfir

* [MOM] Implement Sunfall

* implement protectors for sieges

* partially implement siege defeated trigger

* fix verify failure

* some updates to blocking

* [MOM] Implement Invasion of Mercadia / Kyren Flamewright

* [MOM] Implement Invasion of Theros / Ephara, Ever-Sheltering

* [MOM] Implement Invasion of Ulgrotha / Grandmother Ravi Sengir

* [MOM] Implement Invasion of Xerex / Vertex Paladin

* add initial battle test

* fix verify failure

* [MOM] Implement Invasion of Amonkhet / Lazotep Convert

* [MOM] update spoiler

* update how protectors are chosen

* update text

* battles can't block

* add control change test

* rename battle test for duel

* add multiplayer test

* [MOM] Implement Invasion of Alara / Awaken the Maelstrom

* [MOM] Implement Invasion of Eldraine

* [MOM] Implement Invasion of Ergamon / Truga Cliffhanger

* [MOM] Implement Invasion of Ixalan / Belligerent Regisaur

* battles now cast transformed (this is super hacky but we need to refactor TDFCs anyway)

* add TODO

* add ignore for randomly failing test

* a few small fixes

* add defense to MtgJsonCard (unused like loyalty)

* implement ProtectorIdPredicate

* small fixes
2023-04-13 20:03:16 -04:00
..
picks Added pick orders for SOM, M11, ROE, WWK, ZEN. 2011-02-08 11:43:06 +03:00
release Update *.sh and *.java files to use Unix line endings 2020-07-09 13:07:26 -04:00
build-and-package-console.pl Added logic to build and package server console. 2016-02-04 21:09:27 +01:00
build-and-package.pl * Fixed that startMage.sh was not copied by build-and-package.pl to the zip archiv. 2014-10-11 01:02:56 +02:00
cardClass.tmpl Ready for Review: Implementing Battles (#10156) 2023-04-13 20:03:16 -04:00
cardExtendedClass.tmpl updated card generation templates 2018-12-20 19:22:11 -05:00
cardExtendedLandClass.tmpl updated card generation templates 2018-12-20 19:22:11 -05:00
cardSplitClass.tmpl updated card generation templates 2018-12-20 19:22:11 -05:00
CubeCobraDownloader.py CubeCobraDownloader.py Utility script for adding cubes 2023-02-02 02:40:00 +01:00
cut.pl Fixed symbols and images download from wizards; 2019-06-23 18:56:25 +04:00
de-dup-cards-data.py python script added to remove duplicates from mtg-cards-data.txt. backed up old version with _old. deduped file is half the size 2016-08-27 15:52:23 -04:00
extract_in_wiki_format.pl Make perl scripts executable on Unix 2015-06-19 09:41:43 +03:00
find_new_cards.pl Fixed deck file names for windows perl script compatible 2019-01-16 21:01:09 +04:00
gen-card.pl Ready for Review: Implementing Battles (#10156) 2023-04-13 20:03:16 -04:00
gen-existing-cards-by-set-author.pl Utility to count authors per set 2017-07-16 21:16:57 +10:00
gen-existing-cards-by-set.pl Add code search to github tracking set. 2018-04-17 23:56:55 +10:00
gen-list-cards-for-set.pl linux fixes (dox2unix) and basic lands added from LEA to 3ED 2013-07-21 03:18:23 -05:00
gen-list-implemented-cards-for-set.pl Fix a couple of the perl scripts to work properly with the cards.f.FirstLetter style card class reorg 2017-04-10 16:13:42 -06:00
gen-list-unimplemented-cards-for-set.pl * gen-list-unimplemented-cards-for-set - Some updates to link generation. 2019-01-05 16:14:45 +01:00
gen-simple-cards-by-set.pl Merge origin/master 2016-11-05 11:55:24 +01:00
gen_all_files_in_dck.pl Add argument. Can go say: gen_all_files_in_dck.pl basic to find just basics or gen_all_files_in_dck.pl basic | grep "HOU:" to find just HOU basics. 2017-07-07 21:42:49 +10:00
gen_list_duplicate_collector_ids.pl spjspj - Update gen_list_duplicate_collector_ids.pl 2016-10-08 12:53:04 +11:00
gen_types_list.pl [AKH] Added 3/27 spoilers to mtg-cards-data.txt. Implemented several of the new cards. 2017-03-28 22:25:29 -05:00
get_modo_artids.pl Fixed set codes for the Duel Deck Anthology deck sets. 2020-03-24 17:32:06 +01:00
get_spoiler_txt_ixa.bat Way to get the spoiler text from mythicspoiler (modifications to the source for each set necessary though..) 2017-08-30 00:14:24 +10:00
keywords.txt [MOM] Implement Boon-Bringer Valkyrie 2023-03-30 19:40:36 -04:00
known-sets.txt [MOM] Implement Transcendent Message 2023-03-30 09:10:24 -04:00
modo_artids spjspj - Add in a new way to allow just the Face Art for cards into the viewer. 2017-11-18 01:37:10 +11:00
mtg-cards-data.txt [MOC] update spoiler and reprints 2023-04-13 09:15:59 -04:00
mtg-sets-data.txt [MAT] add set 2023-02-19 16:38:31 -05:00
pick-convertor.pl Make perl scripts executable on Unix 2015-06-19 09:41:43 +03:00
readme.txt Add script that generates list of unimplemented cards for a set 2013-12-05 22:53:35 +04:00
update-list-implemented-cards.pl Make perl scripts executable on Unix 2015-06-19 09:41:43 +03:00
version-bump.pl Make perl scripts executable on Unix 2015-06-19 09:41:43 +03:00

Usage:
gen-card.pl - enter the card name when prompted to generate the java classes
gen-existing-cards-by-set.pl - generates the java clases for the cards from the set of your choice that already have an implementation
gen-simple-cards-by-set.pl - generates the java clases for the cards from the set of your choice that can be completly generated
update-list-implemented-cards.pl
 - generates
  - oldList.txt: list of cards implemented at the time the script is ran
  - newList.txt: list of cards implemented since the last time the script was ran
gen-list-cards-for-set.pl - generates the file for cards for a set
gen-list-unimplemented-cards-for-set.pl - generates the file for unimplemented cards for a set
  
Files used:
 - author.txt - one line file that contains the author name you want to appear in the generated java files
 - keywords.txt - list of keywords that have an implementation and are automatically added to the card implementation
 - known-sets.txt - list of sets used in mage (Set name and Package name)
 - mtg-cards-data.txt - MTG cards data (generated from the Gatherer database)
 - mtg-sets-data.txt - list of sets in MTG and the 3 letters code for each of them