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
release Update *.sh and *.java files to use Unix line endings 2020-07-09 13:07:26 -04:00
build-and-package-console.pl
build-and-package.pl
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
extract_in_wiki_format.pl
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
gen-existing-cards-by-set.pl
gen-list-cards-for-set.pl
gen-list-implemented-cards-for-set.pl
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
gen_all_files_in_dck.pl
gen_list_duplicate_collector_ids.pl
gen_types_list.pl
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
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
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
readme.txt
update-list-implemented-cards.pl
version-bump.pl

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