Oleg Agafonov
ecaa5a5b42
Eon Frolicker - fixed rollback error on play ( #6780 );
2020-07-07 06:32:46 +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
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
da4a44445b
Additional fixes for #6771 (modal spells resolve order)
2020-07-03 01:46:05 +04:00
Oleg Agafonov
f409f56c05
Potential game freeze fix
2020-07-02 01:27:53 +04:00
Oleg Agafonov
ae165e5197
Fixed that it possible to make damage to lose/leaved players
2020-07-01 14:09:43 +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
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
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
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
Oleg Agafonov
5ae041f39a
Additional tests for morph and #6680
2020-06-23 09:29:38 +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
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
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
LevelX2
305dab90b5
* Replaced some card.putOntoBattlefield by player.moveCard... methods ( #4866 ). Added new player.shuffleCardsToLibrary method.
2020-06-20 08:58:29 +02: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
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
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
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
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
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
cce467a5ec
Additional fix and simplified for playable abilities (see comments b94344341b)
2020-06-04 03:21:18 +04:00
Oleg Agafonov
b94344341b
Improved playable abilities and split cards:
...
* Now human player uses same code for playable abilities search as test framework (old version used different code, so it could not work in one of the modes);
* Split cards - improves playable highlights;
* Split cards - fixed that it doesn't work with dynamic added abilities like flashback (#6327 , #6470 , #6549 );
2020-06-03 12:44:58 +04:00
Oleg Agafonov
eea808d2d6
Ability refactor: source improves, deprecated code removed;
2020-05-28 22:38:31 +04: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
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
713a7ab35d
fixed a null pointer exception when multiple players discard
2020-05-15 20:51:42 -04: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
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
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
618af9b365
Implemented Rielle, the Everwise
2020-04-21 20:12:41 -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
emerald000
c3684a732b
[IKO] Implement Companion and 2 companions
...
Keruga, the Macrosage and Umori, the Collector
2020-04-12 08:29:25 -04:00
Ingmar Goudt
ae7919cd07
program towards Interface rather than implementations
2020-02-10 10:40:06 +01: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
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
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
76387057b7
* Deals damage to player - fixed that some cards deals combat damage instead non-combat;
2020-01-14 08:53:09 +04:00
Oleg Agafonov
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
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
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
Oleg Agafonov
00da778484
Fixed NPE with empty library
2020-01-08 18:48:41 +04: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
Ingmar Goudt
978309827b
remove deprecated discard method
2019-12-30 00:22:33 +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