Commit graph

1344 commits

Author SHA1 Message Date
Evan Kranzler
dacf30f4b9
Refactoring subtypes to make Maskwood Nexus work (ready for review) (#7432)
* removed and renamed SubTypeList

* updated subtype test

* refactored Changeling to be an ability that actually does something

* moved isAllCreatureTypes into SubTypes class

* renamed copyTo method to copyFrom

* added removeAllCreatureTypes where usable

* replaced some subtype methods

* replaced some more subtype methods

* replaced subtype mass add/remove methods

* updated more subtype methods

* fixed some errors

* made common shared creature type predicate

* refactored another card involving subtypes

* Added usage of object attribute in subTypes's write operations;

* Refactor: use same param styles in subtype methods

* Refactor: simplified usage of copy appliers;

* Refactor: fixed code usage in CopyApplier

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2021-01-26 08:52:35 -05:00
Oleg Agafonov
05f8311364 Game: fixed wrong card names in some cubes; 2021-01-23 07:18:12 +04:00
Jeff
9742a673f6 - clear the two attackers lists in AI attack code 2021-01-10 11:43:00 -06:00
jeffwadsworth
4aa1e726c9 - Refactor AI attacking code to include Planeswalkers. 2021-01-08 14:41:00 -06:00
ddzn
dd8e489fcb Add new deck type European Highlander 2021-01-07 13:31:08 +01:00
jeffwadsworth
aa6abe3045 - Revert AI planeswalker attack commit. 2021-01-06 17:04:43 -06:00
Jeff
a7e1c50122 - AI will now attack a Planeswalker first 2021-01-05 21:43:46 -06:00
Oleg Agafonov
767644f1c8 GUI: fixed that user can target/click on second side of mdf card instead the main side (related to #7297); 2020-12-27 01:39:18 +04:00
Oleg Agafonov
64e948e4b3 * AI: improved game performance by x10 for cards with target amount;
AI: added targeting name and amount info to simulation logs;
AI: removed duplicated target variations from target amount simulations;
2020-12-24 15:02:28 +04:00
LevelX2
aebf8b461f Updated Historic format to also work if only the client (not connected to a server) deck editor is started. 2020-12-23 18:03:32 +01:00
LevelX2
2daa5aae50 * Fixed that AI fired targeting event twice (fixes #7094). 2020-12-23 15:53:55 +01:00
Oleg Agafonov
255c292104 * Deals damage divided as you choose - fixed that some cards can't choose planeswalkers (example: Arc Lightning, see #7276);
Refactor: simplified FilterCreaturePlayerOrPlaneswalker to use single permanent filter;
2020-12-23 02:31:41 +04:00
LevelX2
77a44733c2 * Eerie Ultimatum - Fixed target handling. Duplicate names could be selected. Deselection was not possible. 2020-12-21 16:47:03 +01:00
Oleg Agafonov
a10dcc6bda * Game: added MTGO Vintage Cube December 2020; 2020-12-20 01:28:29 +04:00
Oleg Agafonov
cc5fce4256 Prepare new release 2020-12-19 23:59:44 +04:00
Oleg Agafonov
c13d07b73d [CMR] fixed Rakshasa Debaser - class cast exception in filter on usage; 2020-12-18 15:54:59 +04:00
Oleg Agafonov
db239a1055 Refactor: replaced sourceId by source and introduced source param in some methods; 2020-12-12 20:23:19 +04:00
Oleg Agafonov
2b78388eab [CMR] fixed Akroma's Will - missing copy of new condition in modes (#7210);
Improved compatibility of new modes condition with choose dialogs and test framework;
2020-11-28 19:49:16 +04:00
Oleg Agafonov
ea46afbe62 Prepare new release 2020-11-10 13:11:45 +04:00
Evan Kranzler
19887b196c updated Oathbreaker ban list 2020-11-09 21:54:18 -05:00
Evan Kranzler
c1b481d376 updated Duel Commander ban list 2020-11-09 21:51:28 -05:00
Evan Kranzler
8d391f628e updated Canadian Highlander points list 2020-11-09 21:46:43 -05:00
Evan Kranzler
919787457e updated Australian Highlander points list 2020-11-09 21:43:18 -05:00
Evan Kranzler
b8feae7f3a [CMR] Implemented Liesa, Shroud of Dusk 2020-11-08 17:45:33 -05:00
Oleg Agafonov
8ac78b4b9e Added modal double faces cards implementation (MDF cards, #7012) 2020-11-01 10:03:09 +01:00
Evan Kranzler
5f8919e787 updated historic ban list 2020-10-12 10:45:58 -04:00
Evan Kranzler
46a246e793 updated brawl ban list 2020-10-12 10:44:47 -04:00
Evan Kranzler
3f7a4c75e6 updated standard ban list 2020-10-12 10:43:41 -04:00
andreacosta
b05397f68d
Update Centurion banlist and lifepoints (#7039)
* Update Centurion lifepoints
* Update Centurion banlist
* Fix Centurion banlist

Co-authored-by: acosta <andrea.costa@cybrain.it>
2020-09-02 14:15:40 +04:00
LevelX2
668a21fc18 * Fixed that computer player could discard cards that did not match the given filter (to pay e.g. discard costs of Mox Diamond - fixes #7028). 2020-08-31 14:20:58 +02:00
LevelX2
323b4f8880 * Fixed wrong Kard name in MTGO Legacy Cube July 2019 (Kozilek, Butcher of Truth), added a test. 2020-08-30 12:07:23 +02:00
Oleg Agafonov
920697d2e5 Prepare new release 2020-08-23 01:52:55 +04:00
Oleg Agafonov
d076d13c27 Fixed sample deck 2020-08-22 19:46:38 +04:00
LevelX2
c16fb75668 * replaces all [source} by {this}. ATTENTION !!!: Only supporting [this} from now on in rule text. 2020-08-22 12:52:49 +02:00
LevelX2
d51acbf090 * Removed unused imports. 2020-08-22 11:51:34 +02:00
LevelX2
8105d8b26c * Improved handling of asThoughtAs approval by abilities that allows a clear and easy assignment of the approving effect. 2020-08-21 14:58:22 +02:00
Oleg Agafonov
486c0d7c2c GUI: added problem cards selection on legality label clicks (#6854) 2020-08-17 05:15:31 +04:00
Evan Kranzler
8240e956dc updated historic legality implementation 2020-08-15 14:03:11 -04:00
LevelX2
6a65e5bb23 * Mana Clash - Fixed use in available mana calculation (related to #6698). 2020-08-12 13:58:06 +02:00
Oleg Agafonov
7599acf1c8 Removed duplicated sets that was split into multiple (Champs, Game Day, Launch Party, Media Inserts, Super Series) 2020-08-08 11:00:07 +04:00
Oleg Agafonov
9e6a348cb1
Merge branch 'master' into refactor_promo_sets 2020-08-07 02:48:40 +02:00
Evan Kranzler
e9999de931 added JMP to historic 2020-08-03 12:12:34 -04:00
Evan Kranzler
f5d652487d updated brawl ban list 2020-08-03 11:53:03 -04:00
Evan Kranzler
ff03e11fcc updated historic ban list 2020-08-03 11:52:20 -04:00
Evan Kranzler
5659fe0fe8 updated pioneer ban list 2020-08-03 11:49:09 -04:00
Evan Kranzler
42b2802623 updated standard ban list 2020-08-03 11:47:13 -04:00
Oleg Agafonov
e95b9f145c GUI: deck legality improves:
* Added partly valid status for deck legality panel (if all cards are fine but user must add more cards to complete, see #6854);
 * Improved legality errors sorting (important errors visible at the top now, e.g. commander's errors);
2020-08-03 02:03:54 +04:00
Oleg Agafonov
309b3f5636 GUI: deck legality and themes improves:
* Improved formats list in deck legality panel (#6854);
 * Added hide button to deck legality panel (#6854);
 * Fixed themes names and added theme info in startup logs;
2020-08-03 00:07:13 +04:00
18ths
99d5eafc8a
GUI enchancements (themes, sound notification, deck validation) (#6755)
GUI enchancements (themes, sound notification, deck validation)
2020-07-17 19:15:02 +02:00
LevelX2
3a82840e66 * Fixed some more available mana calculation problems. Mana of the pool is now taken into account (e.g. Coal Golem problem). Crucible of the Spirit Dragon - Conditional mana curretnly not handled correctly in available mana calculation. Crystalline Crawler works now.Related to #6698. 2020-07-16 22:37:51 +02:00
Evan Kranzler
bbda050cfe updated ban lists 2020-07-13 10:45:04 -04:00
mikalinn777
bf293ca939 Add Historic format and Historic Anthologies 2020-07-11 12:06:01 +02:00
Oleg Agafonov
c4f028ffa0 Prepare new release 2020-07-10 16:50:38 +04:00
arcox
9c7982e8f6 Update *.sh and *.java files to use Unix line endings 2020-07-09 13:07:26 -04:00
Oleg Agafonov
81452833f6
Merge pull request #6785 from aidan-coward/master
Add July 2020 Vintage Cube decklist
2020-07-07 20:08:46 +02:00
Oleg Agafonov
55f2893fc4 * AI: fixed that computer can cancel "target player or planeswalker" spells on bad effects (can't choose himself); 2020-07-07 06:31:06 +04:00
Aidan Coward
857c072ac1 grammar fix: freezed -> frozen 2020-07-05 18:23:16 -04:00
Aidan Coward
57ffb4b73b finished cube decklist with proper month 2020-07-05 18:13:49 -04:00
Aidan Coward
f29f1d9eaf added July 2020 Vintage Cube decklist 2020-07-05 18:11:37 -04:00
Oleg Agafonov
da4a44445b Additional fixes for #6771 (modal spells resolve order) 2020-07-03 01:46:05 +04:00
Oleg Agafonov
adbe84c540 Improved freeze checks and canRespond/isInGame usage 2020-07-01 13:48:22 +04:00
Oleg Agafonov
d5616a86f9
Merge pull request #6669 from hitch17/jumpstart-tournament-formats
Add jumpstart swiss and elimination tournament formats.
2020-06-30 06:29:33 +02:00
LevelX2
16adeadd8e * Oathbreaker format - Fixed endless loop on match init (#6695). 2020-06-22 17:44:59 +02:00
Oleg Agafonov
3f2a5fc362 Prepare new release 2020-06-20 11:36:13 +04:00
Oleg Agafonov
10cf884923 AI and test framework improved:
* Now AI can see and use special mana payments like convoke, delve, improvise pays;
* Now devs can test special mana payments (disable auto-payment and use choices for mana pool and special pays);
* Fixed broken TargetDiscard in tests;
* Fixed broken same named targets in tests;
2020-06-19 13:16:26 +04:00
Oleg Agafonov
c2e7b02e13 Reworked and improved special mana payment abilities (convoke, delve, assist, improvise):
* now it can be used to calc and find available mana and playable abilities;
* now tests and AI can use that abilities;
* now it follows mtg's rules and restrictions for mana activation order (rule 601.2f, see #768);
2020-06-19 13:09:45 +04:00
Oleg Agafonov
fc5d766ebd * AI: improved exile from graveyard cost (now AI can use it with more efficiency) 2020-06-19 12:43:26 +04:00
John Hitchings
1695e6767d add jumpstart swiss and elimiation tournament formats. 2020-06-18 23:45:02 -07:00
LevelX2
f480d0bebb * Some minor code and text clean up. 2020-06-12 15:14:28 +02:00
Oleg Agafonov
cce467a5ec Additional fix and simplified for playable abilities (see comments b94344341b) 2020-06-04 03:21:18 +04:00
Oleg Agafonov
b94344341b Improved playable abilities and split cards:
* Now human player uses same code for playable abilities search as test framework (old version used different code, so it could not work in one of the modes);
* Split cards - improves playable highlights;
* Split cards - fixed that it doesn't work with dynamic added abilities like flashback (#6327, #6470, #6549);
2020-06-03 12:44:58 +04:00
Evan Kranzler
aed44cd0cc updated standard ban list 2020-06-02 11:11:28 -04:00
Oleg Agafonov
eea808d2d6 Ability refactor: source improves, deprecated code removed; 2020-05-28 22:38:31 +04:00
Oleg Agafonov
8af43dc13a Ability refactor: new code to search abilities in cards and permanents; 2020-05-28 22:34:27 +04:00
Dh0mp5eur
7f3dea8fe4 Updated DuelCommander ban list 2020-05-27 16:11:53 +02:00
John Hitchings
a18951c27a Add Vintage Cube 2020. See https://magic.wizards.com/en/articles/archive/vintage-cube-cardlist 2020-05-26 14:23:22 -07:00
Oleg Agafonov
63dbf5f40b * Split cards improves:
* Fixed that fused spells can't be played from non hand zone;
 * Fixed double choose spell dialog (#5506, #6549);
2020-05-19 01:30:46 +04:00
Oleg Agafonov
6b5108770c * UI: fixed wrong ability text capitalization in mode choose dialog; 2020-05-19 00:27:42 +04:00
Evan Kranzler
944ef84036 updated ban lists 2020-05-18 10:39:00 -04:00
Oleg Agafonov
771d54aa39 * Triggered abilities with modes - fixed that player can skip mode selection (example: skip lose game with Demonic Pact, see #6524); 2020-05-07 15:21:15 +04:00
Evan Kranzler
7055823117 updated Oathbreaker ban list 2020-04-24 20:29:37 -04:00
Evan Kranzler
506b734235 updated Commander ban list 2020-04-20 08:56:47 -04:00
Oleg Agafonov
0dd4e821b9 Fixed missing MTGA Cube 2020 April in configs (related to #6396); 2020-04-19 00:00:07 +04:00
htrajan
51dcaa1725 update simulators 2020-04-16 20:14:43 -07:00
Evan Kranzler
8494e98693
Implemented Yorion, Sky Nomad (#6407)
* Implemented Yorion, Sky Nomad

* Implemented Yorion, Sky Nomad (but for real this time)

* updated game creation to use the correct deck size for limited
2020-04-16 08:10:18 -04:00
Oleg Agafonov
a5fb946fb3 * AI: fixed double triggers of blocker declared event for Monte Carlo AI (with activated block requirement effect, see #6367); 2020-04-14 20:11:41 +04:00
CCTV-1
8566344399
support mtga cube (#6396)
* support mtga cube

* fix miss ')'

* fix:wrong class name
2020-04-13 18:53:26 -04:00
Evan Kranzler
7e0b755953 Implemented Lutri, the Spellchaser 2020-04-12 10:44:57 -04:00
emerald000
c3684a732b [IKO] Implement Companion and 2 companions
Keruga, the Macrosage and Umori, the Collector
2020-04-12 08:29:25 -04:00
Leandro Doctors
e0c80646b3 Delete .class files 2020-03-22 20:49:52 -03:00
Thomas Hess
0a7cc9672e
Removed the HarperPrism Book Promos cards from the MediaInserts set.
Removed the cards from the OldSchool* ban lists,
because this change makes them unavailable to the format.
2020-03-19 11:09:46 +01:00
Thomas Hess
e795991fa8
Converted CLRF line endings to LF for some formats. 2020-03-19 11:09:45 +01:00
Thomas Hess
07cef62dfb
Removed the DragonCon cards from the MediaInserts set.
Removed the cards from the OldSchool* ban lists,
because this change makes them unavailable to the format.
2020-03-19 11:09:45 +01:00
Evan Kranzler
63df5d89a4 updated Brawl ban list 2020-03-16 15:16:19 -04:00
Evan Kranzler
ec8867ab1a updated Legacy ban list 2020-03-16 15:15:03 -04:00
Evan Kranzler
f7e0b5d93b updated Modern ban list 2020-03-16 15:14:03 -04:00
Oleg Agafonov
a20bca1b21 Test framework: fixed ai play commands, added more tests 2020-03-12 02:05:06 +04:00
Oleg Agafonov
86f6d39f5a * AI: fixed rollback errors on play cards with target stack (Diplomatic Escort, Not of This World, etc); 2020-03-09 13:49:07 +04:00
Oleg Agafonov
009e55c4f0 * AI: fixed that computer can't use spells and abilities on opponent's pre-combat main step; 2020-03-09 12:49:21 +04:00
Oleg Agafonov
cb8d4dc340 * Non creature tokens - fixed rollback errors in AI games (example: Food token, see #6331);
Fixed other potentially NPE errors with rarity;
2020-03-06 03:27:46 +04:00