Commit graph

1293 commits

Author SHA1 Message Date
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
Oleg Agafonov
ca9542d3de * Game: fixed that declare blocker step skips all the time on disabled "STOP skip on any/zero blockers" preferences (#6308); 2020-02-29 23:27:11 +04:00
Dhomps Florian
8996c61184
Updated&fixed DuelCommander ban list
Fix missing ban/unban and update february 2020
http://www.duelcommander.com/banlist/
http://www.duelcommander.com/2020/02/february-2020-rules-banned-restricted-update/
2020-02-26 18:04:00 +01:00
Oleg Agafonov
1ff3b40438 * Game: Canadian Highlander points list updated; 2020-02-25 21:47:40 +04:00
Oleg Agafonov
b5acf64772 * Monohybrid mana cost improves:
* fixed wrong manually pay by mana pool (it pays generic cost instead colored part of monohybrid);
 * fixed not working cost reduction effects (now monohybrid cost will be reduced correctly with some limitation, see #6130);
2020-02-11 22:33:32 +04:00
Ingmar Goudt
ae7919cd07 program towards Interface rather than implementations 2020-02-10 10:40:06 +01:00
acosta
3c90787993 Update Centurion banlist 2020-02-03 15:53:08 +01:00
Oleg Agafonov
6cbf94bad6 AI: improved usage of attachments:
* AI can play equipment/aura cards more frequent (computer can see and analyse all attached effects now);
* AI can attach permanents with bad effects correctly (bad for opponents, good for itself);
2020-01-29 07:38:08 +04:00
Oleg Agafonov
89394ffe0a Improved ability outcome processing; 2020-01-29 07:33:33 +04:00
Oleg Agafonov
ab10ee10c9 Server: logs cleanup 2020-01-29 07:18:23 +04:00
Oleg Agafonov
6cbc970414 AI: disable outdated suggested file usage and disk access; 2020-01-23 01:44:35 +04:00
michaelrfarcasin
f27faacefc Remove self-referential dependency 2020-01-21 07:47:00 -06:00
michaelrfarcasin
cef3b9488f Merge from origin/master 2020-01-20 23:01:31 -06:00
michaelrfarcasin
c3cb54f371 Add Freeform Unlimited Commander game type
Currently there's no multiplayer format that allows players to cast
spells from the command zone and also allows any deck size.

This is a problem for players who want to test EDH Cube decks. These
decks:
- can have any size - often between 40 and 100 - with no standard
- can have cards outside the commander's color identity
- may break the singleton rule

Create a game and deck type to accommodate these types of decks.

Notable differences from Freeform Commander in addition to the above:
- Decks can have any number of cards in the maindeck or sideboard
- Sideboard cards can be any type
- There are no illegal expansions
- Games can have a minimum 2 players
2020-01-20 22:47:27 -06:00
Oleg Agafonov
a072d8275f * Target card in hands - fixed that player can stuck/freeze the game if it must select cards from opponent's hand (related #6209); 2020-01-21 04:44:50 +04:00
Oleg Agafonov
f67c08ad8b UI: choose dialog improves (see 8add25fa12) 2020-01-18 09:43:25 +04:00
Oleg Agafonov
7ca6677b93 * UI: choose ability to cast improves (see 8add25fa12) 2020-01-18 09:39:12 +04:00
Oleg Agafonov
ce60a9d75b * UI: choose ability to play improves (see 8add25fa12) 2020-01-18 08:02:31 +04:00
Oleg Agafonov
8add25fa12 * UI: choose modes dialog improves:
* Added hotkeys to select options (1-9 for choice, SPACE/ENTER for done, ESC for cancel);
 * "Up to" modes choose dialog - added "done" button in dialog;
 * "Up to" modes choose dialog - fixed that user can't cancel if already selected one mode;
 * Added extra info about source object, selected and remaining modes to select, ability number for hotkey;
 * Fixed that mode choose dialog doesn't close on cancel (#6199);
2020-01-18 06:30:44 +04:00
Oleg Agafonov
c30316512b * Target opponent or planeswalker abilities - fixed rollback error while AI plays that cards; 2020-01-15 07:03:26 +04:00
Oleg Agafonov
11976b5c89 Refactor: move player.damage params to default (same as permanent.damage); 2020-01-14 09:15:33 +04:00
Oleg Agafonov
76387057b7 * Deals damage to player - fixed that some cards deals combat damage instead non-combat; 2020-01-14 08:53:09 +04:00
Oleg Agafonov
1f99249d10 * AI: fixed rollback error while computer try to play some cards with targets from exile; 2020-01-14 05:00:56 +04:00
Evan Kranzler
0c51e622f3 updated Modern ban list 2020-01-13 10:48:31 -05:00
Oleg Agafonov
589142aeb5 Real fix to prev commit 2020-01-12 09:26:52 +04:00
Oleg Agafonov
92e15283ea * Tapped for mana abilities - fixed that it cause rollback error if you cast second card with that effect (Nyxbloom Ancient, etc); 2020-01-12 09:11:38 +04:00
Oleg Agafonov
e1fea330dd Test framework - multiple improves:
* Added support of spell ability choice in free cast (chooseSpellAbilityForCast);
* Added support of "up to" targets setup in addTargetAmount (use TestPlayer.TARGET_SKIP to stop target choose);
* Restored multiple checks for addTargetAmount;
* Fixed many wrong tests (wrong order or missing commands);
2020-01-12 01:17:39 +04:00
Oleg Agafonov
b366a83a45 Prepare new release 2020-01-09 08:55:26 +04:00
Oleg Agafonov
584d6ca614 * Canadian Highlander - updated card points; 2020-01-09 00:58:01 +04:00
Oleg Agafonov
bb59cedbd9 AI fixes:
* Gain control abilities - fixed wrong target chooses by AI (selects weakest permanent instead most powerful);
* Target of an opponent’s choice abilities - fixed that AI was able to cancel card cast, fixed wrong target chooses (Evangelize, Echo Chamber, Arena, Preacher, etc);
2020-01-04 22:37:16 +04:00
Adonis Pujols
4432d03d89 Add AIMCTS Sources to Maven (missing srcDirectory) (#6140)
No Maven expert, but the sources of every other Server.Plugin is included in Maven project EXCEPT for Mage.Player.AIMCTS (which seems necessary to actually be used/ran, imported, indexed, etc). I doubt this is intentional and it's the only way to get those sources working for IntelliJ IDEA.
This should add some more development support for anyone else poking around the code base, like in #6114
2020-01-04 07:25:14 -06:00
Oleg Agafonov
f065c5ca9c
Merge pull request #6133 from adonispujols/patch-1
Fixed Computer Player treating unprevented moves as unplayable.
2020-01-03 03:51:39 +01:00
Oleg Agafonov
0930bdd016
Merge pull request #5690 from magefree/copy_constructor_watchers
refactor the copy functionality for no-args watchers
2020-01-02 18:51:37 +01:00
Adonis Pujols
56eef2b563
Fixed Computer Player treating unprevented moves as unplayable.
(First time contributing so please excuse my noobness) Card not prevented by an effect should be playable ("&& !prevented"), but currently AI says card not prevented is NOT playable ("&& prevented"). Also, not sure why AI doesn't add to unplayable even though its not contained by playableInstants or playableNonInstants. I'm not even sure if we're maintaining ComputerPlayer's decision logic (as opposed to Computer Player7).
2020-01-01 14:44:45 -05:00
Oleg Agafonov
fc8c7eb410 * Centurion Commander - fixed missing banned cards Gaea, Mishra, Sensei and Yawgmoth; 2020-01-01 14:23:15 +04:00
Oleg Agafonov
cbb0680cc8 * Duel Commander - fixed missing banned card Yuriko; 2020-01-01 14:22:08 +04:00
Oleg Agafonov
d960ed7c75 Server stability improves:
* No more game freezes on commanders from disconnected players;
* No more game freezes for disconnected players in started games (on mulligan, yes/no choices, etc);
* Fixed missing ability controller in some choose dialogs (wrong targets for gained controlled permanents);
* Added TODO for next fixes with take turn controllers;
2019-12-31 05:36:47 +04:00
Ingmar Goudt
ce23f6900d fix conflicts 2019-12-29 19:28:20 +01:00
Ingmar Goudt
702a1f2498 remove all copy constructors and copy methods for all watchers 2019-12-29 19:18:20 +01:00
LevelX2
cadae9ee92 * Added checks in all the methods that wait for human response to prevent endless loops if the method is called from a the get playable actions. 2019-12-27 23:28:53 +01:00
Oleg Agafonov
61a58d36c2 Refactor: added missing getPlayersInRange in cards code (to ignore leaved/lost players); 2019-12-26 05:24:44 +04:00
LevelX2
133cc7342d * Fixed a problem with check playable methods causing e.g. endless loop if Shared Fate was on the battlefield. 2019-12-25 16:01:02 +01:00
Oleg Agafonov
98cbf42a11 Added MCTS AI for #6114 2019-12-23 23:35:19 +04:00
Oleg Agafonov
b8754af355 Karn Liberated banned in Tiny Leaders format (xmage doesn't support game restart for Tiny Leaders); 2019-12-23 22:09:18 +04:00
Oleg Agafonov
fac7ea1388 * AI: fixed rollback errors with copy spell abilities;
Tests: added copy spell support for test player;
2019-12-23 21:47:01 +04:00
Oleg Agafonov
d26fde8dbc Prepare new release 2019-12-21 18:23:15 +04:00
Oleg Agafonov
bd71c98e3e Fixed AI freeze with non available targets 2019-12-21 18:10:29 +04:00
Oleg Agafonov
8cce5a3648 * AI: reworked computer choices for "target permanent" targets:
* Fixed that computer was able to target own permanents for bad effects and opponent permanents for good effect;
 * Improved target choices on card score (as example: boost most valuable, discard most weaker);
 * Tests: fixed false positive tests (AI depended);
 * Tests: fixed that test player can't find permanents for some filters/predicates;
2019-12-20 20:20:16 +04:00
Evan Kranzler
cdad32aed4 updated Pioneer banlist 2019-12-16 17:23:33 -05:00
Oleg Agafonov
419cbf3c28 * AI: fixed that computer was able to choose non valid targets/cards (from all graveyards, hands, etc); 2019-12-16 02:58:10 +04:00
LevelX2
af9f2c93dd
Merge pull request #5910 from magefree/set_lint
Fix various hints and warnings on many set & block classes (via Intel…
2019-12-15 13:21:08 +01:00
Patrick Hulin
b7d080f888 Add December 2019 Vintage Cube. 2019-12-14 23:07:07 -05:00