Commit graph

8844 commits

Author SHA1 Message Date
Oleg Agafonov
97c427375d Fixed face down cost modification (related to 653a2dd7b2) 2020-07-24 21:30:03 +04:00
LevelX2
4d43914673 * Morselhoarder - Fixed calculation of available mana and some cleanup to other mana abilities (#6698). 2020-07-24 16:41:36 +02:00
LevelX2
98ebcc07ca * Fixed spell cost reduction for bestow not working during calculation of castable spells (#6698). 2020-07-24 16:04:52 +02:00
LevelX2
653a2dd7b2 * Available mana calculation - Fixed a problem with repeatable mana converting abilities (e.g. Farrelite Priest) that were only considered once (#6698). 2020-07-24 12:06:14 +02:00
LevelX2
329352f36b Hunters' Feast - Fixed rule text (fixes #6878). 2020-07-23 12:22:07 +02:00
LevelX2
b965bddf92 * Oathbreaker: Signature spell did not return to command zone if exiled (fixes #6870). 2020-07-21 23:46:55 +02:00
LevelX2
d721c0bea3 * Commander state-based action -Fixed that commander movement did not always work correctly after rollback (#6866). 2020-07-20 22:22:20 +02:00
LevelX2
5cb950e53f * Basri's Lieutenant - Fixed that it created also the token if Lieutenant dies without a +1/+1 token (fixes #6863). 2020-07-20 10:35:36 +02:00
jeffwadsworth
048ce3f2a7 - Fixed #6326 2020-07-18 11:01:53 -05:00
bubba
c84a913858 - Fixed #6326 2020-07-18 11:01:03 -05:00
LevelX2
5decfa3964 * Traumatize, Bond of Insights, Enter The God-Etrenals and Flint Golem - Changed to mill method. 2020-07-18 17:27:15 +02:00
LevelX2
ba31b956dc * Meld Keyword - Fixed that the melt status was not correctly handled related to rollbacks or AI game simulation (fixes #6723). 2020-07-18 16:33:28 +02:00
LevelX2
a2ae232b43 * Fixed some corner cases for Worl Enchantment State-Based actions (704.5k). 2020-07-18 12:23:19 +02: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
621d8c188d * Reworked rollback handling - possible fix for #2072 #5383, #4309 and fixes #5883, fixes #1983, fixes #5917. 2020-07-17 17:42:49 +02:00
LevelX2
e4ae2f3fec * Fixed Rollback UI bug with ManaPool's autoPayment and autoPaymentRestricted (fixes #5002). 2020-07-16 23:56:43 +02:00
LevelX2
23087e6c23 * Used ManaOptions to calculate possible mana combinations (related to comment of 7ad7d5f03d). 2020-07-16 22:56:33 +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
18ths
ddf007e6f1 Removed redundant Living End effect. Fixes #6385 2020-07-16 16:56:12 +02:00
LevelX2
7ad7d5f03d * Fixed available mana generation for Caged Sun and storage lands (e.g. Calciform Pools) related to #6698. 2020-07-16 12:44:01 +02:00
LevelX2
b0cd69bb08 * Fixed missing imports of aad36dda19 commit. 2020-07-15 00:48:19 +02:00
LevelX2
083c4bc5d4 * Reworked some card movement to player methods (#4866). 2020-07-15 00:42:08 +02:00
LevelX2
aad36dda19 * Fixed possible problem with setting of the spellAbility during card copies (related to eecaa232f5). 2020-07-14 23:18:47 +02:00
LevelX2
24098bf8cc Merge origin/master 2020-07-14 23:06:35 +02:00
LevelX2
49ab4e0992 * Fixed possible problem with setting of the spellAbility during card copies (related to eecaa232f5). 2020-07-14 23:06:03 +02:00
jeffwadsworth
bfb7a1a24d - Fixed #6838 2020-07-14 15:49:30 -05:00
LevelX2
eecaa232f5 * Fixed a problem where for copies of cards/permanent the included spell ability was not correctly copied and the copied card had the spell ability twice. That could cause in some rare cases problems with spell ids of copies (this fixes #6824) or did allow on the other side some unproper handling of things (Animate Dead). 2020-07-14 21:28:45 +02:00
jeffwadsworth
2e0be17494 - small Refactor 2020-07-14 08:20:31 -05:00
jeffwadsworth
335acd4375 - Fixed #6832 2020-07-13 23:32:18 -05:00
jeffwadsworth
8818a12b6e - Fixed #6834 2020-07-13 16:54:08 -05:00
jeffwadsworth
a7b2c81db6 - Fixed #6834 2020-07-13 15:51:17 -05:00
LevelX2
f3fafbdb14 * Fixed that choose opponent was handled targeted but shouldn't (e.g.used for Stalking Leonin) fixed #6836. 2020-07-13 17:13:30 +02:00
Oleg Agafonov
362352954b
Merge pull request #6830 from magefree/Add-historic2
Add Historic format and Historic Anthologies
2020-07-13 15:37:52 +02:00
LevelX2
c6c1b0ed3a * Fixed a bug that by countering a copied spell (e.g. by copied Memory Lapse), the copy could be removed from stack instead the originally countered spell (fixes #6823). 2020-07-13 11:23:36 +02:00
LevelX2
1cdb715d92 * Fixed a problem how the color of mana paid from mana pool was recognized that could made problems to count the number of different colors used to pay a spell with convergence (e.g. if the mana was created with Cascading Cataracts) fixes #3816. 2020-07-13 00:10:09 +02:00
LevelX2
49d94cb84f * Crystalline Resonance - fixed that the duration of the copy effect erroneously didn't end on the next turn of the controller (fixes #6825). 2020-07-12 09:25:34 +02:00
LevelX2
31163eec6d * Fixed that mana sources that produce any mana type that other sources produce (e.g. Reflecting Pool) could erroneously produce colorless mana from mana sources that could only produce any color mana (fixes #6814). 2020-07-12 08:50:56 +02:00
Oleg Agafonov
219ab89bcc Fixed test 2020-07-11 21:03:32 +04:00
LevelX2
81e5650972 * Fixed calcultion of available mana for Goblin Clearcutter, Seton Krosan Protector, Urza, Lord High Artificer, Heritage Druid, Birchlore Ranger and Grand architect. 2020-07-11 16:43:38 +02:00
mikalinn777
bf293ca939 Add Historic format and Historic Anthologies 2020-07-11 12:06:01 +02:00
LevelX2
89249888b5 * Added handling of triggered mana to available mana calculation (fixes #585). 2020-07-11 00:53:47 +02:00
Oleg Agafonov
1cf57e0840 Fixed that AI can't play games in Jumptstart tourneys 2020-07-10 17:40:59 +04:00
Oleg Agafonov
c4f028ffa0 Prepare new release 2020-07-10 16:50:38 +04:00
Oleg Agafonov
06b6e482a0 * Exile and return to battlefield - fixed that some cards can return commander from command zone but they shouldn't (example: Cloudshift, Conjurer's Closet, see #5151, #5278); 2020-07-10 14:37:46 +04:00
LevelX2
40b7d723ef * Some minor code clean up and a test. 2020-07-10 09:06:25 +02:00
arcox
9c7982e8f6 Update *.sh and *.java files to use Unix line endings 2020-07-09 13:07:26 -04:00
jeffwadsworth
a6d03c925f - Fixed #6806 2020-07-09 11:10:28 -05:00
Oleg Agafonov
cb3757d0db
Merge pull request #6795 from magefree/dependabot/maven/org.codehaus.mojo-build-helper-maven-plugin-3.2.0
Bump build-helper-maven-plugin from 1.12 to 3.2.0
2020-07-09 01:38:49 +02:00
Oleg Agafonov
6c3162f140 Optimized sql for deck editor 2020-07-09 03:08:44 +04:00
Oleg Agafonov
99ceeb5076 Tokens improves:
* [M21] added tokens;
 * [M21] added tokens download support;
 * Fixed wrong images for some tokens (Angel, Beast, Bird, Cat, etc);
2020-07-09 02:38:37 +04:00
18ths
13f7f2a035 Revert "removed some of unused dependencies"
This reverts commit d6ad722266.
2020-07-08 17:16:16 +02:00
18ths
d6ad722266 removed some of unused dependencies 2020-07-07 20:11:45 +02:00
18ths
543ac206be Added hint to monstrous. Fixes #6765 2020-07-07 17:57:25 +02:00
dependabot[bot]
66e47d8910
Bump build-helper-maven-plugin from 1.12 to 3.2.0
Bumps [build-helper-maven-plugin](https://github.com/mojohaus/build-helper-maven-plugin) from 1.12 to 3.2.0.
- [Release notes](https://github.com/mojohaus/build-helper-maven-plugin/releases)
- [Commits](https://github.com/mojohaus/build-helper-maven-plugin/compare/build-helper-maven-plugin-1.12...build-helper-maven-plugin-3.2.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-07 08:55:33 +00:00
Oleg Agafonov
ecaa5a5b42 Eon Frolicker - fixed rollback error on play (#6780); 2020-07-07 06:32:46 +04: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
Evan Kranzler
ff54141e97 fixed Chevill, Bane of Monsters not triggering off of planeswalkers dying 2020-07-06 19:22:04 -04:00
Oleg Agafonov
802aca942a Play card without mana cost - fixed that AI and other players can play cards without additional cost in some use cases (#6760); 2020-07-06 21:06:49 +04:00
jeffwadsworth
29eb93ad15 - Fixed #6781 2020-07-06 11:50:40 -05:00
LevelX2
2f77d1d14c * Fixed that Offering ability did not work from command zone (fixes #4909). 2020-07-06 15:15:02 +02:00
Oleg Agafonov
d1ccb621a1 * Bolas's Citadel - fixed that opponent can use Bolas's play ability for own cards (#6741); 2020-07-06 15:44:31 +04:00
Oleg Agafonov
49f4e54aaa * Amplify abilities - fixed that it allows reveal itself when put onto battlefield from hand (#6776); 2020-07-06 15:29:53 +04:00
Oleg Agafonov
4168e2714a Controlled spells gain ability -- fixed that gained cost modification effects doesn't allow to cast cards without mana (example: Inspiring Statuary, see #6698); 2020-07-06 11:17:09 +04:00
Oleg Agafonov
1e744a0aae Alternative cost - fixed that it doesn't allow to cast cards that was affected by cost modification effects (example: Prowl ability, see #6698); 2020-07-05 23:11:47 +04:00
Oleg Agafonov
f9a9a55f7b Cloud Key - fixed that it doesn't allow to cast cards without full mana available (#6698); 2020-07-05 19:39:05 +04:00
Oleg Agafonov
69d8fd1898 Battlefield Thaumaturge - fixed that it doesn't allow to cast spells without full available mana (#6698); 2020-07-05 01:08:43 +04:00
LevelX2
68f4d67600 * Fixed a problem with mana sources that blocked casting spells because their available mana calculation caused return of no available mana (Chrome Mox, Mox Amber #6698). 2020-07-03 15:31:16 +02:00
LevelX2
e937999b96 * Release to the Wind - Fixed that it doesn't let you cast the cards it exiles (fixes #6758). 2020-07-03 14:54:08 +02:00
LevelX2
299e664191 * Kestia, the Cultivator - Fixed bestow from the Command Zone doesn't attach her to the creature you target (fixes #6763). 2020-07-03 13:17:04 +02:00
htrajan
91571df264
[M21] Fix castability and selectability of EnthrallingHold (#6773) 2020-07-03 07:16:31 +04:00
Evan Kranzler
e471fef399 fixed a potential exception 2020-07-02 22:51:31 -04:00
Evan Kranzler
509bd39244 fixed Neyith of the Dire Hunt not working with cards that cause creatures to become blocked 2020-07-02 18:46:12 -04:00
Oleg Agafonov
e69a021c71 Fixed missing locale param in string operations (#4634) 2020-07-03 02:00:58 +04:00
Oleg Agafonov
da4a44445b Additional fixes for #6771 (modal spells resolve order) 2020-07-03 01:46:05 +04:00
Oleg Agafonov
6dccaee9a4 Ghostfire Blade - fixed that it can't be played without full available mana (#6698); 2020-07-02 20:37:59 +04:00
LevelX2
2a31e8063b * Spells with multiple modes resolve in the order the modes are added on the card (fixes #6771). 2020-07-02 17:23:00 +02:00
LevelX2
84370ee5ab * Allow to addd hint texts to stack abilities. Swicthed to html text format for text box of stack abilites. 2020-07-02 00:53:46 +02:00
Oleg Agafonov
f409f56c05 Potential game freeze fix 2020-07-02 01:27:53 +04:00
LevelX2
41abefa8e4 * Fixed spell's target still legal handling check as it begins to resolve (fixes problem of Sublime Epiphany #6646). 2020-07-01 12:57:29 +02:00
Oleg Agafonov
ae165e5197 Fixed that it possible to make damage to lose/leaved players 2020-07-01 14:09:43 +04:00
Oleg Agafonov
adbe84c540 Improved freeze checks and canRespond/isInGame usage 2020-07-01 13:48:22 +04:00
Oleg Agafonov
529153312f Fixed potential freeze on put cards order 2020-07-01 13:13:44 +04:00
18ths
653ca9cc5a
Merge branch 'master' into GlitterLionTextFix 2020-07-01 10:03:37 +02:00
Oleg Agafonov
7e9d4417f6 * Game: fixed game freeze on mulligan phase and disconnected player; 2020-07-01 11:44:27 +04:00
Evan Kranzler
73026b57b1 implemented Neyith of the Dire Hunt 2020-06-30 21:29:59 -04:00
LevelX2
60cce5c11b * Fixed wrong event attributes for special action ACITIVATE_ABILITY event (see also 6753). Fixed that Phyrexian Revoker also prevented using special actions (fixes #6747). 2020-06-30 15:34:29 +02:00
Oleg Agafonov
83135f347f Spellwild Ouphe - fixed cost reduction effect (#6698) 2020-06-30 08:51:59 +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
Oleg Agafonov
09bc2575d8 Cost increasing effects - refactor, removed redundant custom effects (related to #6684 and #6698); 2020-06-30 08:27:29 +04:00
LevelX2
b01a1ac3aa Merge origin/master 2020-06-29 19:42:27 +02:00
jeffwadsworth
a4d659176e - Refactored BlocksOrBecomesBlockedTriggeredAbility to BlocksOrBecomesBlockedSourceTriggeredAbility 2020-06-29 11:45:26 -05:00
LevelX2
92d1a6b9d8 Merge origin/master 2020-06-29 18:03:12 +02:00
LevelX2
368faa37dd * Added test for Dream Leash. 2020-06-29 18:02:18 +02:00
jeffwadsworth
d1cbfc51e1 - Refactored DiesTriggeredAbility to DiesSourceTriggeredAbility 2020-06-29 10:51:34 -05:00
LevelX2
c39bcf3d5a * Primal Might - Handled fizzled message for optional fight effect (#6646). 2020-06-29 15:25:55 +02:00
LevelX2
d1e31140cc * Fixed a problem that unintended allowed to cast spells with alternate cost to cast conditions (fixes #6739). 2020-06-29 14:54:29 +02:00
LevelX2
5661bb1bfe * Some minor code changes. 2020-06-29 14:50:46 +02:00
Oleg Agafonov
90965802d0 Cost increasing effects - refactor, removed redundant custom effects (related to #6684 and #6698); 2020-06-29 15:39:58 +04:00
Oleg Agafonov
4bdd8910a8 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	Mage.Sets/src/mage/cards/d/DreamLeash.java
2020-06-29 13:32:26 +04:00
Oleg Agafonov
cf3feff76a Cost reduction effects - refactor, removed redundant custom effects, added card hints; 2020-06-29 13:31:02 +04:00
htrajan
ca29e61b1d
[M21] actually fix Enthralling Hold (#6746) 2020-06-29 12:41:46 +04:00
Oleg Agafonov
e4ebf50d42 * Artifact you control effects - added card hints; 2020-06-29 09:28:46 +04:00
LevelX2
d2d892a7cb * Fixed that permanents under non owner control sine they are on the battlefield were no exiled if the controller left the game (e.g. Captive Audience) (fixes #5593). 2020-06-27 23:47:04 +02:00
Oleg Agafonov
e8dbd2a3c8 Refactor some cost modification effects 2020-06-27 19:22:45 +04:00
Oleg Agafonov
520d75dba9 * Cost reduction effects - fixed that some cards with cost reduction can't be played (example: Price of Fame, see #6685, #6684); 2020-06-27 05:40:45 +04:00
Oleg Agafonov
2252648f01 * Added card hints to Avatar of Might, Avatar of Will, Avatar of Woe, Dusk Feaster, Rekindled Flame;
* Refactor: removed custom spell cost reduction effects;
2020-06-27 05:36:04 +04:00
htrajan
6fa1ad3aaa
[M21] Implement more cards (#6730)
* EnthrallingHold

* ArchfiendsVessel

* ConspicuousSnoop

* HoodedBlightfang

* commit set updates

* fix text

* fix Archfiend's Vessel cast from graveyard trigger and Enthralling Hold text
2020-06-26 20:55:43 -04:00
LevelX2
8906f3be7b * Cloning a face-down creature should produce a plain 2/2 creature (fixes #3582). 2020-06-27 01:01:55 +02:00
jeffwadsworth
d02d8a4dfe - Fixed #6732 2020-06-26 16:51:17 -05:00
jeffwadsworth
2f5a4e0caf - Fixed text related to bug 6675 2020-06-26 11:10:54 -05:00
LevelX2
166d898168 * Added a test for #4659 - it's not reproducable (closes #4659). 2020-06-26 17:41:10 +02:00
Oleg Agafonov
329f7fd609 Little improves for tests 2020-06-26 18:58:13 +04:00
Oleg Agafonov
50c46e39a3 Improved game logs: added target hints, fixed spaces in target amount; 2020-06-26 10:59:22 +04:00
Oleg Agafonov
445686a1ad Improved scry effect text generation 2020-06-26 09:59:55 +04:00
Evan Kranzler
a379a06485 added new class for "this or another" triggered abilities 2020-06-25 20:14:48 -04:00
jeffwadsworth
6c69939c0d - Fixed some text issues related to Bug 6675... 2020-06-25 17:45:24 -05:00
jeffwadsworth
a20bc6c414 - Fixed some text issues related to Bug 6675. Not closed because it keep growing... 2020-06-25 16:45:38 -05:00
gp66
a003f95c35 m20 demon token 2020-06-25 08:46:27 -05:00
Evan Kranzler
a5f9b8fb64 Implemented Sethron, Hurloon General 2020-06-25 09:22:09 -04:00
Oleg Agafonov
aeef4e1193 Fixed some tokens image 2020-06-25 09:52:54 +04:00
Oleg Agafonov
dea739ecb0
Merge pull request #6683 from gp66/fix-iko-tokens
Fix iko tokens
2020-06-25 07:35:17 +02:00
htrajan
7bb7afe28a
[M21] Implement sanctum cards (#6708) 2020-06-25 09:31:09 +04:00
Oleg Agafonov
d8bbfefde6 * Search library and/or graveyard and put in hand - fixed that it shuffle library before card move; 2020-06-25 00:43:10 +04:00
Oleg Agafonov
6dfacfbca5 * Elspeth, Undaunted Hero - fixed wrong text; 2020-06-25 00:37:13 +04:00
LevelX2
e33505ff7d * Agyrem Plane - Fixed that the effect was not applied to creatures of all players (fixes #6486). 2020-06-24 22:20:55 +02:00
LevelX2
0b00ae8b9d
Merge pull request #6522 from emerald000/oldVersions
UI: Add a button on the deck editor to change your cards to the oldest versions.
2020-06-24 21:53:42 +02:00
Oleg Agafonov
72891a5bad Refactor: removed redundant temporary effects list (#6693, #6618) 2020-06-24 21:11:49 +04:00
18ths
40036271da
Implemented Allosaurus Shepherd and Blessed Sanctuary (#6711)
* added allosaurus shepherd and blessed sanctuary

* fixed nonascii apostrophes

* added continuous effect dependency
2020-06-24 10:17:32 -05:00
Evan Kranzler
785be83484
Refactoring cards that mill (WIP, do not merge) (#6713)
* added mill method

* updated mill effects to use new method

* refactored individual cards

* small updated to Grindstone and Sphinx's Tutelage

* another updated to Grindstone

* fixed a test

* fixed Countermand null check

* more refactoring

* updated dredge ability to use mill
2020-06-24 07:50:00 -04:00
LevelX2
8b5f4f28f0
Merge pull request #6693 from 18ths/force_mirrormade
#6618 - Creatures get +1/+1 when we cancel the cast of a spell.
2020-06-24 08:03:57 +02:00
Evan Kranzler
ba0e9af5fd Implemented Bruvac the Grandiloquent (still needs refactoring 2020-06-23 17:29:14 -04:00
18ths
5b9135ef71 fixed clearing temporary effects while rollbacks 2020-06-23 17:26:05 +02:00
LevelX2
4b14eb3724 * Delirum - Fixed wrong card type count. Added unit test for delirum (fixes #6704). 2020-06-23 10:09:37 +02:00
LevelX2
29e5230469 * Oathbreaker format - Fixed that signate spell didn't return to command zone. Added unit test for oathbreaker format (fixes #6695). 2020-06-23 09:18:40 +02:00
Oleg Agafonov
5ae041f39a Additional tests for morph and #6680 2020-06-23 09:29:38 +04:00
arcox
b6352953a8
Implement Nine Lives from M21 (#6706) 2020-06-22 19:42:00 -04:00
Oleg Agafonov
6e1da09023 * Morph ability - fixed that card with morph ability marked as playable all the time (#6680); 2020-06-23 00:59:17 +04:00
John Hitchings
426f207aac add final jumpstart card pool and additional comments on JumpstartPoolGenerator 2020-06-22 12:25:18 -07:00
Oleg Agafonov
8667d2a923 * Special mana payments like convoke/delve - fixed that it can't be used to cast card from command zone (example: Tasigur, the Golden Fang, see #6680); 2020-06-22 20:20:33 +04:00
jeffwadsworth
3c653d8b19 - First part of fix #6660 2020-06-22 09:40:39 -05:00
LevelX2
c8ddd62e3b * Reworked some card movement to player methods (#4866). 2020-06-22 15:38:36 +02:00
Oleg Agafonov
cd624b2158 * Special mana payments like convoke/delve - fixed that it can't be used to cast card from graveyard (example: Hogaak, Arisen Necropolis, see #6680); 2020-06-22 08:34:53 +04:00
Evan Kranzler
6754636f86 fixed an error 2020-06-21 22:39:09 -04:00
Evan Kranzler
d74c2c8355 Implemented Tinybones, Trinket Thief 2020-06-21 22:14:03 -04:00
gp66
b538aea848 beast token iko 2020-06-20 14:26:01 -05:00
Oleg Agafonov
3f2a5fc362 Prepare new release 2020-06-20 11:36:13 +04:00
LevelX2
305dab90b5 * Replaced some card.putOntoBattlefield by player.moveCard... methods (#4866). Added new player.shuffleCardsToLibrary method. 2020-06-20 08:58:29 +02:00
John Hitchings
c54c100b4d add docs/links for jumpstart, tweak the jumpstart packs file. 2020-06-19 22:10:09 -07:00
Oleg Agafonov
52579fd1f3 Fixed tests 2020-06-20 07:06:34 +04:00
Oleg Agafonov
05950dcc2f Improved text generation for TargetCardInASingleGraveyard (additional to #6557) 2020-06-20 02:17:20 +04:00
Oleg Agafonov
cd8d12365f * Add mana of the chosen color - added info about chosen color to ability choose dialog (#6677); 2020-06-20 00:29:33 +04:00
Oleg Agafonov
2e7d01965e * Madness ability - fixed that it ask about madness cast two times (fixes #6674); 2020-06-19 23:42:45 +04:00
Oleg Agafonov
85083a4433 * Devour abilities - fixed that it doesn't trigger simultaneous events after multiple permanents sacrifice (#6254, #6273) 2020-06-19 21:52:31 +04:00
Oleg Agafonov
d069bbd544 Code cleanup and test fixes 2020-06-19 13:24:52 +04:00
Oleg Agafonov
ce3f9e80d5 Reworked Improvise ability (#768) 2020-06-19 13:22:05 +04:00
Oleg Agafonov
56a5fd5851 Reworked Delve ability (#768) 2020-06-19 13:21:03 +04:00
Oleg Agafonov
fb1e284960 Reworked Assist ability (#768) 2020-06-19 13:20:32 +04:00
Oleg Agafonov
708b4e872a Reworked Convoke ability (#768, #6636) 2020-06-19 13:19:27 +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
bdaf6454de Added commander's zone info in leave/keep message 2020-06-19 12:54:42 +04:00
John Hitchings
1bd98d6435 move jumpstart file to resources 2020-06-19 00:04:09 -07:00
John Hitchings
1695e6767d add jumpstart swiss and elimiation tournament formats. 2020-06-18 23:45:02 -07:00
LevelX2
1a8d325710
Merge pull request #6504 from SpeedProg/fix_target_card_in_opponent_graveyard
fixed TargetCardInOpponentsGraveyard not working properly
2020-06-19 00:34:37 +02:00
jeffwadsworth
266c25c876 - Text fix 2020-06-18 16:26:55 -05:00
LevelX2
c41fc0284d * Fixed missing check for restricting effects of activated abilities of permanents (fixes #6657). I guess that got lost by refactoring get playable abilities. 2020-06-18 22:59:42 +02:00
LevelX2
3beaec4525 * Fixed that effects with "as long as Intet remains on the battlefield" condition were reapplied as the card returned to battlefield.
Some other minor fixes.
2020-06-18 19:12:58 +02:00
jeffwadsworth
f231bcb05b - Text fix 2020-06-18 11:21:06 -05:00
Oleg Agafonov
1724740cc6 XML security (fixes #6662); 2020-06-18 18:06:53 +04:00
Evan Kranzler
d8370013af Implemented Thriving Heath 2020-06-17 20:49:36 -04:00
LevelX2
85709c0a16 * Some rework/clean up of the PlayFromNotOwnHandZone effects (fixes #6580). Some added tests. 2020-06-18 01:19:23 +02:00
Thomas ARBLAY
2f68db7086
[RFR] Correction of the text of some cards (#6602)
* Fix some cards

* Fix Clot Sliver

* Fix WarrenScourgeElf

* Fix Olivia Voldaren

* Fix Domri Rade Emblem

* Fix Broken Ambitions Missing text

Co-authored-by: Thomas ARBLAY <thomas.arblay@smile.fr>
2020-06-17 09:58:35 -05:00
Evan Kranzler
3839b0c665 Implemented Goblin Wizardry 2020-06-16 22:14:57 -04:00
Evan Kranzler
03a46ffec1 fixed Ghostly Pilferer triggered ability 2020-06-16 22:03:14 -04:00
htrajan
6804216ddc
Implement garruk cards (#6650)
* Implement Garruk's Harbinger

* inline ability

* Implement Garruk's Uprising

* Implement Garruk, Unleashed

* fix Garruk, Unleashed
2020-06-16 21:09:26 -04:00
LevelX2
1d0059fb53 * Watcher - Fixed a problem copying HashMaps in watcher deep copy (fixes bug of Muldrotha, the Gravetide #6461). 2020-06-16 22:47:52 +02:00
jeffwadsworth
d0553b3c3a - little cleanup 2020-06-16 11:14:28 -05:00
LevelX2
8e1d7c3ffb Renamed condition to prevent misuse. 2020-06-16 10:53:52 +02:00
Evan Kranzler
e8a99ec7f3 Implemented Experimental Overload 2020-06-15 20:09:31 -04:00
htrajan
d8f90f9196
Implement chandra cards (#6641)
* Implement Chandra, Heart of Fire

* Implement Chandra's Pyreling

* rename var
2020-06-15 18:56:01 -04:00
ingmargoudt
8b7db9b82d
Merge pull request #6644 from jasc7636/Watcher
Make watcher copy method deep copy Maps
2020-06-15 22:09:44 +02:00
LevelX2
2788eab082 * Fixed card type displaying order (fixes #6055). 2020-06-15 21:11:54 +02:00
Oleg Agafonov
4006e9e909 * Images: fixed that some tokens uses wrong images of Elemental (#5834); 2020-06-15 21:30:23 +04:00
Oleg Agafonov
f2f1abd0f3 * Images: fixed wrong Wurm token image for some sets (#5604); 2020-06-15 20:59:53 +04:00
Oleg Agafonov
c2487aec7d [C20] tokens support and fixes:
* Added tokens for C20;
* Added tokens images download for C20;
* Fixed that some tokens uses wrong images or images from wrong set (example: Elemental);
2020-06-15 20:29:52 +04:00
Oleg Agafonov
2b21298377 * UI: fixed that tokens in M15 render mode did not use a variety of images (all same named tokens uses same image); 2020-06-15 20:21:30 +04:00
jasc7636
cdcef4649d Make watcher copy method deepcopy collections 2020-06-15 10:08:56 +02:00
LevelX2
f9479993e2 * UntapLandsEffect - Changed filter message. 2020-06-14 19:41:18 +02:00
LevelX2
39ca6d0dcc
Merge pull request #6615 from Grath/patch-2
Text correction on UntapLandsEffect
2020-06-14 19:37:59 +02:00
LevelX2
3c43e544b0 * Fixed a bug that for mana abilities with multiple net mana entries wrongly no available mana was calculated (fixes #6617). 2020-06-14 16:29:05 +02:00
LevelX2
033f80c6ed * Use for automatic mana payment of generic mana costs first abilities without additional costs (fixes #6408). 2020-06-14 09:34:29 +02:00
LevelX2
aaf1f7da7b * Bronzehide Lion - Fixed that activated ability of enchanted form applied Indestructibility while on battlefield if activated instead of end of the turn.
* Tectonic Giant - Fixed that it also triggerd on activated abilities instead only for spells. 
(fixes #6397)
2020-06-14 08:46:25 +02:00
Oleg Agafonov
ad4be5a9fe Fixed effect texts 2020-06-14 04:28:58 +04:00
LevelX2
f480d0bebb * Some minor code and text clean up. 2020-06-12 15:14:28 +02:00
Evan Kranzler
63851b73a1
Updated commander zone change rules (ready for review) (#6620)
* updated commander zone change rules

* moved commander tracking into game state

* fixed a zone change error

* fixed some more tests for new commander rule

* updated variable names

* updated a test name
2020-06-12 07:42:36 -04:00
John
717b3da6f9
swap green and white in color order choices. (#6630) 2020-06-11 18:59:54 -04:00
htrajan
6fa21415fe
Implement Basri cards (#6622)
* Implement Basri Ket

* Implement Basri's Lieutenant
2020-06-11 18:36:52 -04:00
18ths
e68a20c5fb
fixed and refactored balance effect (#6595)
* fixed and refactored balance effect

* inversed logic in balance effect - now players choose cards to keep instead to sacrifice/discard
2020-06-12 01:19:45 +04:00
Oleg Agafonov
642cdea2f8 Added single cards support in constructed format (like historic, see #6626); 2020-06-12 00:18:40 +04:00
Evan Kranzler
c592542ff6 a few more mill changes 2020-06-11 08:20:33 -04:00
Evan Kranzler
36b31d097e reinstated new mill wording 2020-06-10 22:38:59 -04:00
Evan Kranzler
eab57783ed Implemented Warden of the Woods 2020-06-10 20:38:43 -04:00
Evan Kranzler
7cf52ce136 Implemented Pursued Whale 2020-06-10 20:21:03 -04:00
LevelX2
94c8b7a558 * Some comment formatting. 2020-06-10 22:37:47 +02:00
LevelX2
1e36b39434 - Reworked SourceOnBattlefieldControlUnchangedCondition checking now the LOST_CONTROL event which solves the problem with the old code to not be able to detect all controller changes of layered changeController effects when applied later.
- Simplified and fixed some problems of the handling of the "Until end of your next turn" duration.
- Fixed that some continous effects changed controller but shouldn't dependant from their duration type. Controller chnage will now done duration type dependant.
  (that change fixes #6581 in a more general way undoing the effect specific changes of 2e8ece1dbd).
2020-06-10 22:28:23 +02:00
LevelX2
25802dc105 * Updated some failing tests with old text after fix of 5a17b9665e. 2020-06-10 22:08:51 +02:00
LevelX2
5a17b9665e * Fixed text generation for cards going from library to graveyard. 2020-06-10 17:17:40 +02:00
LevelX2
5c65ee31d9 * Mirari - Fixed that the triggering spell was not copied (fixes #6338). 2020-06-10 10:17:55 +02:00
Oleg Agafonov
a75d08283f * Split cards - added spliced effects support for fused spells, no more double splice pays (#6493, #6549); 2020-06-10 09:58:21 +04:00
Oleg Agafonov
b38ac2f575 * Split cards - added cost modification effects support for fused spells (#227, #2242, #6603, #6549); 2020-06-10 08:28:18 +04:00
Oleg Agafonov
85e90e8edf Code cleanup 2020-06-10 00:24:58 +04:00
jeffwadsworth
2e8ece1dbd - Fixed #6581 2020-06-09 10:04:59 -05:00
LevelX2
eb846c0499 * Added ID name instead of only the name to the replacement effect selector list. Otherwise you can't identify the related source if you have multiple sources with the same name (related #6298). 2020-06-09 16:37:42 +02:00
Evan Kranzler
e879233ea1 Implemented Jolrael, Mwonvuli Recluse 2020-06-09 10:03:23 -04:00
LevelX2
6c90eb1b3c * Changed the method for step end processing of spells with multiple steps (608.2) from game.applyEffects() to game.getState().processAction(game);
Added d8fb962 change for two more effects.
2020-06-09 14:49:46 +02:00
johnmeat
3119e7e78c
Fixed Unlicensed Disintegration damage part (#6614)
* Damage to creature's controller abilities -- fixed that damage part can be skipped if that creature died/destroyed (example: Unlicensed Disintegration, see #6614)

Co-authored-by: johnm <johnm@WINDOWS-QR5QIIL.lan>
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2020-06-09 05:51:58 +04:00
jeffwadsworth
84ec743b07 - Fixed #6599 #6405 #4999 #4270 2020-06-08 17:05:51 -05:00
htrajan
5185d71638
Implement liliana4 and necromentia (#6616)
* LilianaWakerOfTheDead init commit

* Necromentia init commit

* benefit outcome

* fix text

* fix Liliana

* don't change VerifyCardDataTest

* use hasOpponent

* add hint and fix name chooser

* use positive # for hint

* don't change test
2020-06-07 21:16:53 -04:00
Evan Kranzler
0590243d6d updated some more of the mill templating 2020-06-07 19:29:00 -04:00
Evan Kranzler
c4283cd591 Implemented Carrion Grub 2020-06-07 19:21:19 -04:00
Eric Nelson
bc9da1d11f
Text correction on UntapLandsEffect
UntapLandsEffect asks you to choose untapped lands to untap; by changing the fillter from "untapped lands" to "tapped lands" (technically you can choose already untapped lands but...) it will now ask you to choose tapped lands to untap.
2020-06-07 17:52:38 -04:00
htrajan
8369184cac
Implement more m21 cards (#6612)
* init commit

* AdherentOfHope init commit

* BasrisAegis init commit

* don't change test

* FungalRebirth init commit

* GarruksWarsteed init commit

* KeralKeepDisciples init commit

* ChromaticOrrery init commit

* add back filter names

* fix GolgariFindbroker text

* address comments

Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2020-06-07 16:02:07 -04:00
Evan Kranzler
65d2f3c9c4 Implemented Teferi's Tutelage (mill errata not complete) 2020-06-07 13:40:19 -04:00
etpalmer63
046d63732d removed comments about punctuation. 2020-06-06 23:07:24 -07:00
htrajan
a897df7c79
Implement 6 cmc pws (except Teferi) and rin (#6611)
[M21] Implement 6 cmc pws (except Teferi) and rin
2020-06-07 06:13:20 +04:00
Oleg Agafonov
54cb5cfbc9
Merge pull request #6597 from emerald000/companion
New Companion rule
2020-06-06 06:34:14 +02:00
Evan Kranzler
74b6626020 changed Hound to Dog 2020-06-05 20:17:41 -04:00
LevelX2
67b4e8d668 * Marrow-Gnawer - Fixed casting cost order and rules text. 2020-06-05 15:12:42 +02:00
Oleg Agafonov
ecac9295ec Additional card fixed for named abilities support, also added face down spells support (see #6569); 2020-06-05 01:13:17 +04:00
Oleg Agafonov
4b77cb0fa8 * Name card abilities - fixed that it can't find split cards or fused spells with entered name (part of #6603, #6549); 2020-06-05 00:06:57 +04:00
Oleg Agafonov
e95ae2675b Fixed different ZCC in split card's parts (flashback fix, see 95075cf33e);
Improve moveToZone code and fixed some cards with wrong commands queue (e.g. directly removes card from zone and then calls moveToZone again);
2020-06-04 23:47:50 +04:00
Oleg Agafonov
95075cf33e Additional fix flashback and split cards (see cce467a5ec) 2020-06-04 11:34:59 +04:00
Oleg Agafonov
cce467a5ec Additional fix and simplified for playable abilities (see comments b94344341b) 2020-06-04 03:21:18 +04:00
LevelX2
bd40d90286
Merge pull request #6590 from 18ths/world_rule_range_of_influence
fixed world rule with range of influence
2020-06-03 22:39:56 +02:00
LevelX2
238152d6c4 Merge origin/master 2020-06-03 15:08:42 +02:00
LevelX2
07386cce8d * Shifting Shadows - Fixed not proper handling of gained triggered abilities during step resolution of Shifting Shadows effect (fixes #6571). 2020-06-03 15:07:52 +02:00
LevelX2
f65f4a4344 * Fixed that calling the destroy method for an object of the class permanent did move the card in game but shouldn't (#6571). 2020-06-03 15:06:12 +02: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
emerald000
c40ef8b39f New Companion rule
"Once per game, any time you could cast a sorcery (during your main phase when the stack is empty), you can pay 3 generic mana to put your companion from your sideboard into your hand. This is a special action, not an activated ability."
2020-06-01 13:32:44 -04:00
Oleg Agafonov
121dc3501e * Split cards - fixed not working combo with suspend/delay abilities (#946, #6549); 2020-06-01 09:41:48 +04:00
Oleg Agafonov
e7684e4bba Test framework improves:
* added command to check graveyard count command;
* added wrong cast/activate command auto-checks in strict mode;
2020-06-01 09:37:17 +04:00
18ths
d5c46816be fixed world rule with range of influence 2020-05-30 21:52:22 +02:00
LevelX2
32ce1d85e9 * Fix of some problems of zone change related triggered abilities that had not been correctly implemented (fixes #6586). 2020-05-29 14:41:24 +02:00
Oleg Agafonov
2b448cea6a
Merge pull request #6539 from etpalmer63/TogetherFixTwo
Added method to SupportAbility class to allow for removal of 'other' …
2020-05-29 07:09:46 +02:00
Oleg Agafonov
c656bea31c Ability refactor: removed deprecated code 2020-05-28 23:38:16 +04:00
Oleg Agafonov
d63a3e88ce Ability refactor: fixed broken effects timestamp in some use cases 2020-05-28 23:07:36 +04:00
Oleg Agafonov
f3f1c29926 Ability refactor: face down; 2020-05-28 23:02:20 +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
Oleg Agafonov
978118148b Ability refactor: new code to remove abilities from permanent; 2020-05-28 22:31:54 +04:00
LevelX2
f04c0bbc2a * Fixed some rule text problems. 2020-05-27 18:06:04 +02:00
LevelX2
e1c96efa1e * Fixed a problem with selecting cards from other players hand, failing because canTarget check with wrong player id. Changed/simplified canTarget method of TargetCardInHand to solve that problem. (#6532 Gruesome Discovery and Distended Mindbender and probably other changed made with 75577cdbe9). 2020-05-27 13:59:16 +02:00
LevelX2
9933420f57 * Emerge Ability - Fixed that the creature to sacrifice had to be selcted twice. 2020-05-27 10:24:21 +02:00
LevelX2
5e63c44c5d * Abondon Hope - Fixed rule text (#6532). 2020-05-26 19:29:46 +02:00
LevelX2
3aefbfb360 * Fixed problems with win / lose restrictions in relation to empty draw condition (fixes #1681 #6553). 2020-05-26 16:38:01 +02:00
LevelX2
d2b8928e60 * Fixed a bug that the win method for a player did not handle the range correctly and did erroneously end the game while still multiple players alive (related to #6553). 2020-05-25 18:09:28 +02:00
LevelX2
5743e4361e * Some minor fixes/code cleanups to IKO cards. 2020-05-25 16:51:23 +02:00
Oleg Agafonov
abda99e203 Fixed that fused cards allows to cast from graveyard (see prev commit 63dbf5f40b); 2020-05-24 09:21:49 +04: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
Evan Kranzler
c24851b4a9 fixed a bunch of discard issues (#6532) 2020-05-15 21:19:04 -04:00
Evan Kranzler
713a7ab35d fixed a null pointer exception when multiple players discard 2020-05-15 20:51:42 -04:00
etpalmer63
25db5f11eb Changed old constructor to call the new one to prevent code duplication 2020-05-15 11:29:51 -07:00
gp66
877abe087a removed copy/paste code 2020-05-15 12:57:28 -05:00
gp66
162907b9da missing token images in thb and war 2020-05-13 15:44:40 -05:00
gp66
3865c52974 missing token images in thb and war 2020-05-13 15:44:26 -05:00
etpalmer63
235c5aa86f Added method to SupportAbility class to allow for removal of 'other' text in rule generation 2020-05-11 10:52:34 -07:00
etpalmer63
120915c949 removed captialization in effect rule generation to see if it passes tests 2020-05-08 22:04:28 -07:00
etpalmer63
abc5a601d8 removed print out statement used in debugging 2020-05-08 12:14:37 -07:00
etpalmer63
b51b5272b3 cleaned up comments and spacing 2020-05-08 11:50:19 -07:00
etpalmer63
16fa496c04 changes to auto-text generation, unclean 2020-05-08 11:22:17 -07:00
Oleg Agafonov
e3b75a445f
Merge pull request #6520 from emerald000/londonMulligan
Streamline London Mulligan UX.
2020-05-07 15:52:16 +02:00
emerald000
a904b7c890 Fix StubPlayer handling of London mulligans and fix related tests. 2020-05-05 23:15:45 -04:00
Evan Kranzler
b4fd4aab58 fixed bookmark usage in DoWhenCostPaid 2020-05-05 10:04:07 -04:00
emerald000
75bc19d4a7 Add a button on the deck editor to change your cards to the oldest versions. 2020-05-05 01:24:34 -04:00
emerald000
1e8f006448 Streamline London Mulligan UX.
- Choose cards to put on bottom directly from hand.
- Put cards on bottom in order chosen instead of asking afterwards.
2020-05-04 22:57:50 -04:00
Evan Kranzler
bde65d6279
Created class for reflexive triggered abilities (Ready for review) (#6500)
* added class for reflexive triggered abilities

* added DoWhenCostPaid

* a few more refactors

* some more refactoring

* almost all refactors done

* finished refactoring

* updated text generation

* Delete SendOptionUsedEventEffect.java

* fixed Wildborn Preserver text
2020-05-04 20:51:38 -04:00
Oleg Agafonov
8a3ba6729f
Merge pull request #6507 from emerald000/abilityResolved
Refactor and add hint for "Ability resolved X times"
2020-05-04 08:54:40 +02:00
emerald000
3465493ccf Rename, move and comment resolving ability event creation.
Should be clearer now.
2020-05-03 18:56:35 -04:00
etpalmer63
ee74d76a3e Fix typos in Glittering Lion abilities rules 2020-05-03 13:02:45 -07:00
Evan Kranzler
75577cdbe9
Added new method for discarding cards to handle batch triggers (ready for review) (#6489)
* added new discard method

* started refactoring to use new discard method

* refactored A through I

* fixed some issues

* separated balance effect into its own class

* refactored J through R

* refactored S through Z

* applied requested changes
2020-05-03 14:35:26 -04:00
Oleg Agafonov
2739391b1d
Merge pull request #6510 from gp66/completed-suggestions-iko-tokens
Completed suggestions iko tokens
2020-05-03 20:10:11 +02:00
Oleg Agafonov
f3990caf22
Merge pull request #6502 from SpeedProg/angel_of_serenity_mp_fix
Multiplayer test and fix for Angel of Serenity leaves battlefied trig…
2020-05-03 19:56:21 +02:00
gp66
f3bde1dbab completed suggestions for IKO tokens 2020-05-03 12:52:51 -05:00
emerald000
111114e338 Refactor and add hint for "Ability resolved X times"
Affects Ashling the Pilgrim, Inner-Flame Igniter and Soulbright Flamekin.
2020-05-03 09:42:16 -04:00
SpeedProg
724287360c Multiplayer test and fix for Angel of Serenity leaves battlefied trigger when controlled by other then owner and owner leaves game 2020-05-03 11:20:48 +02:00
gp66
8bea930a69 added IKO tokens 2020-05-02 21:59:22 -05:00
SpeedProg
9597e95b8d fixed TargetCardInOpponentsGraveyard not working properly
fixed ignoring allFromOneOpponent in canChoose
fixed including own graveyard in canChoose
fixed including own graveyard for possibleTargets
fixed not overriding one canTarget at all which allowed targeting cards in different graveyards
should also fix #6472
2020-05-02 19:46:13 +02:00
Evan Kranzler
4ceaeeebad added a new static filter 2020-05-01 18:28:43 -04:00
Evan Kranzler
bc2ef9492e fixed a few errors with urza lands 2020-05-01 07:55:18 -04:00
Evan Kranzler
8b09f99708 small fix 2020-04-30 20:58:51 -04:00
Evan Kranzler
40d3e14416 fixed implementation of tron lands 2020-04-30 20:47:52 -04:00
Evan Kranzler
ef31fde7a7 fixed Predatory Impetus 2020-04-30 18:20:41 -04:00
Tim Haering
7310e0ad96 remove not needed quotes 2020-04-30 08:58:38 +02:00
Evan Kranzler
c7140d1ace fixed Impetus texts 2020-04-29 21:13:33 -04:00
Evan Kranzler
8712ab7578 fixed Flawless Maneuver et al. causing an error when cast 2020-04-29 20:53:30 -04:00
Evan Kranzler
a239fd0dda fixed graveyard count not correctly using filters 2020-04-29 18:42:29 -04:00
Tim Haering
17c40ead3c add import support for mtgjson deck files 2020-04-29 20:29:15 +02:00
Evan Kranzler
4d1f37d0fe reworked implementation of Ashling the Pilgrim and similar cards, added a test 2020-04-27 18:33:57 -04:00
Evan Kranzler
ed66104575 more misc text fixes 2020-04-25 20:39:45 -04:00
Evan Kranzler
4afefea1f5 misc text fixes 2020-04-25 20:24:46 -04:00
Evan Kranzler
8bbdae4af6 updated "play from top of library" effects 2020-04-25 18:49:23 -04:00