Commit graph

6573 commits

Author SHA1 Message Date
theelk801
e8e243db8c Revert "[WOE] Implement Embereth Veteran"
This reverts commit bd1b657e24.
2023-08-15 21:02:01 -04:00
theelk801
bd1b657e24 [WOE] Implement Embereth Veteran 2023-08-15 21:01:22 -04:00
Susucre
95deeafa86
fix [CLB] Baba Lysaga counting of card types dynamically (#10796) 2023-08-13 20:43:58 -04:00
xenohedron
3386ea117d Implement [40K] Dark Apostle; Sloppity Bilepiper 2023-08-13 01:17:51 -04:00
xenohedron
6fafbf0d93 new NextSpellCastHasAbilityEffect
cleanup Wand of the Worldsoul, Flockchaser Phantom to use it

text adjustments for gain abilities
2023-08-13 01:17:51 -04:00
xenohedron
817e1a813a put getCount method in SpellsCastWatcher and use it where applicable 2023-08-13 01:17:51 -04:00
xenohedron
7d170ef902 make SpellsCastWatcher a default game watcher 2023-08-13 01:17:51 -04:00
Susucre
07ee4661e7
[CMM] Implement Teyo, Geometric Tactician (#10736)
* [CMM] Implement Teyo, Geometric Tactician

* rework as a RestrictionEffect (common class with Mystic Barrier; Pramikon, Sky Rampart)

* add checkMayAttackDefender test

* more Pramikon tests
2023-08-12 19:02:23 -04:00
Susucre
2d53668c96
[LTC] Implement Gilraen, Dunedain Protector (#10728)
* [LTC] Implement Gilraen, Dunedain Protector

* add tests on Gilraen

* apply review
2023-08-12 16:16:02 -04:00
Susucre
eef8f508e4
[CMM] Implement Demon of Fate's Design (#10737)
* refactor SacrificeCostManaValue to be an enum.

* [CMM] Implement Demon of Fates Design

* Add Unit Tests, including one bug on alternative cost.

* fix alternativeCosts made from dynamicCost returning that they were not activated when paid.

* fix small issues, add hint

* cleanup tests and add a couple

* Capitalize enum instances

* Minor fixes

* simplify the ContinuousEffect

* use the ConditionPermanentHint made for the Demon

* fix text
2023-08-12 15:49:06 -04:00
xenohedron
b0f7f0c78c Implement [J22] Mild-Mannered Librarian
closes #10031
2023-08-11 23:21:10 -04:00
xenohedron
a8d86e1587 text adjustment 2023-08-11 23:07:22 -04:00
xenohedron
7839c6cbff
Implement [CMM] Hatchery Sliver; fix Replicate ability (#10694)
* Implement [CMM] Hatchery Sliver

* limit ReplicateAbility to only its linked instance

* Add test for multiple instances of replicate

* add another test
2023-08-11 20:41:45 -04:00
PurpleCrowbar
6ea286eb89 Add CMM token images 2023-08-10 01:10:17 +01:00
xenohedron
00340a3bda
fix null SetTargetPointer (#10772) 2023-08-08 01:37:14 -04:00
xenohedron
35a5cc48a7
Improve DealsCombatDamageEquippedTriggeredAbility (#10767)
* improve variable name

* add test for Jitte trample damage

* fix duplicated triggers when trampling over to player

* bring corresponding ability into alignment

* adjust authorship, comment
2023-08-06 23:04:53 -04:00
Artemis Kearney
9ba0da00ff
Basic groundwork for extra decks (contraptions, attractions) (#10378)
* extra deck cards not counted in deck size

* extra deck handling in deckbuilder

* move responsibility for extraDeckCard boolean to CardImpl

* remove redundant field copy
2023-08-06 21:06:32 -04:00
sprangg
287df7af21
Wait 2 seconds before making the draft pick for a timed out player (#10733)
* The draft session waits for 5 seconds before making the pick for the timed out player

* Formatting

* Renamed constant

* Tweak

* If the draft pick's timeout value would increase the client's pick's timer, don't set it (might happen if the client or server is lagging)

* Lowered BOOSTER_LOADING_INTERVAL and AUTOPICK_BUFFER

---------

Co-authored-by: sprangg <a@b.c>
2023-08-06 20:00:42 -04:00
theelk801
456ea87107 finish reverting my ill-advised refactor 2023-08-06 19:28:16 -04:00
theelk801
3313f7affb Revert "simplify vanishing implementation"
This reverts commit 399b65effb.
2023-08-06 19:25:05 -04:00
theelk801
44a2b06690 Revert "add workaround for vanishing issue"
This reverts commit 2f0077e3cf.
2023-08-06 19:25:00 -04:00
theelk801
2f0077e3cf add workaround for vanishing issue 2023-08-06 17:36:35 -04:00
theelk801
715fca1399 fix error 2023-08-06 15:17:56 -04:00
theelk801
399b65effb simplify vanishing implementation 2023-08-06 14:16:03 -04:00
theelk801
4a67507e2b [WHO] Implement The Eleventh Hour 2023-08-05 22:16:01 -04:00
xenohedron
127b7be9b0
more unrelated text fixes (#10761)
* some text fixes [LTR] [LTC] [CMM]

* another batch of text fixes

* followup fixes

* unrelated cleanup

* fix corresponding ability text in test
2023-08-05 20:53:43 -04:00
Susucre
fa77261e3a
Add more missing copy constructors. (#10758) 2023-08-05 20:53:32 -04:00
theelk801
8830fd0cc8 [WHO] Implement The Thirteenth Doctor 2023-08-05 13:44:40 -04:00
theelk801
aa1624dc1c [WHO] Implement Sarah Jane Smith 2023-08-05 13:30:40 -04:00
Susucre
0e5069ccc2
[LTC] Implement Gandalf, Westward Voyager (#10727)
* refactor and cleanup SpellCastControllerTriggeredAbility

* [LTC] Implement Gandalf, Westward Voyager

* throw on unexpected setTargetPointer
2023-08-04 22:26:25 -04:00
xenohedron
549c9cb863 new DefendingPlayerControlsAttachedAttackingPredicate
cleanup Heart-Piercer Bow
fix Lothlorien Blade
2023-08-04 22:14:53 -04:00
Susucre
9979208f05
[LTC] Implement Champions of Minas Tirith (#10726)
repurposed (and renamed) CantAttackYouEffect.java, that was actually not used.
2023-08-04 21:20:55 -04:00
Susucre
894d557952
Add additional copy test to check copy of effects/abilities (#10754)
* add further copy test

* add more missing copy constructors/methods
2023-08-04 20:10:23 -04:00
Susucre
4ebfd79005
refactor DefendingPlayerControlsCondition (#10749) 2023-08-04 20:10:08 -04:00
Susucre
f75b1c9f0a
Code cleanup: protect all copy constructors (#10750)
* apply regex to change public copy constructors to protected
* cleanup code using now protected constructors
* fix manaBuilder weird casting of Mana into ConditionalMana
2023-08-04 19:34:58 -04:00
Susucre
5c58e28f9b
Fix King of the Oathbreaker (#10747) 2023-08-04 18:37:11 -04:00
Susucre
9889baa0bc
Fix game freeze caused by TotalPermanentsManaValue hint copy (#10751) 2023-08-04 18:09:43 -04:00
Susucre
b9a2278d4f
fix VanishingUpkeepAbility missing a copy for a field (#10755) 2023-08-04 18:09:05 -04:00
Susucre
f366f3097e
Fix Blaze of Glory (#10734)
* Rename DefendingPlayerControlsPredicate to explicitly indicate that the source must be attacking.

I did check all the cards, they all use the predicate inside an attack trigger, or under the condition that the source is attacking.

* Fix Blaze of Glory, rework False Orders with it.
2023-08-03 22:33:52 -04:00
xenohedron
63706942db simplify DoIfClashWonEffect 2023-08-03 22:12:46 -04:00
Susucre
4d3b944b65
Fix Clash effect causing NullPointerExceptions (#10742) 2023-08-03 22:11:59 -04:00
ssk97
b144cb6f03
Minor Backup fixes, add tests (#10732)
* Backup is not optional and its effect should be BoostCreature, not Detriment

* Add tests for Backup ability

* Add Mirror-Shield Hoplite source test

* Use Strict mode for the hoplite source test
2023-08-03 00:26:33 -04:00
Susucre
23781ecb37
[LTC] Implement Elrond of the White Council (#10731) 2023-08-03 00:26:19 -04:00
Susucre
5a6ee98b41
[LTC] Implement The Black Gate (#10725) 2023-08-03 00:25:54 -04:00
xenohedron
ec3bb197fb various text fixes 2023-08-02 22:54:35 -04:00
Susucre
04845072ea
[LTC] Implement Field-Tested Frying Pan (#10721) 2023-08-01 09:51:19 -04:00
Susucre
241226cd83
[LTC] Implement Summons of Saruman (#10720)
* [LTC] Implement Summons of Saruman

* fix constructor for Assault on Osgiliath

* fix verify failure

* refactoring a couple more Amass X
2023-08-01 09:51:06 -04:00
Susucre
1c5829f16b
[LTC] Implement Rapacious Guest (#10719) 2023-08-01 09:50:45 -04:00
Susucre
0938a5cd72
[LTC] Implement Eomer, King of Rohan (#10713) 2023-08-01 09:50:16 -04:00
Susucre
40e508ac19
Refactor Devour ability; [LTC] Implement Feasting Hobbit (#10708)
* [LTC] Implement Feasting Hobbit

Refactor DevourEffect and its text generation, to be more permissive in the future.

* change DevourAbility to have the constructor parameters of DevourEffect

* only pluralize when there is more than 1 devoured permanent.

* added more unit tests than there are cards with devour

* public -> private filter of Caprichrome.
2023-08-01 09:49:32 -04:00