Commit graph

8498 commits

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