Commit graph

10971 commits

Author SHA1 Message Date
xenohedron
045bbbf04f
Fix ReturnToHandAttachedEffect with MDFCs (#10452)
* Add tests for ReturnToHandAttachedEffect

* Temporary fix for returning attached MDFC to hand
2023-06-16 22:43:34 -04:00
xenohedron
a6c19c4335 Fix #10237. Fix #10315. (MageObjectReference discrepancy) 2023-06-16 22:34:09 -04:00
xenohedron
0ce6df9ef7
Improvements to effects that use ADD_COUNTERS GameEvent (#10474)
* Fix Blightbeetle

* Another adjustment to Laezel

* Fix Vizier of Remedies

* Make extra counters overflow safe

* Inline variable instead of field (Doubling Season)
2023-06-16 02:24:32 -04:00
Oleg Agafonov
f0da749e0a refactor: improved some error messages/tests 2023-06-16 07:32:21 +04:00
theelk801
01e0780f85 [LTR] Implement Gimli, Mournful Avenger 2023-06-15 09:30:51 -04:00
theelk801
38b7f9e5f5 [LTR] Implement Denethor, Ruling Steward 2023-06-15 09:02:51 -04:00
theelk801
f7baa2a338 [LTR] Implement Gandalf's Sanction 2023-06-14 22:01:10 -04:00
theelk801
018a815eb1 [LTR] Implement Aragorn, Company Leader 2023-06-14 22:00:17 -04:00
PurpleCrowbar
04f1327816 Remove some invalid sets from tokens-database.txt 2023-06-15 02:37:21 +01:00
Oleg Agafonov
d91147f01a decks: improved deck import to support unicode card names from LTR, UGL and other sets, added verify tests for name converters (closes #10465) 2023-06-14 03:21:16 +04:00
Oleg Agafonov
c351a4e8e9 refactor: removed direct counter names usage (part 2) 2023-06-12 16:01:18 +04:00
Oleg Agafonov
8f4cc84266 refactor: removed direct counter names usage in some places 2023-06-12 13:53:15 +04:00
Susucre
70fa98f492
Fix Blitz not being cleaned up when the permanent leaved the BF (#9775)
A onCard: false parameter was necessary to clean the effect once the blitz creature leaved the battlefield.
2023-06-11 23:55:23 -04:00
xenohedron
2cdfb255cf
cleanup to use ObjectColor.COLORLESS (#10447)
* Replace for BecomesColorSourceEffect

* Replace for BecomesColorTargetEffect

* Remove unused class

* Use common static instance
2023-06-11 23:36:01 -04:00
xenohedron
7b2f6b3d46 Fix wrong extra cards in 10E boosters 2023-06-11 23:10:47 -04:00
theelk801
b114e77a3a [LTR] Implement Saradoc, Master of Buckland 2023-06-11 22:18:20 -04:00
theelk801
d4307395b1 [LTR] Implement Ringwraiths 2023-06-11 22:09:11 -04:00
theelk801
cb283cdf82 [LTC] Implement Archivist of Gondor 2023-06-11 21:26:23 -04:00
theelk801
767c66251a [LTR] Implement Elrond, Master of Healing 2023-06-11 08:53:45 -04:00
Oleg Agafonov
9b4cc9d56c Aladdin's Lamp - fixed miss X can't be 0. 2023-06-11 11:35:58 +04:00
Oleg Agafonov
499f21778d Added additional fixes for getSpellAbility() usage, related to ce3cf742c9 2023-06-11 11:26:34 +04:00
Oleg Agafonov
ce3cf742c9 Blast-Furnace Hellkite - fixed game error on offering an artifact lands and treasures (#9940, #10218) 2023-06-11 11:05:06 +04:00
theelk801
d0cc29cac4 [LTR] Implement Pippin, Guardian of the Citadel 2023-06-10 19:05:52 -04:00
theelk801
bcaaf4101e [LTR] Implement Sauron, the Dark Lord 2023-06-10 18:47:15 -04:00
theelk801
ce46b0c0fc [LTR] Implement Isolation at Orthanc 2023-06-10 12:54:55 -04:00
theelk801
a754fb672a [LTC] Implement Fealty to the Realm 2023-06-10 12:28:29 -04:00
xenohedron
e626d8be5d minor cleanup adjustment 2023-06-09 16:58:54 -04:00
theelk801
d408719b8d [LTR] Implement Mirkwood Spider 2023-06-09 09:20:38 -04:00
theelk801
d688bcb54a [LTR] Implement Flame of Anor 2023-06-09 08:28:44 -04:00
xenohedron
4321f0363e Propagate values through ConditionalOneShotEffect 2023-06-09 00:39:41 -04:00
Oleg Agafonov
05826fa8d8 RevealAndSeparatePilesEffect - fixed NPE 2023-06-09 07:03:32 +04:00
Oleg Agafonov
49ce794c45 Merge fix 2023-06-09 07:03:32 +04:00
Oleg Agafonov
3b0de691c8 Remove a counter from - fixed game error 2023-06-09 07:03:32 +04:00
Oleg Agafonov
35b00c3da1 Fixed game errors for non started games (some cards uses dynamic hints with non-protected code) 2023-06-09 07:03:31 +04:00
Oleg Agafonov
ae5bc90915 Fixed game error on attack order disconnects 2023-06-09 07:03:31 +04:00
Alexander Novotny
a0f8a42699
Fixing copy and cast from exile effects (#10436)
* Added unit test for magefree/mage#10435

* Added test for potential breakage of prosper functionality

* Copies of cards are now created in the right zone

* Added PlayCardTriggeredAbility

This triggered ability checks to make sure a card was actually played (as opposed to a copy of a card).
Common abilities have been refactored to use this new ability

* Added mizzix's mastery overload test

* Fixed Mizzix's mastery overload

* Added new ability to Juju Bubble

---------

Co-authored-by: xenohedron <xenohedron@users.noreply.github.com>
2023-06-09 05:32:59 +04:00
theelk801
972d8fb324 [LTR] Implement Dunedain Rangers 2023-06-08 20:46:20 -04:00
theelk801
1aea1ebe92 [LTR] Implement Flowering of the White Tree 2023-06-08 20:36:00 -04:00
theelk801
8a742ca1d5 [LTR] Implement Galadriel of Lothorien 2023-06-08 20:25:14 -04:00
Alexander Novotny
80cb439862
Added Saruman of Many Colors (#10434)
* Added Saruman of Many Colors

Borrowed functionality in CastSecondSpellTriggeredAbility from magefree/mage#10433
Added new helper class ExileTargetCardCopyAndCastEffect for common effect

* Updated FlawlessForgery to use new ExileTargetCardCopyAndCastEffect

* Fixed overriden Effect copy functions

* Expanded ExileTargetCardCopyAndCastEffect

Added ability for non-free spells

* Removed filter lock

* De-duplicated exile and cast effects

* Fixed demilich
2023-06-08 17:00:28 -04:00
Alexander Novotny
0b2f582d84
Added Storm of Saruman card (#10433)
* Added Storm of Saruman card

Some classes have been added/adjusted for code reusability:
- CastSecondSpellTriggeredAbility has been modified to set a target pointer to either the caster or the spell (used here to set a target pointer to the spell for the copy effect)
- CopyTargetSpellEffect has been modified to allow specifying a copy applier (used here to apply the legenedary-stripping effect)
- RemoveTypeCopyApplier has been added as a generic copy applier for any cards which read "except it isn't <type>"

* Fixed verify failure - Remove ward hint on Storm of Saruman

* Fixed a typo - ammount -> amount

* Modified Double Major to use new CopyTargetSpellEffect

* Re-added ability text for Double Major
2023-06-08 16:58:28 -04:00
Alexander Novotny
079424f8f1
Added hint for restrictions which must attack a player (#10438)
Fixes #10140
2023-06-07 20:00:27 -04:00
Alexander Novotny
b0809c4a7a
Beamtown Bullies now properly targets opponent (#10439)
* Beamtown Bullies now properly targets opponent

Fixes magefree/mage#9975

* Fixed filter initialization
2023-06-07 14:27:59 -04:00
theelk801
a998017ddd [LTR] Implement Elrond, Lord of Rivendell 2023-06-05 23:18:12 -04:00
Alexander Novotny
9a5fa9c8b0
Added Norn's Decree (#10281)
* Added Norn's Decree

Also added a couple of helper classes:
- A triggered ability for when players attack
- A triggered ability for the controller taking combat damage from one or more creatures (will be used in Starscream, Power Hungry)
- A condition for when an attacked player is poisoned

* Fixed rules comment issue

* Fixed issue with incorrect logic in CombatDamageDealtToYouTriggeredAbility
2023-06-05 22:14:54 -04:00
xenohedron
807a6c95f1
Merge pull request #10369 from xenohedron/refactor-search
Refactor search library effect classes to clean up text generation
2023-06-04 22:18:18 +03:00
xenohedron
4a3ce686bb
Cleanup: ReturnFromExileForSourceEffect (#10371)
* Cleanup ReturnFromExileForSourceEffect

* Fix text
2023-06-04 15:07:49 -04:00
theelk801
27e3010139 [LTR] Implement Fangorn, Tree Shepherd 2023-06-03 21:44:39 -04:00
theelk801
b8189a0bd7 [LTR] Implement Eowyn, Fearless Knight 2023-06-03 20:32:57 -04:00
theelk801
294ccedc45 [LTR] Implement Last March of the Ents 2023-06-03 10:06:39 -04:00