Commit graph

12099 commits

Author SHA1 Message Date
Susucre
343549c4d7
Fix PermanentMeld missing copy constructor ; add more Meld tests. (#10908)
* Add some unit tests on Meld mana value.

* Fix PermanentMeld missing copy constructor. add more Meld tests.

* clean text
2023-08-20 13:30:10 -04:00
xenohedron
035913988a
refactor: standardize to CantAttackYouAllEffect (#10923)
* adjust CantAttackYouAllEffect text, check permanent is planeswalker

* switch 3 cards to main class, remove redundant class
2023-08-20 13:28:37 -04:00
jbureau88
77d0d3c07e
Implement [BOT] Optimus Prime; adjust Bolster effect (#10129)
* Added implementation for Optimus Prime

* Added setCardName text and switch case for activateAlternateOrAdditionalCosts as disturb instead of default

* Fixed doubling effect bug

* Add only regular card number

* Added back alternate card for Optimus Prime and fixed Autobot Leader colors

* Convert before return from graveyard

* Convert before return from graveyard

* Fix images

* Resolve conflict with master

* don't manually set trigger phrase

* add additional effect capability to BolsterEffect, adjust text, flatten logic

* adjust Optimus Prime, Hero

* reimplement Optimus Prime, Autobot Leader

* add test

---------

Co-authored-by: xenohedron <xenohedron@users.noreply.github.com>
2023-08-20 13:28:17 -04:00
xenohedron
0b0ff83c1f improve comments in TokenImpl messy aura target-searching code 2023-08-18 22:15:46 -04:00
Susucre
43de68afe3
[WOE] Implement Stroke of midnight (refactor together similar effects) (#10834)
* [WOE] Implement Stroke of Midnight

* refactor similar effects together.

* add tests (and fix a bug)

---------

Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2023-08-18 18:27:36 -04:00
theelk801
7e5583d3ae [WOE] Implement Into the Fae Court 2023-08-18 15:36:53 -04:00
theelk801
8753c94488 [WOC] Implement Gylwain, Casting Director 2023-08-18 15:26:38 -04:00
Susucre
ea513386fb
[WOE] Implement Johann, Apprentice Sorcerer (#10877) 2023-08-18 15:17:59 -04:00
Susucre
54ec026369
[WOE] Implement Rowan, Scion of War (#10853)
Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2023-08-18 15:16:50 -04:00
Susucre
8ad37e19b8
[WOE] Implement Decadent Dragon (#10852)
Grouped together a few Gonti-like look effect.

Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2023-08-18 15:13:13 -04:00
Susucre
4cfc6ebc37
[WOE] Implement Beseech the Mirror (#10842)
Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2023-08-18 15:06:37 -04:00
Evan Kranzler
b892562b95
Fixing aura token creation (#10858)
* rework aura token creation

* add missing copy constructor

* add message for token if unable to be created

* add a few extra role tests
2023-08-18 13:25:48 -04:00
Susucre
6a66b0d709
[WOE] Implement Virtue of Knowledge (#10855) 2023-08-18 09:24:51 -04:00
Susucre
7d82b6b1be
[WOE] Implement Restless Spire (#10846) 2023-08-18 09:15:59 -04:00
Evan Kranzler
b20bdcede7
WIP: Implement Role mechanic (#10816)
* [WOE] Implement Embereth Veteran

* add SBA for role tokens

* [WOE] Implement Cursed Courtier

* [WOE] Implement Conceited Witch

* [WOE] Implement Besotted Knight

* [WOE] Implement Syr Armont, the Redeemer

* [WOE] Implement Living Lectern

* add role test

* [WOE] Implement Lord Skitter's Blessing

* [WOE] Implement Faunsbane Troll

* [WOE] Implement Twisted Fealty

* [WOC] Implement Ellivere of the Wild Court

* [WOE] Implement Monstrous Rage

* [WOE] Implement Spellbook Vendor

* add verify skips

* extra fix
2023-08-17 10:18:21 -04:00
Susucre
5e9e199922
[WOE] Implement Break the Spell (#10836)
* [WOE] Implement Break the Spell

* cleanup

* lock static filter
2023-08-17 09:29:57 -04:00
xenohedron
641c0b5a01 revert adjustments that are used in test choices 2023-08-16 23:19:05 -04:00
xenohedron
6814efd87f fix the ability text in a useful place instead 2023-08-16 23:19:05 -04:00
xenohedron
64db75576e text fixes and ability rule improvements 2023-08-16 22:44:53 -04:00
xenohedron
9eca83dd7e fix type ordering on some Artifact Creature tokens 2023-08-16 20:39:26 -04:00
Susucre
8fde855026
[WOE] Implement Sharae of Numbing Depths (#10829)
* [WOE] Implement Sharae of Numbing Depths

* change EventType.TAPPED's playerId to be the source's controller

There seems to have been no usage of the previous playerId, and it can be retrieve from the target anyway.

* apply review -- cleaner and check for creatures.
2023-08-16 19:07:07 -04:00
theelk801
babf2ba6b8 [WOE] Implement Gallant Pie-Wielder 2023-08-16 09:06:45 -04:00
Susucre
8169799213
[WOE] implement Troublemaker Ouphe, Torch the Tower (add Bargain ability) (#10812)
* add start of Bargain

Current version probably has a bunch of bugs related to zcc and copy.

* add Torch the Tower

* add Torch the Tower tests

* add better than nothing activationKey before tag cost tracking gets cleaned up

---------

Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2023-08-16 08:53:02 -04:00
Susucre
cbec9ead63
[WOE] Implement Ash, Party Crasher (add Celebration Condition) (#10818)
* implement Ash, Party Crasher (add Celebration Condition)

* test Celebration with Ash
2023-08-16 08:31:02 -04:00
Susucre
853400ef46
[WOE] Implement Rat Out (and new Rat Token) (#10817) 2023-08-16 08:29:26 -04:00
Susucre
92f0f84b23
[LGN] Rework Whipgrass Entangler (#10802)
* Rework Whipgrass Entangler

Made a class for "Ability linked with an Effect", that also takes responsability of manually calling its effect's newId method.

* apply review & cleanup
2023-08-15 22:40:25 -04:00
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