Commit graph

11000 commits

Author SHA1 Message Date
ssk97
918a8931e6
Implement [40K] Squad ability (#10509)
* First try at Squad Mechanic

* Fully functional now, removed cards from unfinished list in 40k

* Improved implementation, removing the generic conditional
and replacing it with a separated ETB trigger and effect.

* Add tests from Susucre (using Strionic Resonator for now, two others currently failing)

* Update comments on tests

Closes #9774 

------
Co-authored by: Susucre <34709007+susucre@users.noreply.github.com>
2023-06-26 20:47:26 -04:00
xenohedron
231ab77bcd
New common class CopyTargetStackAbilityEffect (#10525)
- Fix superfluous null check in Lithoform Engine
- Remove hardcoding of controlled abilities in TargetTriggeredAbility (used only in Strionic Resonator)
- EnchantmentSourcePredicate analogous to ArtifactSourcePredicate
2023-06-25 22:20:41 -04:00
xenohedron
5722ae27f6 fix text: Silverskin Armor 2023-06-25 15:15:41 -04:00
xenohedron
ec4c2e2170
Cleanup: GainAbilityControlledSpellsEffect (#10446)
* Hide reminder text on Zhulodok

* Use logic from GainAbilitySpellsEffect, fix so that CastFromZonePredicate works

* Text adjustments

* Show cascade ability in hand for Abaddon the Despoiler

* Remove redundant class

* Simplify Cast Through Time

* Don't add additional instances of redundant abilities

* Remove redundant check

* Add option to ignore mana validation when checking playable objects

* Fix null errors

* Fix GainAbilityControlledSpellsEffect to apply ability to playable cards rather than owned cards

* Add unit test

* Revert bad workaround code

This reverts commit 17f5be6a79458f75094fe85608e4893ceb5e9d14.
This reverts commit 7ebd2f1815bcf0e0ba90ad668fe88e790b5a804c.
This reverts commit 00969d1fe726215952cce77760d6aaf916a14ae0.

* Remove ownership check on exiled cards

* Another test (currently failing)

* ignore test

* fix test: strict choose mode
2023-06-24 01:15:58 -04:00
who?!
3896c28572
[LTR] Implement Dawn of a New Age (#10492) 2023-06-23 20:13:50 -04:00
xenohedron
7e15ca92c5 simplify implementation and remove redundant class 2023-06-23 20:11:37 -04:00
xenohedron
23a6185f70 Remove unused effect class 2023-06-23 20:11:04 -04:00
xenohedron
380fea6720 fix some return from exile zone 2023-06-23 01:19:17 -04:00
PurpleCrowbar
63be7589ae Add MUL token images 2023-06-23 02:06:56 +01:00
Susucre
0255761d67
[LTR] Implement The Grey Havens (#10493) 2023-06-22 20:06:10 -04:00
Susucre
a75ec34a45
[LTR] Implement Orcish Bowmasters (#10450)
Refactored [[Xyris, the Writhing Storm]] since the trigger is partly the same.
2023-06-22 20:05:08 -04:00
Susucre
09e0cba992
[LTR] Fix Smaug Token producing food tokens instead of treasures (#10513) 2023-06-22 13:20:45 -04:00
PurpleCrowbar
f85dd656f2 Fix hint text for Tom Bombadil 2023-06-22 00:03:11 +01:00
PurpleCrowbar
e795726efe Revert capitalisation of counter name in CountersOnPermanentsHint 2023-06-21 23:45:54 +01:00
PurpleCrowbar
a3d20bd099 Remove unused imports from CountersOnPermanentsHint 2023-06-21 23:29:03 +01:00
PurpleCrowbar
a9c28c420f Fix Tom Bombadil text 2023-06-21 23:26:00 +01:00
theelk801
2e9eb7fb33 [LTC] Implement Trap the Trespassers 2023-06-19 19:15:48 -04:00
theelk801
3404a34b2d [LTC] Implement Cirdan, the Shipwright 2023-06-19 18:58:28 -04:00
theelk801
fd37be92fe [LTC] Implement Prize Pig 2023-06-19 16:37:33 -04:00
theelk801
1be43ef6ff [UGL] remove "Elves" subtype from Elvish Impersonators 2023-06-19 16:32:21 -04:00
theelk801
87fc0ec9e9 [LTC] Implement Erestor of the Council 2023-06-19 09:04:14 -04:00
theelk801
0bf70260b8 [LTC] Implement Bilbo, Birthday Celebrant 2023-06-19 08:17:29 -04:00
Susucre
720b2fe163
[LTC] Implement Oarth Of Eorl (#10469)
Added one constructor for SagaAbility, accepting multiple effects and a target.
2023-06-18 22:38:18 -04:00
xenohedron
2e018b2c14 Change messages from popup window to gamelog by default for continuous rule modifying effects 2023-06-18 14:51:06 -04:00
theelk801
f38251c809 [LTR] Implement Palantir of Orthanc 2023-06-18 12:34:38 -04:00
theelk801
62a92d6d1c small change to amass effect 2023-06-18 10:30:11 -04:00
Oleg Agafonov
38be371c25 tests: real fix of Auratouched Mage - miss draw card effect (#9462) 2023-06-18 16:50:51 +04:00
Oleg Agafonov
94dfbdfed4 gui: fixed miss playable mark for emblems and other objects from command zone (example: momir emblem) 2023-06-17 17:32:02 +04:00
Oleg Agafonov
afe89a1056 momir game: fixed game error on start, added momir emblem image 2023-06-17 09:29:47 +04:00
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