Commit graph

8489 commits

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