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
Evan Kranzler
83f3d7c692
so many text fixes seriously like so many
2020-04-24 21:38:46 -04:00
Evan Kranzler
5af57d29e8
changed BasicManaAbility to only be used for basic mana abilities
2020-04-24 20:39:08 -04:00
AsterAether
1804b8df01
Implemented Xyris and Kalamax ( #6430 )
...
* Implemented Xyris, the Writhing Storm
* Name change for Xyris's draw ability.
* Implemented Kalamax, the Stormsire.
* Added Kalamax and Xyris to Commander2020Edition Set.
* Updated XyrisTheWrithingStorm drawCards implementation.
* Fixed bug where "First card drawn" was not enforced.
* Removed unnecessary Predicates.or, and replaced custom effect with CreateTokenEffect
2020-04-24 09:39:53 -04:00
Evan Kranzler
cdb615acba
fixed Vivien Reid text
2020-04-23 20:43:10 -04:00
Evan Kranzler
0f5d025699
fixed banding lands text
2020-04-23 20:33:20 -04:00
Evan Kranzler
7f32ea0be2
Updated implementation of Hexproof abilities ( #6451 )
...
* updated implementation of hexproof abilities
* added hexproof from color test
* updated generic in AbilityPredicate
2020-04-23 20:01:13 -04:00
Evan Kranzler
9978b9bec9
fixed issue with dependecies of continuous effects
2020-04-23 17:37:31 -04:00
Evan Kranzler
7522c0a049
Implemented Twinning Staff
2020-04-23 17:36:26 -04:00
Evan Kranzler
c88a087c7e
Implemented Pako, Arcane Retriever
2020-04-22 20:31:35 -04:00
Evan Kranzler
a1074f5759
fixed populate copying noncreature tokens
2020-04-22 19:58:49 -04:00
Evan Kranzler
8b70ae8298
fixed Thwart the Enemy preventing all damage
2020-04-22 08:06:05 -04:00
Evan Kranzler
5986014026
fixed Skycat Sovereign token name
2020-04-22 08:04:21 -04:00
htrajan
f6872732f2
C20 Gavi Nest Warden ( #6452 )
...
* C20 Gavi Nest Warden
* remove unneeded predicate; set text in effect; remove unneeded constructor param for static ability
* staticText
* rebuild
2020-04-22 07:38:34 -04:00
htrajan
a1118292f2
C20 Tayam, Luminous Enigma ( #6453 )
...
* C20 Tayam, Luminous Enigma WIP
* fix counter removal cost
* add author tag
* static
* staticText
2020-04-22 07:36:36 -04:00
AsterAether
e1fd213e0f
Implemented Akim, the Soaring Wind, and new CreatedTokenEvent ( #6431 )
...
* Implemented Akim, the Soaring Wind, and new CreatedTokenEvent, that can be used to for TriggeredEvents.
* Formatting, and added Condition to Akim triggered Ability.
* Added Condition and ConditionHint to Akim.
2020-04-21 22:20:11 -04:00
Evan Kranzler
599c5cf742
fixed Yidaro, Wandering Monster
2020-04-21 21:56:38 -04:00
Evan Kranzler
618af9b365
Implemented Rielle, the Everwise
2020-04-21 20:12:41 -04:00
Evan Kranzler
fde0873895
Implemented Capricopian
2020-04-21 17:34:18 -04:00
Evan Kranzler
09cf95f793
fixed Song of Creation text
2020-04-20 21:47:36 -04:00
Evan Kranzler
83a0df735b
fixed Mythos of Vadrok text
2020-04-20 21:34:49 -04:00
Evan Kranzler
58541b8a24
fixed menace counters not working
2020-04-20 19:21:01 -04:00
Evan Kranzler
37b79bc6ad
updated text generation for ability counters
2020-04-20 18:19:56 -04:00
Evan Kranzler
5d8d9291ae
fixed ability counter creation not using amount
2020-04-20 17:53:50 -04:00
Evan Kranzler
1f85dcb334
fixed implementation of Cradle of Vitality ( fixes #6428 )
2020-04-20 17:51:50 -04:00
Oleg Agafonov
ba86bf0c15
* Gain abilities - fixed wrong text with quotes;
2020-04-19 23:50:31 +04:00
Oleg Agafonov
dfdc1e5e06
[IKO] Jubilant Skybonder - fixed text;
2020-04-19 23:18:34 +04:00
Oleg Agafonov
ccd95cdd71
* Boost effects - fixed wrong text for zero values (-0/-1, -1/-0, etc);
2020-04-19 22:27:03 +04:00
Oleg Agafonov
cba3f0ee12
* As an additional cost to cast - fixed wrong text (reveal cost, etc);
2020-04-19 21:32:51 +04:00
Oleg Agafonov
39894c6394
* As an additional cost to cast discard X cards abilities - fixed wrong text (Firestorm, etc);
2020-04-19 21:18:57 +04:00
Oleg Agafonov
4b940fb2fe
Merge pull request #6432 from htrajan/c20-sanctuary-blade-and-verge-rangers
...
C20 sanctuary blade and verge rangers
2020-04-18 23:31:10 +02:00
htrajan
874ff7179f
-don't static import static filters
...
-use existing choose color and gain protection from color attached effects
-update naming and add null check for AttachedToCreatureSourceTriggeredAbility
2020-04-18 13:13:02 -07:00
Oleg Agafonov
80ffa1652f
* Can't attack or block until pay abilities - fixed missing card texts (Floodtide Serpent, Qal Sisma Behemoth);
2020-04-18 22:11:32 +04:00
htrajan
c567fc2ee1
update author tags, remove unneeded static text
2020-04-17 22:30:39 -07:00
htrajan
e09a922e31
wip
2020-04-17 21:51:21 -07:00
htrajan
5a1b40a42f
add filter copy to GameState's copy constructor and restore method
2020-04-16 19:54:07 -07:00
htrajan
1dc305f329
-setStrictChooseMode and assertAllCommandsUsed in every test
...
-store filter info in GameState
-put instead of putIfAbsent
2020-04-16 19:21:54 -07:00
htrajan
5eeffc1fcf
unstar import
2020-04-16 17:59:17 -07:00
htrajan
ddb14d8d56
unused imports
2020-04-16 17:55:24 -07:00
htrajan
92d6326316
finish
2020-04-16 17:50:17 -07:00
htrajan
a08bd34582
Merge branch 'master' into implement-zilortha
...
# Conflicts:
# Mage/src/main/java/mage/game/GameImpl.java
2020-04-16 15:55:24 -07:00
htrajan
cab436e9e5
wip
2020-04-16 15:53:51 -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
Evan Kranzler
378dfbf89a
Updated implementation of Unpredictable Cyclone ( #6423 )
...
* updated implementation of Unpredictable Cyclone, refactored drawCard method
* fixed another small implementation error
* added test for Unpredictable Cyclone
* updated Unpredictable Cyclone test
2020-04-16 08:04:21 -04:00
Oleg Agafonov
10348faaec
Fixed missing serialization settings ( #6420 );
2020-04-16 09:17:41 +04:00
Evan Kranzler
1874a8404a
Implemented Quartzwood Crasher
2020-04-15 08:32:17 -04:00
Evan Kranzler
fd02d66227
Implemented The Ozolith
2020-04-14 23:11:29 -04:00
Evan Kranzler
a689646735
Implemented Unpredictable Cyclone
2020-04-14 22:16:52 -04:00
Evan Kranzler
cae39848b9
updated Raid text
2020-04-13 18:18:55 -04:00
Evan Kranzler
8e3f029df6
Implemented Narset of the Ancient Way
2020-04-13 18:00:32 -04:00
Oleg Agafonov
8b664adce6
Merge fix
2020-04-13 22:12:47 +04:00
Oleg Agafonov
beb7ab852f
* Planechase: added info about planechase mode in game's startup logs;
2020-04-13 21:56:53 +04:00
Oleg Agafonov
823d677068
Planechase: refactor planes;
2020-04-13 21:50:40 +04:00
Evan Kranzler
b6557201b4
Implemented Lukka, Coppercoat Outcast
2020-04-13 08:42:10 -04:00
Evan Kranzler
f3ea9c15cf
Implemented Startling Development
2020-04-12 20:24:30 -04:00
Evan Kranzler
297710c7fa
Implemented Yidaro, Wandering Monster
2020-04-12 18:21:27 -04:00
Evan Kranzler
7e86626f1d
Implemented Shark Typhoon
2020-04-12 17:21:25 -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
Evan Kranzler
395ae9ec11
fixed an error
2020-04-11 22:14:24 -04:00
Evan Kranzler
d76dc5785c
Implemented Rumbling Rockslide
2020-04-11 21:57:33 -04:00
Evan Kranzler
d3ac65b68b
Implemented Mythos of Illuna
2020-04-11 20:58:00 -04:00
Evan Kranzler
b139e5b0e1
Implemented Boot Nipper
2020-04-10 21:52:23 -04:00
Evan Kranzler
5702a02af0
Implemented Skycat Sovereign
2020-04-09 21:03:31 -04:00
Evan Kranzler
affbb93b3e
Implemented Extinction Event
2020-04-08 18:24:40 -04:00
Evan Kranzler
71b69b9308
Implemented Ominous Seas
2020-04-08 08:31:48 -04:00
Evan Kranzler
23582b4a09
Implemented Psychic Impetus
2020-04-07 22:00:13 -04:00
Evan Kranzler
2d11f69d0e
Implemented Crystalline Resonance
2020-04-07 20:52:03 -04:00
Evan Kranzler
d8d8e7c174
Implemented Forbidden Friendship
2020-04-06 20:59:53 -04:00
Evan Kranzler
0ab6951b9e
Implemented Barrier Breach
2020-04-06 17:38:40 -04:00
Evan Kranzler
e91fc7d636
Implemented Everquill Phoenix
2020-04-05 17:28:53 -04:00
Evan Kranzler
9ba949369e
Implemented Insatiable Hemophage
2020-04-05 16:20:52 -04:00
Evan Kranzler
a4e9b21b82
Implemented Drannith Stinger
2020-04-05 09:22:01 -04:00
Evan Kranzler
0f6f810c24
Implemented Thieving Otter
2020-04-04 22:40:37 -04:00
Evan Kranzler
176f06c1dc
Implemented Jirina Kudro
2020-04-04 22:32:47 -04:00
Evan Kranzler
381de68563
Implemented Kathril, Aspect Warper
2020-04-04 21:25:06 -04:00
Evan Kranzler
5b58e6df0c
Implemented Flawless Maneuver
2020-04-04 19:31:45 -04:00
Evan Kranzler
14a33f11aa
Implemented Netherborn Altar
2020-04-04 18:04:07 -04:00
Evan Kranzler
1e43371470
Implemented Wingfold Pteron
2020-04-04 00:34:19 -04:00
Evan Kranzler
6507e86715
Implemented Voracious Greatshark
2020-04-03 17:33:39 -04:00
Evan Kranzler
06f5ad8cab
Implemented Grimdancer
2020-04-02 19:19:47 -04:00
Evan Kranzler
00214ef80c
Implemented Cloudpiercer
2020-04-02 17:25:37 -04:00
Evan Kranzler
aa1a3b3353
Implemented Zagoth Mamba
2020-04-02 17:16:42 -04:00
Evan Kranzler
272f78e88a
Implemented Void Beckoner
2020-04-02 15:10:56 -04:00
Evan Kranzler
2483fd9c8d
Implemented Fully Grown
2020-04-02 15:04:28 -04:00
Antonio Alonzi
f86529bbb9
#6256 : Do not create new Set/Map
2020-03-30 09:22:02 +01:00
Antonio Alonzi
76c9d38f57
#6256 : Fixed Watcher copy method for JDK11
2020-03-28 19:56:25 +00:00
Thomas Hess
529552dd2c
Fixed set codes for the Duel Deck Anthology deck sets.
...
The decks now use the set codes from Scryfall.
2020-03-24 17:32:06 +01:00
Thomas Hess
3f288ef04e
Added the Secret Lair (SLD, PSLD, SLU) sets.
2020-03-24 17:32:05 +01:00
Oleg Agafonov
2b78ec745c
* Mind's Desire - fixed that it doesn't work with split cards ( #6337 );
2020-03-12 04:07:17 +04:00
Oleg Agafonov
a20bca1b21
Test framework: fixed ai play commands, added more tests
2020-03-12 02:05:06 +04:00
Oleg Agafonov
14ddb6eb28
* AI: fixed wrong targeting for gain control abilities ( #6340 );
2020-03-11 18:22:58 +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
ff3df35467
Fixed NPE errors on empty sourceId in mage reference object;
2020-03-07 00:24:16 +04:00
Oleg Agafonov
d7a48efa89
* Rules: chicken subtype replaced by bird subtype (Chicken à la King, Chicken Egg, Fowl Play, Free-Range Chicken, Poultrygeist);
2020-03-04 00:59:37 +04:00
jeffwadsworth
8e41215fa5
- Refactor to resolve failing test
2020-03-02 16:02:56 -06:00
jeffwadsworth
26439bef95
- Fixed #6325
2020-03-02 14:50:20 -06:00
Oleg Agafonov
8ee1dd20d3
* UI: added preferences to enable or disable turn number and step info in game logs;
2020-02-28 21:04:37 +04:00
Oleg Agafonov
2e73f9d1c5
* UI: added turn number and step info in game logs
2020-02-28 20:27:07 +04:00
Oleg Agafonov
169d9bf761
* Non basic mana abilities - fixed rollback errors in AI games ( #6300 );
2020-02-25 12:41:45 +04:00
jeffwadsworth
39ea0ec65d
- Fixed #6292
2020-02-21 10:59:03 -06:00
Oleg Agafonov
bd0974eecd
* Cost increasing - fixed rollback error ( #6284 );
2020-02-17 20:43:51 +04:00
Oleg Agafonov
30ab06bd26
Little fix
2020-02-15 16:11:20 +04:00
jeffwadsworth
033ad94b8b
- Fixed Disciple of Phenax and Ghastlord of Fugue.
2020-02-13 09:34:56 -06:00
Oleg Agafonov
5a5c49229e
Merge fix
2020-02-11 23:02:46 +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
Samuel Sandeen
d56f6b991b
Fix Sevinne's Reclamation. ( #6275 )
...
This also handles the rather unique case caused by Sevinne's Reclamation where the original spell resolves before the copy of it.
Also fixes a couple typos.
2020-02-10 08:18:12 -05:00
Ingmar Goudt
ae7919cd07
program towards Interface rather than implementations
2020-02-10 10:40:06 +01:00
Oleg Agafonov
b04c436801
Merge pull request #6274 from Dilnu/Rider
...
Check zone change counters in PutOnLibrarySourceEffect
2020-02-09 19:49:29 +01:00
dilnu
a089b70d64
Use getSourceObjectIfItStillExists.
2020-02-09 13:40:26 -05:00
dilnu
847df3eeb8
Check zone change counters in PutOnLibrarySourceEffect
2020-02-09 11:56:13 -05:00
Samuel Sandeen
29ce4b1ad4
Fix Lifelink so it triggers per source instead of per recipient in combat. ( #6272 )
...
* Fix Lifelink so it triggers once per source instead of once per recipient in combat.
* Undo an import collapse.
* Add more tests for lifelink.
2020-02-08 20:31:50 -06:00
Oleg Agafonov
6674ca5d20
Merge pull request #6251 from Dilnu/Bonecrusher
...
Only fire one TARGETTED event per target selected while changing targets.
2020-02-08 16:31:04 +01:00
jeffwadsworth
b11e2a0fe9
- refactor some cards and an effect
2020-02-07 08:52:04 -06:00
jeffwadsworth
d6c2f031d0
- Fixed #6236
2020-02-06 17:47:08 -06:00
Oleg Agafonov
b75a5d86b1
* Dymanic mana abilities - fixed missing mana text (affected cards Priest of Titania);
2020-02-06 21:44:25 +04:00
Oleg Agafonov
dc43707a4d
* Prevent all damage - fixed text;
2020-02-06 21:26:52 +04:00
Oleg Agafonov
1cbabacc23
Merge pull request #6243 from Dilnu/master
...
Fix the Divine Visitation replacement effect.
2020-02-05 12:40:32 +01:00
Oleg Agafonov
5adab75324
Revert "format: organize imports"
2020-02-05 02:17:00 +04:00
Leandro Doctors
8a0a9acff7
format: organize imports
2020-02-04 16:21:48 -03:00
dilnu
0d382d3875
Move the Token field added from GameEvent to a subclass.
2020-02-03 21:57:10 -05:00
dilnu
b6af571779
Only fire one Targetted event per target
...
This specifically addresses changing the target of a spell or ability on the stack.
Fixes https://github.com/magefree/mage/issues/6158
2020-02-02 19:40:25 -05:00
dilnu
06e77bd7d6
Allow players to block creatures attacking destroyed planeswalkers.
...
See Comprehensive rules: 506.4c
Fixes https://github.com/magefree/mage/issues/6240
2020-02-01 17:30:30 -05:00
dilnu
cc9629ed51
Fix the Divine Visitation replacement effect.
...
This also gives the CREATE_TOKEN game events access to the Token being created and updates the GatherSpecimens replacement effect to use that access.
2020-02-01 15:15:52 -05:00
Oleg Agafonov
f0ff8154f3
* Can't cast prevention effects - fixed that UI marked affected cards as playable, but they're not;
2020-02-01 12:17:04 +04:00
Oleg Agafonov
9cd3eeb898
* UI: improved prevention effect messages (now it shows source object name in message window);
2020-02-01 11:37:10 +04:00
Oleg Agafonov
89394ffe0a
Improved ability outcome processing;
2020-01-29 07:33:33 +04:00
Oleg Agafonov
cae3081123
Additional card hints for 68326c8554
2020-01-29 07:08:52 +04:00
Oleg Agafonov
68326c8554
* UI: added card hints about active requirement effects (permanent must attack or must block);
2020-01-29 06:51:39 +04:00
Oleg Agafonov
8ca6fd8552
Can't be target/attached effects - fixed that user gets multiple warning message about prevention effect;
2020-01-28 05:31:32 +04:00
Oleg Agafonov
105062beb7
Fixed multiple NPE errors in cards;
2020-01-28 03:37:49 +04:00
Oleg Agafonov
cc1840b109
* Glory Bearers - fixed that it boost itself too;
2020-01-28 01:46:40 +04:00
Oleg Agafonov
9ec6aa83c4
* Infected counters - fixed rollback error on usage;
2020-01-26 18:41:01 +04:00
Oleg Agafonov
ab2fb29270
Code cleanup (removed unused log4j setting files, added extra info, samples and instructions, removed java logs)
2020-01-26 16:30:42 +04:00
jeffwadsworth
cb340e4709
- Revert changes made for bug #5437 . See 2ca1643b54
2020-01-23 08:31:22 -06:00
Oleg Agafonov
2ca1643b54
* Delay triggered abilities - fixed that copied spell with multiple delayed triggered abilities can freeze the game or missing from stack ( #5437 );
2020-01-23 07:04:19 +04:00
jeffwadsworth
5aaec29361
- Workaround for #5437 . The delayed triggers work correctly now and the game will no longer freeze. TODO: Cards that are copied and then cast do not retain the correct sourceObject. They instead point to the spell on the stack which fails when delayed triggers are used.
2020-01-22 16:57:01 -06:00
Oleg Agafonov
c835fb409d
* Bolas's Citadel - fixed that it can't play cards with cycling ( #6215 );
2020-01-22 14:45:44 +04:00
Oleg Agafonov
cf759e0443
* War's Toll - fixed that is applies restriction attack effect from any zone (from command, hand, etc);
2020-01-22 12:33:03 +04:00
jeffwadsworth
a7c4e44632
- Fixed #6218
2020-01-21 16:12:01 -06:00
Oleg Agafonov
eaaa37db11
Card render testing dialog improves:
...
* Added chooseable render testing (click by mouse on cards);
* Added column style render testing (many cards mode);
* Added tapped, face down and manifested render testing for permanents;
* CardView: fixed missing copy data (NPE for transformed cards);
* CardArea: added support to draw permanents;
* CardArea: added support of offsets between cards/columns;
2020-01-22 00:44:25 +04:00
jeffwadsworth
91e892588b
- Fixed #6203
2020-01-20 14:39:18 -06:00
LevelX2
d87a4e4c9b
* Karn Liberated - Fixed that a with Karn's ability exiled commander was not put to battlefield after game restart.
2020-01-19 16:48:58 +01:00
Oleg Agafonov
8c0a023831
Revert
2020-01-18 11:24:12 +04:00
Oleg Agafonov
b2ab3a2ba4
Fixed multiple card texts;
2020-01-18 11:01:33 +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
bc899e7ea5
Added THB tokens
2020-01-16 18:51:20 +04:00
Oleg Agafonov
12aec087b2
Prepare new release
2020-01-16 18:26:38 +04:00
Oleg Agafonov
a31da48084
Little fixes
2020-01-16 17:11:19 +04:00
Oleg Agafonov
5d52f0ace3
* Conqueror's Galleon - fixed that it returns under owner control instead your;
2020-01-16 08:54:59 +04:00
Oleg Agafonov
d20a20fb6a
Refactor related to #6187
2020-01-15 11:47:22 +04:00
Oleg Agafonov
745bfa2836
Fixed NPE errors on missing card (game.getCard can't find card);
2020-01-15 07:08:56 +04:00
Oleg Agafonov
2d4b2d0699
Fixed text
2020-01-15 06:55:20 +04:00
Oleg Agafonov
b0a45e7c31
* Escape abilities - removed additional cost text from card rules;
2020-01-15 06:49:51 +04:00
Oleg Agafonov
bcb5be77be
Fixed NPE on empty net mana returns (from some effects);
2020-01-15 03:50:27 +04:00
Oleg Agafonov
3fdaf043a1
fixed Taranika, Akroan Veteran (wrong text);
2020-01-14 20:52:13 +04:00
LevelX2
55fe1db60d
Merge origin/master
2020-01-14 17:43:43 +01:00
LevelX2
6455180765
* Some code clean up and a new test.
2020-01-14 17:42:58 +01:00
Oleg Agafonov
b1b6bd600e
Improved rules text generation and removed static texts for some cards with effects:
...
* ExileTargetForSourceEffect
* ReturnFromExileForSourceEffect
* ReturnToBattlefieldUnderOwnerControlTargetEffect
* ReturnToBattlefieldUnderYourControlTargetEffect
2020-01-14 20:38:45 +04:00
Oleg Agafonov
ce3f6d8e41
Fixed wrong ends symbols in combined effects rules like IfDoCost;
2020-01-14 20:35:16 +04:00
Oleg Agafonov
3a681d565a
* Displace - fixed that it return cards under your control instead owner;
2020-01-14 19:15:42 +04:00
Oleg Agafonov
748d14e55e
* Thassa, Deep-Dwelling - fixed text;
2020-01-14 18:53:47 +04:00
Oleg Agafonov
92eba9861d
fixed Uro, Titan of Nature's Wrath (getSpellOrLKIStack return ability instead spell after card triggers);
2020-01-14 11:48:15 +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
LevelX2
42265d78d8
* Haktos the Unscarred - Fixed some problems with the protection ability not working correctly.
2020-01-14 00:34:48 +01:00
Oleg Agafonov
cf072f0b1a
* Deck editor: fixed error message "layout mismatch" for decks with special cards number (PUMA set and other);
2020-01-14 03:05:11 +04:00
Oleg Agafonov
4d2790be3f
* Thirst for Meaning - fixed that it doesn't allow to discard artifact card as pay;
...
* Thirst for Knowledge - fixed that it doesn't allow to discard enchantment card as pay;
2020-01-13 15:03:01 +04:00
Oleg Agafonov
4a004a27b3
Refactor damage with power effect, added checking for wrong targets;
2020-01-13 13:49:40 +04:00
Oleg Agafonov
69e52815b6
Tests: added check that filter card must not contain controller predicate;
2020-01-13 10:41:00 +04:00
Evan Kranzler
595b438faa
updated SagaChapter getChapter method
2020-01-12 13:30:18 -05:00
Oleg Agafonov
6736f5f3b8
* My turn condition - added card hints about turn;
2020-01-12 21:59:56 +04:00
Oleg Agafonov
1a82eba77c
* My turn condition - added card hints about turn;
2020-01-12 21:36:23 +04:00
Oleg Agafonov
3eb4493a45
* My turn condition - added card hints about turn;
2020-01-12 21:25:50 +04:00
LevelX2
62062367e2
Implemented Furious Rise.
2020-01-12 13:19:09 +01:00
LevelX2
7d3f17d578
Implemented Gravebreaker Lamia.
2020-01-12 11:29:43 +01:00
Oleg Agafonov
860c57d9d9
* Chrom Mox - fixed that tapped for mana replacement effects ignore his mana;
2020-01-12 10:09:51 +04:00
Oleg Agafonov
f237c4f388
* Escape abilities - fixed missing game log about cast with Escape;
2020-01-12 07:44:17 +04:00
Evan Kranzler
e3192a7361
fixed Escape not working with targets
2020-01-11 22:02:09 -05:00
Evan Kranzler
0533854d1d
Implemented Nightmare Shepherd
2020-01-11 18:08:37 -05:00
Evan Kranzler
35100c2532
Implemented Calix, Destiny's Hand
2020-01-11 18:08:36 -05:00
Oleg Agafonov
a7aa14b125
Merge remote-tracking branch 'origin/master'
2020-01-12 01:18:04 +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
LevelX2
955c10a91d
Merge origin/master
2020-01-11 22:12:11 +01:00
LevelX2
946aff50a2
Implemented Heliod's Punishment, Hydra's Growth, Ilysian Caryatid, Impending Doom and Incendiary Oracle. Fixed Irreverent Revelers.
2020-01-11 22:11:44 +01:00
Evan Kranzler
11c3d33ac0
Implemented Alirios, Enraptured
2020-01-11 12:48:13 -05:00
LevelX2
86f2d22baa
Implemented Underworld Fires and Wings of Hubris
2020-01-11 18:22:30 +01:00
Oleg Agafonov
5f5d9046f9
* Choose card in hand - fixed rollback error for some cards like Nicol Bolas, Dragon-God;
2020-01-11 08:47:54 +04:00
LevelX2
1f7a7a10b0
* Panopticon Plane - Fixed draw card abilities.
2020-01-11 01:25:26 +01:00
LevelX2
d3a925d2c9
* Marisi, Breaker of the Coil - Fixed can't cast ability.
2020-01-10 21:11:22 +01:00
LevelX2
35628c205a
* Venarian Gold - Fixed rule text according #6170 .
2020-01-10 20:43:19 +01:00
LevelX2
8d8d02b07a
* Added game to getSharedAbilities() method of split and adventure cards .
2020-01-10 20:03:32 +01:00
LevelX2
eded48648f
* Fixed a problem with checkPlayableState (could be reset to early) and fixed a problem of getUsableAcitavedAbilities.
2020-01-10 15:51:44 +01:00
LevelX2
e91639a478
* Implemented handling of up to for TargetAmount.
2020-01-10 15:49:10 +01:00
LevelX2
bd76e54e9d
* Xantcha, Sleeper Agent - Fixed wording of the replacement effect (Oracle changes from 2019-09-27) and generalized the effect for 3 cards.
2020-01-10 14:18:56 +01:00
LevelX2
766c4f8bf6
* Fixed card movement handling.
2020-01-10 08:53:35 +01:00
LevelX2
47a8686958
* Some more move actions replaced and added missing methods for move to command zone.
2020-01-09 23:17:39 +01:00
LevelX2
349a2cc612
* Leadership Vacuum - Fixed that the movement of the commanders were not reported in the game log.
2020-01-09 22:46:20 +01:00
Evan Kranzler
3d991635e8
updated Gold token errata
2020-01-09 12:41:48 -05:00
LevelX2
7ce7c2ad70
* Fixed a problem with P/T of permanets that transform back again to the original source card ( fixes #6156 ).
2020-01-09 08:25:29 +01:00
Oleg Agafonov
ab1475d7e0
Little fixes
2020-01-09 08:52:25 +04:00
jeffwadsworth
292a0a2912
- Fixed #6157
2020-01-08 16:47:05 -06:00
Evan Kranzler
23b2bd8b7e
Implemented Dryad of Ilysian Grove
2020-01-08 12:23:23 -05:00
Oleg Agafonov
00da778484
Fixed NPE with empty library
2020-01-08 18:48:41 +04:00
Evan Kranzler
6bdd395e8f
Implemented Altar of the Pantheon
2020-01-07 22:45:53 -05:00
Evan Kranzler
a9739f12f1
Implemented Kiora Bests the Sea God
2020-01-07 22:45:53 -05:00
Oleg Agafonov
85e65c8f44
Code cleanup
2020-01-08 05:19:52 +04:00
Oleg Agafonov
ca4a4528fb
* Play with top card library - fixed that player can see next top card before casting current top card;
2020-01-08 04:54:17 +04:00
Oleg Agafonov
d3b1be2f75
* Adventure cards - added player name to adventure exile window;
2020-01-07 22:43:15 +04:00
LevelX2
3d998a85b8
Merge origin/master
2020-01-07 17:56:57 +01:00
LevelX2
d4ec65cddb
Added Test and changed some log messages from info to debug.
2020-01-07 17:56:26 +01:00
Evan Kranzler
463c208a39
removed lazy loading of predicates from TargetController
2020-01-07 10:32:34 -05:00
Oleg Agafonov
339c419d4b
* UI: multiple improves for adventure/split cards:
...
* Split cards shows left and right mana cost (in deck editor, hand, etc);
* Adventure cards shows adventure and normal cost (in deck editor, hand, etc);
* Adventure cards shows adventure spell name in deck editor's list;
* Fixed missing loading cursor in deck editor searching;
2020-01-07 11:49:55 +04:00
Oleg Agafonov
c4ad761ebb
Merge fix
2020-01-07 11:41:25 +04:00
Evan Kranzler
14c22137ce
Implemented Anax, Hardened in the Forge
2020-01-06 21:55:11 -05:00
Evan Kranzler
48a43a8360
Merge pull request #6152 from magefree/refactorTargetController
...
Refactored TargetController predicates
2020-01-06 21:56:26 -05:00
Oleg Agafonov
854eaadcc4
Additional fixed for #6147
2020-01-07 06:52:01 +04:00
Oleg Agafonov
b6d76a7c02
* Gain abilities - fixed wrong order effects with changeling ability (all creature type effect, #6147 );
2020-01-07 06:38:34 +04:00
Evan Kranzler
41407a4aee
added lazy loading to getter methods
2020-01-06 21:05:11 -05:00
Evan Kranzler
dff5c73e1c
pulled out DamagedPlayerThisTurnPredicate
2020-01-06 21:00:57 -05:00
Evan Kranzler
5239d0258b
fixed another compilation error
2020-01-06 20:50:14 -05:00
Evan Kranzler
9e7fcd33cd
fixed some import errors
2020-01-06 20:21:10 -05:00
Evan Kranzler
9c3b923b3f
refactored ControllerPredicate
2020-01-06 20:04:56 -05:00
Evan Kranzler
c14a079cc5
refactored OwnerPredicate
2020-01-06 19:59:56 -05:00
Evan Kranzler
3f0547a7fa
refactored DamagedPlayerThisTurnPredicate
2020-01-06 19:56:08 -05:00
Evan Kranzler
13d76bfc06
refactored PlayerPredicate
2020-01-06 19:53:29 -05:00
Evan Kranzler
8e29454916
add predicates to TargetController
2020-01-06 19:47:34 -05:00
Evan Kranzler
ecf26585b5
refactored SupertypePredicate to be part of SuperType
2020-01-06 19:21:27 -05:00
Evan Kranzler
aa72251627
Implemented Archon of Sun's Grace
2020-01-06 18:53:35 -05:00
Evan Kranzler
5a6f9022c0
Merge pull request #6151 from magefree/refactorSubTypePredicate
...
Refactored SubTypePredicate to be part of SubType
2020-01-06 18:27:03 -05:00
LevelX2
b68110f60b
* Removed redundant applies check.
2020-01-06 23:16:33 +01:00
LevelX2
b2a8d4293a
* War's Toll - Fixed the implementation of the restriction effect.
2020-01-06 23:16:10 +01:00
Evan Kranzler
86906ec25f
refactored all instances of SubtypePredicate
2020-01-06 16:48:00 -05:00
Evan Kranzler
3b8298e7c2
moved SubTypePredicate into SubType
2020-01-06 14:59:10 -05:00
Evan Kranzler
688be783aa
refactored all usages of CardTypePredicate to match the new implementation
2020-01-06 13:18:17 -05:00
Evan Kranzler
f685ee3d69
moved CardTypePredicate to the CardType class
2020-01-06 13:17:45 -05:00
Evan Kranzler
943e8dd827
Merge pull request #6144 from magefree/staticValueRefactor
...
Replaced instances StaticValue with singletons (ready to merge)
2020-01-06 08:37:53 -05:00
LevelX2
e565863bd2
Added test for Nissa, Sage Animist -7 ability.
2020-01-06 12:58:50 +01:00
Evan Kranzler
06e069c5db
updated implementation as suggested
2020-01-05 22:35:20 -05:00
Evan Kranzler
690e042b36
Implemented Arena Trickster
2020-01-05 21:55:44 -05:00
Evan Kranzler
38fe022fc0
Merge branch 'master' into staticValueRefactor
2020-01-05 20:46:59 -05:00
Evan Kranzler
724acc4e14
fixed failing tests
2020-01-05 20:44:43 -05:00
Evan Kranzler
9a603fbaab
replaced StaticValue with singletons
2020-01-05 11:33:21 -05:00
LevelX2
7f0d793544
* Fixed a problem with Licid creatures not dying if the enchanted creature dies.
2020-01-05 17:06:36 +01:00
Evan Kranzler
dccc17fac9
Implemented Purphoros's Intervention
2020-01-05 09:30:26 -05:00
LevelX2
ebdba3c57e
* Added logic to check if a card had a triggered ability in the graveyard if it was moved from graveyard to a hidden zone. Because if not, the ability does not trigger.
2020-01-04 23:53:47 +01:00
Oleg Agafonov
9110f70e2d
Fixed NPE errors in deck editor;
2020-01-05 02:03:01 +04:00
Oleg Agafonov
2dd64cf5cd
* Kicker abilities - fixed that AI can't cast cards with kicker for normal cost (AI don't use kicker now);
2020-01-05 01:04:35 +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
Oleg Agafonov
bcb37992cc
* Buyback abilities - fixed that AI can't cast cards with buyback for normal cost (AI don't use buyback now);
2020-01-04 20:26:59 +04:00
Oleg Agafonov
1ae9fc883e
* Replicate abilities - fixed that AI can freeze the game after play card with replicate (AI don't use it now);
2020-01-04 20:22:49 +04:00
Oleg Agafonov
a249dcffd8
Fixed error with no abilities
2020-01-04 20:18:16 +04:00
Oleg Agafonov
13da4fd2b3
fixed Archon of Falling Stars (must be return to battlefield instead hand)
2020-01-04 19:40:25 +04:00
Evan Kranzler
bfdbac5552
updated THB spoiler
2020-01-04 08:56:21 -05:00
Evan Kranzler
d5474df005
Implemented Shimmerwing Chimera
2020-01-03 22:10:45 -05:00
jeffwadsworth
5ed5bce718
- Fixed #6127
2020-01-03 11:30:29 -06:00
Evan Kranzler
9a3d085a81
Implemented Triumph of Anax
2020-01-03 11:13:54 -05:00
jeffwadsworth
a37c9da789
- Fixed issue where one could see the "next" card on top of the library while casting the current one. Example, Bolas's Citadel ability.
2020-01-03 09:05:08 -06:00
LevelX2
19060954ae
Merge origin/master
2020-01-03 15:24:27 +01:00
LevelX2
8854871c15
* Fixed problems of Yixlid Jailer that removed abilities from cards in graveyard permanently ( fixes #1147 ).
2020-01-03 15:23:52 +01:00
Oleg Agafonov
c1351c2339
* Play from top library - fixed that unplayable lands marks as playable;
2020-01-03 17:33:03 +04:00
Oleg Agafonov
a381c1954c
* Bolas's Citadel - fixed that it can't play cards with mana abilities;
2020-01-03 17:20:46 +04:00
Oleg Agafonov
893bcbb01f
fixed The Birth of Meletis (missing defender ability in token)
2020-01-03 12:20:40 +04:00
Oleg Agafonov
65d914ffe7
Fixed missing watchers
2020-01-03 12:18:19 +04:00
Oleg Agafonov
dceb93e7a6
Additional fixes for getNetMana from #6132 (final)
2020-01-03 06:27:39 +04:00
Evan Kranzler
64ae38c632
Implemented Nessian Boar
2020-01-02 18:56:25 -05:00
Evan Kranzler
be32db8a80
Implemented Inspire Awe
2020-01-02 16:40:42 -05:00
Evan Kranzler
9948aca713
Implemented The Birth of Meletis
2020-01-02 16:40:40 -05:00
Oleg Agafonov
62636b5071
Additional fixes for getNetMana from #6132
2020-01-02 23:33:20 +04: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
Evan Kranzler
86fe25e68b
Implemented Pharika's Spawn
2020-01-02 09:45:04 -05:00
Oleg Agafonov
862fe69b53
* Adventure cards - improved game logs (card hint works with adventure spell now, added original card info to cast's log);
2020-01-02 14:48:28 +04:00
Oleg Agafonov
b4c55039e5
* Adventure cards - added adventure spell info in permanent's rules on battlefield;
2020-01-02 06:15:17 +04:00
Oleg Agafonov
d860c026bd
* Adventure cards - added missing adventure card type info into rules (instant or sorcery);
2020-01-02 05:53:56 +04:00
Oleg Agafonov
50195e8f35
* AI: fixed that computer can't target cards on battlefield if it contains tokens;
2020-01-02 04:46:20 +04:00
Evan Kranzler
14b002bce6
Implemented Glimpse of Freedom
2020-01-01 10:32:40 -05:00
LevelX2
12c4bacc07
* Reworked GainControlAllEffect that fixed a problem of Varchild, Betrayer of Kjeldor gaining control of creatures entering the battlefield after the Varchild left the battlefield.
2020-01-01 13:37:04 +01:00
Oleg Agafonov
3c727eb06b
Fixed missing rates for some cards
2020-01-01 14:28:58 +04:00
Oleg Agafonov
4d51d379fe
Fixed wrong symbols in rules
2020-01-01 14:28:12 +04:00
spjspj
5b40ca867e
Merge pull request #6110 from spjspj/master
...
Add an information format for deck
2020-01-01 17:48:37 +08:00
Oleg Agafonov
f5ef16c8cf
Additional fixes for getNetMana from #6132 , added TODO task for next mana improves;
2020-01-01 02:27:54 +04:00
jeffwadsworth
13cb86d69f
- See b9bee56
2019-12-31 15:40:13 -06:00
Evan Kranzler
8b8a05d1c9
Implemented Nadir Kraken
2019-12-31 12:37:56 -05:00
Oleg Agafonov
4445f8556e
Fixed multiple calls of mana choice dialogs, related to #6132
2019-12-31 20:24:25 +04:00
Oleg Agafonov
a7233df1c5
Fixed Empowered Autogenerator with new getNetMana
2019-12-31 18:02:52 +04:00
Oleg Agafonov
60781604f3
Merge branch 'master' into fix-tapped-for-mana-event
2019-12-31 12:12:25 +01:00
Oleg Agafonov
dca3e034f4
Refactor: fixed targets from cards list (support filters with player predicate);
2019-12-31 05:11:45 +04:00
LevelX2
b068d10c44
* Nissa, Vastwood Seer - Fixed a bug of the Nissa, Sage Animist that the animated lands lost the creature type as soon as Nissa was cast again from command zone or from hand ( fixes #5677 ).
2019-12-30 21:35:10 +01:00
Evan Kranzler
a0888af73a
Merge pull request #6124 from magefree/updateDevotion
...
Refactor Devotion dynamic value to enum (ready to merge)
2019-12-30 11:30:37 -05:00
Ingmar Goudt
978309827b
remove deprecated discard method
2019-12-30 00:22:33 +01:00
Ingmar Goudt
813aded7f9
Add missing generic
2019-12-29 23:18:38 +01:00
Ingmar Goudt
ee71495a3f
fix latest cards from master
2019-12-29 23:08:47 +01:00
Ingmar Goudt
998c3be2a5
Merge branch 'master' of https://github.com/magefree/mage into copy_constructor_watchers
2019-12-29 21:05:37 +01:00
Ingmar Goudt
1a8723697e
fix for Set as value of Map, make sure the set is new
2019-12-29 21:05:28 +01:00
Oleg Agafonov
87db04adfc
Fixed typo
2019-12-29 23:36:28 +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
Evan Kranzler
d9e0b75545
built hints into devotion class
2019-12-29 10:27:23 -05:00
LevelX2
2508de1f82
* Aminatous Augury - Fixed a problem that the cards could not be cast from exile. Added logic so the player could select the card types to consume for the cast from exile.
2019-12-29 16:22:52 +01:00
LevelX2
8710bb5ca2
* PutCardFromHandOntoBattlefieldEffect - Fixed that the rule text did not show if the card entered the battlefield tapped (e.g. for Arboreal Grazer).
2019-12-29 14:30:16 +01:00
LevelX2
42a9aed977
* Tragic Arrogance - Fixed a problem that under some circumstances permanents of the wrong player were sacrificed.
2019-12-29 14:20:24 +01:00
LevelX2
554c5baf25
* Fixed a problem of triggered effects that detect if a creature was exiled but the creature ended in a another zone (e.g. commander) ( fixes #5905 ),
2019-12-28 18:21:32 +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
LevelX2
1f82e7a4ae
Merge origin/master
2019-12-27 23:23:09 +01:00
LevelX2
1dc8f37d20
* Expropriate - Fixed a strange problem that the prompt text of the select permanent selection to get the control of the permanent was not shown. Still not clear what the exact reason was but using a player list to save the voters seemed to cause the problem.
2019-12-27 23:22:32 +01:00
Evan Kranzler
d3cfca6226
begin refactor of Devotion to enum
2019-12-27 10:53:31 -05:00
Evan Kranzler
5856d0744b
Merge pull request #6123 from ssouders412/FaeOfWIshesFix
...
Fae of Wishes//Granted fix
2019-12-27 10:52:36 -05:00
ssouders412
cfdae6ee9d
Fixed Fae of Wishes//Granted, added Noncreature card filter
...
Updated Drekavac and Entomber Exarch to use the new filter.
2019-12-27 10:34:27 -05:00
jeffwadsworth
b9bee56c89
- Starting the process of migrating cards that use the player.cast() method to access the full abilities of a card not cast from the hand zone.
2019-12-26 15:54:22 -06:00
LevelX2
06ed2f5927
* Improved display of vote for Council's Dilemma cards.
2019-12-26 14:31:51 +01:00
LevelX2
1798f5a151
* setCheckPlayableState(false) in finally error handling (related to 133cc7342d
).
2019-12-26 14:26:16 +01:00
Oleg Agafonov
2460408da8
* Until your next turn effects - fixed that continuous effects of lost/leaved players can be discarded by combat or some cards before next turn starts;
2019-12-26 07:44:46 +04: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
5b9f0c970c
Removed bloated logs
2019-12-24 21:12:20 +04:00
Oleg Agafonov
49ea0205d0
* Enters battlefield, played land triggered abilities - fixed multiple rollback errors on missing target;
2019-12-24 16:19:57 +04:00
Oleg Agafonov
9cf1ee2f42
Questing Beast - fixed rollback error on damage prevent ( #6116 );
2019-12-24 10:53:51 +04:00
Oleg Agafonov
5cb040607e
Refactor PreventAllDamageToAllEffect
2019-12-24 10:48:08 +04:00
Oleg Agafonov
70b37d1d71
* You may choose card from outside or in exile - fixed that it doesn't allows to choose cards from exiled zone (Karn, the Great Creator and Coax from the Blind Eternities);
2019-12-24 02:06:33 +04:00
LevelX2
82371456cd
* Commented out showXXX commands in tests to reduce the output.
2019-12-23 19:22:56 +01:00
LevelX2
7fe357708a
* Some minor source code updates.
2019-12-23 16:38:54 +01:00
LevelX2
2f998060a2
* Fixed a problem with power/toughness setting of copied transformed permanents ( fixes #5893 ).
2019-12-23 15:35:53 +01:00
spjspj
844500accf
Add an information format for deck
2019-12-23 01:12:31 +11:00
Evan Kranzler
51b55fc8b8
Implemented Athreos, Shroud-Veiled
2019-12-21 10:13:11 -05:00
Oleg Agafonov
bd71c98e3e
Fixed AI freeze with non available targets
2019-12-21 18:10:29 +04:00
Evan Kranzler
88a1b9fe22
Implemented Underworld Rage-Hound
2019-12-20 20:10:08 -05:00
LevelX2
0a8a9ed00d
* Replaced some filters by StaticFilters instances.
2019-12-20 23:50:01 +01:00
LevelX2
43a11cd115
* Enduring Ideal - Improved filter prompt text.
2019-12-20 22:56:11 +01:00
LevelX2
e80cfbeb2c
* Fixed a problem of the card filtering of RevealLibraryPutIntoHand (fixes a problem of Brass Herald moving all cards to hand).
2019-12-20 20:54:23 +01: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
jeffwadsworth
27a505ced9
- Fixed #6096 .
2019-12-19 15:31:48 -06:00
jeffwadsworth
4ef9a75fe7
- Fixed #6101
2019-12-18 15:41:08 -06:00
Oleg Agafonov
cde9957f54
* UI: added playable card marks in look-at windows;
2019-12-18 22:44:42 +04:00
Oleg Agafonov
ff1299cca9
* Copy activated ability - fixed that it raise error on triggering on copied permanents;
2019-12-18 18:16:16 +04:00
Oleg Agafonov
23ef0e4269
* Spark Double - fixed that copy of spark contains legendary type ( #6097 )
2019-12-18 17:57:41 +04:00
Evan Kranzler
0bd2a5c270
Implemented Ashiok, Nightmare Muse
2019-12-16 22:31:25 -05:00
Ingmar Goudt
e8303d551d
Merge branch 'copy_constructor_watchers' of https://github.com/magefree/mage into copy_constructor_watchers
2019-12-16 23:03:56 +01:00
Oleg Agafonov
0885a01849
Fixed that TargetCard ignore filter in some calls
2019-12-16 02:55:13 +04:00
LevelX2
2413f956ee
Fixed a problem with bosster generation for boosters with partners and basic lands.
2019-12-15 16:18:04 +01:00
LevelX2
8d46f46cf8
Fixed a problem that DiesTriggeredAbilities from Tokens that were removed by an effect did nevertheless trigger ( fixes #5825 ).
2019-12-15 13:10:11 +01:00
Oleg Agafonov
2549634443
Fixed NPE errors
2019-12-15 15:12:13 +04:00
Oleg Agafonov
be6a588a7f
Fixed NPE errors
2019-12-15 15:00:31 +04:00
LevelX2
ca0297d7c8
Merge pull request #6015 from t-schroeder/crownoffury
...
Implemented Crown of Fury
2019-12-15 08:36:12 +01:00
LevelX2
81ff37ad17
Fixed a bug that sometimes wrongly power of new source instance was used to determine a number and fixed also a bug that counters were added wrongly to an already new instance of the source object ( fixes #6035 ).
2019-12-15 00:50:44 +01:00
LevelX2
515b55f088
Fixed handling of Guardian Beast, fixed rule text display ( fixes #5922 ).
2019-12-14 22:20:59 +01:00
LevelX2
b7b3bc4474
Merge origin/master
...
Conflicts:
Mage/src/main/java/mage/players/PlayerImpl.java
2019-12-14 18:41:12 +01:00
LevelX2
da9f24e008
Removed deprecated AdjustingSourceCosts interface.
2019-12-14 18:33:11 +01:00
Evan Kranzler
f1b9b5aba7
Implemented Daxos, Blessed by the Sun
2019-12-14 11:14:13 -05:00
Oleg Agafonov
732a48e936
Fixed and improved tests for latest changes like asThough and adventure cards;
2019-12-14 19:19:32 +04:00
Oleg Agafonov
b3e17ba85f
Improved "play the top card" to support adventure and split cards;
2019-12-14 19:11:40 +04:00
Oleg Agafonov
a05da68493
Improved alternative cost from dynamic effects (it's like #5913 PR):
...
* Game: added multiple cards/effects support (old version supported only 1 effect per game);
* Game: added combo support with split and adventure cards;
* AI: computer can see and play cards with dynamic added alternative cost (like Bolas's Citadel);
* UI: users can see playable cards with alternative cost.
2019-12-14 19:09:25 +04:00
Oleg Agafonov
d271feb0cb
Reworked asThough effects:
...
* Game: improved asThough effects processing and combo with different cards/abilities (e.g. adventure cards, play from non own hand, etc);
* AI: computer can see and play non hand cards with dynamic effects in all zones (not only graveyard);
* AI: computer can see and play "as though" mana and alternative costs;
* UI: added non hand cards highlights of available abilities/cards;
2019-12-14 18:47:56 +04:00
Evan Kranzler
447002ee67
Implemented Setessan Champion
2019-12-13 08:17:37 -05:00
Patrick Hulin
27bb6fa432
Conform AdventureCard to new getAbilities plan.
2019-12-11 22:42:32 -05:00
Patrick Hulin
383069f5eb
Merge branch 'master' of https://github.com/magefree/mage into adventures
2019-12-11 22:15:38 -05:00
Patrick Hulin
f63561cfb7
Add canActivate flag.
2019-12-11 22:15:07 -05:00
Evan Kranzler
3965061234
Implemented Elspeth, Sun's Nemesis
2019-12-11 20:08:07 -05:00
Oleg Agafonov
be7dea2d16
* UI: fixed that split cards doesn't marks as playable;
2019-12-11 04:44:25 +04:00
Oleg Agafonov
6b5a9846b9
Fixed rules generation
2019-12-11 04:40:07 +04:00
Patrick Hulin
b17bf1ac9f
Save and restore controller ID in cardPlayableAbilities.
2019-12-10 16:35:53 -05:00
Patrick Hulin
fbc88f152e
Fix Teferi, Time Raveler behavior and ignore W6 emblem failure for now.
2019-12-10 14:24:35 -05:00
Patrick Hulin
2f138a04ae
Fix issue with casting opponents' cards.
2019-12-10 13:33:27 -05:00
Patrick Hulin
cd890d329a
Fix behavior for Garruk's Horde, Melek, W6.
2019-12-10 11:34:19 -05:00
jeffwadsworth
ca22a7750a
- Fixed #5925 and related issues.
2019-12-10 10:25:07 -06:00
Patrick Hulin
19ca9f555c
Remove duplicated ability text.
2019-12-10 00:17:22 -05:00
Patrick Hulin
317a81678f
Remove cast ability when adventure is a permanent.
...
This prevents the adventure ability text from displaying when the card is on the battlefield.
2019-12-10 00:10:34 -05:00
Patrick Hulin
abcd0512a5
Unused import.
2019-12-09 21:35:43 -05:00
Patrick Hulin
d2cb10d7b7
Clean up visual details.
2019-12-09 21:12:21 -05:00
Patrick Hulin
a2a569195a
Fix issue where you could cast Adventure from exile.
2019-12-09 19:38:41 -05:00
Patrick Hulin
af5ccf6914
Implement AdventurePredicate.
...
This adds support for Edgewall Innkeeper (and similar cards) and Memory Theft.
2019-12-09 13:50:07 -05:00
Patrick Hulin
6160bc25ef
Remove unused file.
2019-12-09 12:48:05 -05:00
Patrick Hulin
19a9d98287
Adventures basically working.
...
No graphics yet.
2019-12-09 12:46:43 -05:00
Patrick Hulin
04a4b91a59
Begin implementing adventures.
2019-12-09 11:30:11 -05:00
Oleg Agafonov
899cde4d54
Merge pull request #6073 from ssouders412/pronoun-fixes
...
Updated pronouns to reflect current rules and oracle text
2019-12-07 01:07:11 +01:00
Oleg Agafonov
1d20069ddf
* Fixed wrong selection count in choose ability mode dialog (cards like Planewide Celebration);
2019-12-07 01:48:39 +04:00
ssouders412
50bd6cbc32
More pronoun fixes
2019-12-06 15:17:44 -05:00
jeffwadsworth
57cb023f78
- Fixed an issue with AffinityEffect and multiplayer games. See #5931
2019-12-06 14:16:32 -06:00
ssouders412
2d3247d732
Updated pronouns to reflect current rules and oracle text
...
Replaced all instances of "her or she", "him or her", and "his or her", with "they", "them", and "their", or sometimes "that player". Updated verbs where appropriate.
2019-12-06 14:29:36 -05:00
jeffwadsworth
30e8fec8df
- Fixed #5931
2019-12-06 11:43:12 -06:00
Oleg Agafonov
bf5e603fcb
Merge fix
2019-12-06 21:08:20 +04:00
Oleg Agafonov
a8d707b469
Additional watchers fixes for #6065 , see comments in f21151bca5
2019-12-06 21:02:41 +04:00
jeffwadsworth
ba78d41034
- Fixed #5969
2019-12-05 11:25:38 -06:00
Sarah Souders
b208dc332f
Fixed Rankle's triggered ability ( #6064 )
...
* Fixed Rankle's triggered ability
Any number of available modes can now be selected, including zero.
* Update AbilityImpl.java
* getTargets now returns empty Target for null Mode
Reverted null Target check changes in StackAbility.
* Update HumanPlayer.java
2019-12-04 20:59:03 -06:00
Sarah Souders
e437577b5a
K'rrik fixes, payment for triggered abilities ( #6060 )
...
* K'rrik fixes, payment for triggered abilities
K'rrik's Phyrexian ability is now handled separately from actual Phyrexian mana costs. It can now be used to pay for triggered abilities like Extort.
* K'rrik tests added
Tests include:
- only usable by 1 player
- usable with activated/triggered abilities
- usable as an alternative to true Phyrexian mana, getting around Trinisphere
2019-12-04 16:27:41 -06:00
jeffwadsworth
f21151bca5
- Fixed #6065
2019-12-03 16:05:30 -06:00
jeffwadsworth
2de7c136ea
- Fixed #6056 . Please test when you can. Now you will see other abilities/spellAbilities from cards presented during the cast from exile. Overload, Emerge, Surge, etc.
2019-12-01 21:53:01 -06:00
jeffwadsworth
fda5ac170a
- Fixed #5985
2019-11-30 06:58:52 -06:00
jeffwadsworth
5a1fb5f90e
- Fixed #6059
2019-11-30 05:27:00 -06:00
Oleg Agafonov
7469d59eee
Prepare new release
2019-11-30 01:32:54 +04:00
Oleg Agafonov
236cb46125
Additional token fixes for #6032 :
...
- fixed wrong Elemental token images in BFZ's cards (Omnath, Locus of Rage and Seed Guardian);
- fixed wrong Elemental token image in OGW's cards (Chandra Flamecaller);
- removed unnecessary tokens from AKH, HOU and EMN (card duplicates);
- fixed missing Goblin token in DOM;
- fixed missing Bird Illusion token in GRN;
- fixed same Zombie token in C19;
2019-11-28 23:42:39 +04:00
jeffwadsworth
792af6d331
- Fixed #5854
2019-11-27 23:56:22 -06:00
jeffwadsworth
a97ae1b0c6
Fixed an issue related to putting cards into the graveyard in the order wished. The amount was set to >3 for some odd reason. Made it >1.
2019-11-27 10:34:35 -06:00
jeffwadsworth
133b5495f9
Fixed #6051
2019-11-25 11:55:07 -06:00
jeffwadsworth
75b82018e1
- Fixed #6034
2019-11-24 15:37:20 -06:00
jeffwadsworth
d2115b0425
- Fixed #6037
2019-11-24 13:42:03 -06:00
jeffwadsworth
6d21c9d3dc
Fixed #6045 - Note that an addition was made to MorphAbility
2019-11-21 17:39:42 -06:00
Jeff
3f9f860f85
Fixed #6047
2019-11-19 15:32:44 -06:00
ssouders412
84701cfbab
Fixed K'rrik, Son of Yawgmoth
...
K'rrik's second ability is no longer active after he leaves the battlefield.
KNOWN ISSUE: Cards you would not normally be able to play without this ability are still not highlighted as playable.
2019-11-13 02:01:24 -05:00
ssouders412
6fd9cab283
Implemented K'rrik, Son of Yawgmoth
...
KNOWN ISSUE: K'rrik's ability allowing the player to pay Phyrexian for black mana remains active after K'rrik leaves the battlefield.
2019-11-11 00:17:57 -05:00
Tim Schroeder
54552a94ad
implemented Crown of Fury
2019-10-16 04:41:06 +02:00
Evan Kranzler
193182aa3d
Implemented Mtenda Lion
2019-10-03 19:42:09 -04:00
Evan Kranzler
3d224ffb61
reverted change to triggered abilities ( #6001 )
2019-09-30 18:45:10 -04:00
Oleg Agafonov
9d2d318a6c
[ELD] added tokens
2019-09-27 22:50:18 +04:00
Oleg Agafonov
2227490413
Food token - fixed that it doesn't use multiple images;
2019-09-27 22:49:17 +04:00
Evan Kranzler
9170df1344
fixed cost modifying effects requiring snow mana unnecessarily ( fixes #6000 )
2019-09-25 17:32:49 -04:00
Evan Kranzler
3d5925826c
temporary workaround for Rankle, Master of Pranks (still can't choose zero modes) #5979
2019-09-24 22:26:28 -04:00
Evan Kranzler
b245b493b8
Implemented Outlaws' Merriment
2019-09-24 21:41:02 -04:00
Evan Kranzler
84206205ad
updated TargetAmount for permanents
2019-09-24 19:45:31 -04:00
Oleg Agafonov
6cc2472ed6
* UI: improved choose target amount dialog (selected targets can be removed/de-selected);
2019-09-24 08:40:58 +04:00
Oleg Agafonov
bad26b182a
Added max targets limit support in TargetAmount
2019-09-24 07:44:14 +04:00
Evan Kranzler
316f823ebf
cleaned up the TargetAmount classes in preparation for updating them
2019-09-22 20:54:29 -04:00
Evan Kranzler
13ba8b0900
used reset method on triggered abilities
2019-09-21 21:29:08 -04:00
Evan Kranzler
48a678fad9
Implemented Covetous Urge
2019-09-21 19:40:19 -04:00
Evan Kranzler
4afc35caf0
fixed ETB untapped triggered abilities
2019-09-21 10:40:57 -04:00
Evan Kranzler
61bf0f758d
Implemented Dwarven Mine
2019-09-20 19:36:09 -04:00
Evan Kranzler
788a879c7f
Implemented Festive Funeral
2019-09-19 20:04:53 -04:00
Evan Kranzler
c3d141d83c
Implemented The Great Henge
2019-09-18 19:58:19 -04:00
Evan Kranzler
0982e36002
improved implementation of second draw triggers
2019-09-18 13:08:26 -04:00
Evan Kranzler
d557e6a27e
Implemented Lucky Clover
2019-09-17 17:28:01 -04:00
Evan Kranzler
ce920fa542
Implemented Fires of Invention
2019-09-16 16:13:40 -04:00
Evan Kranzler
275d28d22c
Implemented Idyllic Grange
2019-09-16 15:40:02 -04:00
Evan Kranzler
64dcfb840d
Implemented Giant Opportunity
2019-09-16 10:01:06 -04:00
Evan Kranzler
6af989d6a0
Implemented Henge Walker
2019-09-15 10:22:04 -04:00
Evan Kranzler
575b0bca30
updated Adamant implementation
2019-09-14 19:28:26 -04:00
Evan Kranzler
a03e5f11fb
Implemented Seven Dwarves
2019-09-14 19:07:41 -04:00
Evan Kranzler
3491b36ae8
Implemented Oathsworn Knight
2019-09-14 18:30:51 -04:00
Evan Kranzler
3867937b38
Implemented Clockwork Servant
2019-09-14 12:32:05 -04:00