Commit graph

2442 commits

Author SHA1 Message Date
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
b3ec79f467 Test framework: added command to show available mana; 2020-01-04 20:15:43 +04: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
a381c1954c * Bolas's Citadel - fixed that it can't play cards with mana abilities; 2020-01-03 17:20:46 +04:00
Oleg Agafonov
53296446a8 Test fix 2020-01-02 06:18:15 +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
50195e8f35 * AI: fixed that computer can't target cards on battlefield if it contains tokens; 2020-01-02 04:46:20 +04: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
f5ef16c8cf Additional fixes for getNetMana from #6132, added TODO task for next mana improves; 2020-01-01 02:27:54 +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
0faecb2fb6 Server: fixed missing data compress for some server's responses; 2019-12-31 04:11:23 +04:00
Oleg Agafonov
5524224d63 Tests: removed bloated logs from AI load tests; 2019-12-31 04:08:13 +04:00
Ingmar Goudt
978309827b remove deprecated discard method 2019-12-30 00:22:33 +01:00
Oleg Agafonov
9b685cf14b Tests: added chat messages processing in AI load tests; 2019-12-29 17:03:19 +04: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
12639bce26 * Added Test for #5905. 2019-12-28 01:33:14 +01:00
LevelX2
b38242bf93 * Faerie Artisans - Fixed a problem that the triggering permanent was not copied if it already left the battlefield (fixes #5904). 2019-12-28 00:44:38 +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
1977e7f986 * Opportunistic Dragon - Fixed that the can't attack effect was not discarded if the Opportunistic Dragon left the battlefield. 2019-12-25 17:05:52 +01: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
9cf1ee2f42 Questing Beast - fixed rollback error on damage prevent (#6116); 2019-12-24 10:53:51 +04:00
LevelX2
82371456cd * Commented out showXXX commands in tests to reduce the output. 2019-12-23 19:22:56 +01:00
Oleg Agafonov
fac7ea1388 * AI: fixed rollback errors with copy spell abilities;
Tests: added copy spell support for test player;
2019-12-23 21:47:01 +04:00
LevelX2
2f998060a2 * Fixed a problem with power/toughness setting of copied transformed permanents (fixes #5893). 2019-12-23 15:35:53 +01:00
Oleg Agafonov
d26fde8dbc Prepare new release 2019-12-21 18:23:15 +04:00
Oleg Agafonov
bd71c98e3e Fixed AI freeze with non available targets 2019-12-21 18:10:29 +04:00
Oleg Agafonov
7a7a9c20ec Tests: fixed false positive tests (AI related, see prev commit); 2019-12-20 20:22:38 +04:00
Oleg Agafonov
8cce5a3648 * AI: reworked computer choices for "target permanent" targets:
* Fixed that computer was able to target own permanents for bad effects and opponent permanents for good effect;
 * Improved target choices on card score (as example: boost most valuable, discard most weaker);
 * Tests: fixed false positive tests (AI depended);
 * Tests: fixed that test player can't find permanents for some filters/predicates;
2019-12-20 20:20:16 +04:00
jeffwadsworth
27a505ced9 - Fixed #6096. 2019-12-19 15:31:48 -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
Oleg Agafonov
419cbf3c28 * AI: fixed that computer was able to choose non valid targets/cards (from all graveyards, hands, etc); 2019-12-16 02:58:10 +04:00
Oleg Agafonov
0885a01849 Fixed that TargetCard ignore filter in some calls 2019-12-16 02:55:13 +04:00
LevelX2
af9f2c93dd
Merge pull request #5910 from magefree/set_lint
Fix various hints and warnings on many set & block classes (via Intel…
2019-12-15 13:21:08 +01:00
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
LevelX2
d458e73795
Merge pull request #5826 from drmDev/ut/trickster
Unit Tests for Merfolk Trickster, confirming #5825
2019-12-15 12:23:48 +01:00
Patrick Hulin
5d35ee675d Fix Mysterious Pathlighter. 2019-12-14 23:31:39 -05: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
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
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
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
ddedabad85 Improved cards with "may spend mana as though":
* Game: added combo support with adventure and split cards;
 * AI: computer can see and play it;
 * UI: users can see playable cards for as though mana cost.
2019-12-14 18:59:18 +04:00
Oleg Agafonov
c9ea0f1877 Fixed Bolas's Citadel combo with adventure cards 2019-12-14 18:51:35 +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
Oleg Agafonov
cac761e45d Test framework: added realtime check for playable ability 2019-12-13 13:42:41 +04:00
Patrick Hulin
555a177dd2 Ignore failing Bolas's Citadel test for now. 2019-12-11 22:49:50 -05:00
Patrick Hulin
b0bac1f751 Fix Bolas's Citadel and add test. 2019-12-10 18:01:32 -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
d3ee51c155 Add tests for W6 and flash effects like Teferi, Time Raveler. 2019-12-10 13:48:15 -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
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
1bbfc32886 Add test for multiple adventures. 2019-12-09 19:57:54 -05:00
Patrick Hulin
a2a569195a Fix issue where you could cast Adventure from exile. 2019-12-09 19:38:41 -05:00
Patrick Hulin
5af4942d15 Add test for copying and more test comments. 2019-12-09 14:16:38 -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
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
ssouders412
50bd6cbc32
More pronoun fixes 2019-12-06 15:17:44 -05: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
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
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
Oleg Agafonov
7469d59eee Prepare new release 2019-11-30 01:32:54 +04:00
Adrian Petrescu
272d72caae
Fix filtering bug in Leyline of Abundance.
Basically the abundance effect was triggering on your opponents' mana
creatures too. Now it should only trigger on your own. Added
previously-failing test as well.

Fixes #6052.
2019-11-25 17:23:13 -05:00
Jeff
3f9f860f85 Fixed #6047 2019-11-19 15:32:44 -06:00
Oleg Agafonov
22fbe57d84
Merge pull request #6041 from ssouders412/MustBeBlockedFix
Irresistible Prey "must be blocked" fix
2019-11-14 01:33:58 +01:00
ssouders412
98c94a487b Added Must Be Blocked test 2019-11-13 17:29:45 -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
Adrian Petrescu
00fd8d18da Remove unneeded import in an unrelated test, just for kicks 2019-10-11 09:59:54 -04:00
Adrian Petrescu
69cff6c920 Fix buggy login in SyrKonradTheGrimTriggeredAbility.checkTrigger()
Basically needed to check that creatures leaving the graveyard belong to
the controlling player.
2019-10-11 09:59:06 -04:00
Adrian Petrescu
e9bbefb814 Adding incorrectly-failing test for SyrKonradTheGrim
His ability should only trigger on creatures leaving the controller's
graveyard, not any graveyard.
2019-10-11 09:48:26 -04:00
Oleg Agafonov
f719503a89 Prepare new release 2019-09-27 21:19:03 +04:00
Adrian Petrescu
12828b78d6
Check Archfiend of Spite trigger on CREATURE_DAMAGED
Currently, it ignored the trigger unless a player was also damaged (by
other unblocked attacking creatures, for example), so there are plenty
of situations where it will fail to occur.

The included test fails against current master, but passes with the
patch.

Fixes #5971.
2019-09-12 15:53:13 -04:00
Oleg Agafonov
8dc6e152af Prepare next release 2019-09-10 00:33:47 +04:00
Iain Monro
48fbd30f2d #5935 Fix and standardise firing of TAPPED_FOR_MANA event 2019-08-16 15:26:40 +01:00
Iain Monro
8ab0b487f3 #5938 Make Identity Thief's ability optional 2019-08-15 09:18:28 +01:00
Oleg Agafonov
e53ce49327
Merge pull request #5916 from jgray1206/aether_gust_fix
add aether gust unit tests + fix issue #5902
2019-08-14 19:08:25 +02:00
Iain Monro
d53b9fd656 Fix rules text for abilities with up to one target 2019-08-14 17:16:01 +01:00
John Gray
d2005be8c2 add strictChoiceMode and allCommandsUsed 2019-07-26 23:55:05 -04:00
Oleg Agafonov
ff6b961e7c
Merge pull request #5914 from jgray1206/repeated_reverb_fix
added unit test for Repeated Reverberation + add fix for loyalty counter (issue #5882)
2019-07-22 19:49:14 +02:00
John Gray
71464f4fcb add strictChoiceMode and allCommandsUsed 2019-07-22 06:46:43 -04:00
John Gray
5b4ba490c3 add strictChoiceMode and allCommandsUsed 2019-07-22 06:45:11 -04:00
John Gray
7155977cd2 add aether gust unit tests + fix issue #5902 2019-07-21 22:26:11 -04:00
John Gray
ca79db489a add better comments + refactor card names into variables 2019-07-21 21:33:38 -04:00
John Gray
f5d4046903 added unit test for Repeated Reverberation + add fix for loyalty counter (issue #5882) 2019-07-21 11:51:16 -04:00
John Gray
b05981020c add unit test for hapatra vizier of poisons + fix issue #5886 2019-07-20 13:21:14 -04:00
Mike Simons
8d08f005af Fix various hints and warnings on many set & block classes (via IntelliJ IDEA linting):
- replacing hard coded strings of set codes with reference to 'mage.sets.<set>.getInstance().getCode()' allows for set class names to no longer show as unreferenced & adds for more consistence between other block units
- various protected variables were able to be changed to private to clean up additional warnings
- some JavaDoc comments were generating warnings due to missing documentation
- removed some unused imports and unused variables
- there were multiple conditional logic checks for 'rarity != Rarity.LAND' within an if block where the outer condition was 'if rarity == Rarity.COMMON' rendering the inner condition always true and thus redundant
- a few ExpansionSet.buildDate parameters wer using octal values (eg. '03' instead of '3') which triggered some warnings
- added a booster generation test for WarOfTheSparks to make sure every booster contains a planeswalker
- added a booster generation test for ModernHorizons to make sure every booster contains a snow land
- booster generation test for Battlbond set referenced the Coldsnap set class instead of Battlebond
2019-07-18 23:28:48 -04:00
Oleg Agafonov
9db80a0cf3 * Commander abilities - added support of cards with alternative spells like overload; 2019-07-14 01:06:07 +04:00
Oleg Agafonov
d6d67b78db * Added London mulligan as default mulligan type for all games (except Canadian Highlander); 2019-07-13 18:46:41 +04:00
Oleg Agafonov
8c40a1d1a7 * Commander abilities - fixed that it increases commander tax after cast/play from non-command zone (as example: after Remand effect); 2019-07-13 10:47:02 +04:00
Oleg Agafonov
2197d8ee4a * Praetor's Grasp - fixed that it freeze the game after cast; 2019-07-12 21:49:00 +04:00
Oleg Agafonov
9a08ccda95 Extra tests for AI; 2019-07-12 19:57:23 +04:00
Oleg Agafonov
5cf95d3ed1 Test framework: fixed that add counters command adds wrong amount of counters; 2019-07-12 19:41:06 +04:00
Oleg Agafonov
02b1e86f20 Extra tests for AI; 2019-07-12 19:09:26 +04:00
Oleg Agafonov
ae7623e118 AI: fixed that AI never use alpha strike to kill opponent (doesn't use "all in" attack, #4486); 2019-07-12 18:36:32 +04:00