Commit graph

8156 commits

Author SHA1 Message Date
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
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
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