Commit graph

10944 commits

Author SHA1 Message Date
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
theelk801
a4a995f615 [LTR] Implement There and Back Again 2023-06-02 09:02:51 -04:00
xenohedron
7531263fb9
Fix text [RAV] [GPT] [DIS] (#10359)
* Fix text: capitalization of regenerate

* Fix text: Circle of Protection Artifacts

* Fix text [RAV] [GPT] [DIS]
2023-06-02 12:36:22 +03:00
xenohedron
5c8b5f23bb
Fix text [CHK] [BOK] [SOK] (#10355)
* Fix text: duplicate ("you control") in Champion ability

* New static filter "artifacts and enchantments"

* Text fixes [CHK] [BOK] [SOK]

* Fix Genju text without breaking the effect this time
2023-06-02 12:33:48 +03:00
xenohedron
a7c3cb9797
Merge pull request #10399 from xenohedron/cleanup-becomescreaturesource
Cleanup: BecomesCreatureSourceEffect
2023-06-02 11:57:19 +03:00
xenohedron
c7994cb3ac Text fixes 2023-06-02 11:34:05 +03:00
xenohedron
7b9243f640
Add string rule logic to TriggeredAbilityImpl (#10370)
* Add string rule logic to TriggeredAbilityImpl

* Fix string logic in TriggeredAbilityImpl

* Revert adjustment that fixes some problems but causes others
2023-06-02 11:31:15 +03:00
xenohedron
913d5dfee8
Cleanup: PreventDamageAndRemoveCountersEffect (#10321)
* Add tests (two passing, one failing due to incorrect implementation)

* Cleanup PreventDamageAndRemoveCountersEffect; fix Protean Hydra
2023-06-02 11:29:51 +03:00
theelk801
970bd300c0 [LTR] Implement Display of Power 2023-06-01 21:09:50 -04:00
sprangg
4ce9f59e35
Improved mtga import
Added ★ and /// to be replaced in CardNameUtil.java (#9855)
Co-authored-by: sprangg <a@b.c>
2023-06-01 19:19:14 +04:00
theelk801
579f953e8b [LTR] Implement Long List of the Ents 2023-05-31 22:56:52 -04:00
theelk801
b9f31eb937 [LTR] Implement Dunland Crebain 2023-05-30 18:27:34 -04:00
theelk801
82073bba73 [LTR] Implement Nazgul 2023-05-30 18:24:54 -04:00
xenohedron
255c7a9ce7
Remove unused marker interface (#10404) 2023-05-29 19:16:04 -04:00
xenohedron
8a071bd1ad
Fix Fighter Class (#10402) 2023-05-29 19:13:50 -04:00
xenohedron
50105c0372
new common class: SourceEnteredThisTurnCondition (#10415)
* Create new common condition class

* Use common condition on nine cards where appropriate
2023-05-29 19:13:21 -04:00
xenohedron
749f2e3991
Fix Cephalid Facetaker (#10416)
* Fix Cephalid Facetaker with new static filter

* Use FILTER_ANOTHER_TARGET_CREATURE on other cards
2023-05-29 19:12:53 -04:00
theelk801
fa03c6404f fix and rework commander validation (fixes #10345) 2023-05-23 19:25:00 -04:00
theelk801
85aaaec468 rework and simplify evolve ability 2023-05-23 17:07:24 -04:00
xenohedron
9c20dd3bfc Change the abilities to layer 7b where they belong 2023-05-22 23:49:12 -04:00
xenohedron
d7fc52daea Fix Haunted Plate Mail 2023-05-22 23:49:12 -04:00
xenohedron
091b6e7c0c Add/revise comments for clarity 2023-05-22 01:07:29 -04:00
xenohedron
aecdde421b Refactor to single constructor with CardType enum 2023-05-21 23:47:43 -04:00
xenohedron
00ca915581 Move loseAbilities out of constructor 2023-05-21 23:47:11 -04:00
xenohedron
9b73c8367f Check CDAs from token, remove explicit parameter 2023-05-21 23:46:46 -04:00
xenohedron
ce5423bbf6 Add CR reference comment 2023-05-21 21:51:01 -04:00
xenohedron
7ffd805f87 Fix text for cards with duration at start 2023-05-21 01:31:00 -04:00
xenohedron
26a95eed51 More sensible parameter ordering 2023-05-21 01:21:42 -04:00