xenohedron
8c0f2b9bf8
Followup cleanup to manaCosts access in AbilityImpl ( #11060 )
...
(a relic of the rejected proposal to lazily instantiate manaCosts was left in #9625 and is removed here, allowing the fields to be made final)
2023-08-28 22:42:34 -04:00
Susucre
566f4dc7f7
[WOM] Implement (not yet official) Mosswood Dreadknight ( #10792 )
2023-08-28 18:27:28 -04:00
Alex Vasile
a2162ec3e7
Refactor: private fields and performance tweaks ( #9625 )
...
1a. Make `costs`, `manaCosts`, and `manaCostsToPay` private in `AbilityImpl` with access through getters/setters
1b. fix cost adjuster for imprinted cards affected by the above
2a. Lazy instantiation for rarely used `data` field in `TargetPointerImpl`
3a. Pre-allocate certain array sizes in `Modes` and `CostsImpl`
4a. Make `manaTemplate` private in `BasicManaEffect`, copy when passing outside the class
4b. Don't copy `manaTemplate` in copy constructor since it doesn't change
4c. Add comments explaining copy usage for `manaTemplate`
4d. Remove redundant variable assignment and make fields final
---------
Co-authored-by: xenohedron <xenohedron@users.noreply.github.com>
2023-08-27 17:58:19 -04:00
xenohedron
53be4f384e
Remove fake "marker" abilities
...
Only three cards used these, but it should be handled by a hint instead and be more broadly applicable
2023-08-27 15:20:48 -04:00
Susucre
be4b568e88
Add modeTag + hint of used modes for "choose one that hasn't been chosen" abilities. ( #10860 )
...
* Add modeTag + hint of used modes on Three Bowls of Porridge
* add ModesAlreadyUsedHint to all the cards.
2023-08-26 23:09:04 -04:00
xenohedron
dcca63b963
more text fixes!
2023-08-26 23:04:13 -04:00
xenohedron
70bf68a5a4
simplify constructors in GainAbilityAllEffect
2023-08-26 21:53:08 -04:00
xenohedron
869de1eac6
fix getText() overrides ignoring staticText ( #11044 )
...
* fix text: SkipNextPlayerUntapStepEffect
* remove old copyright info
* individual card text fixes
* fix overrides ignoring staticText
2023-08-26 20:47:02 -04:00
Susucre
52eaa600ba
text fixes [ALA] [CON] [ARB] ( #11036 )
...
* Tweak verify for double cycling
* small fixes
* do not verify some GUI-related rules.
2023-08-26 20:46:49 -04:00
Susucre
a9870b6ff8
text fixes [WOE] etc. ( #11035 )
...
* Fix Callous Sell Sword text
* simple text fixes
* fix some target texts
2023-08-26 19:34:49 -04:00
Susucre
c4e48a6f95
[WOE] Implement The End (without breaking morph tests this time) ( #11041 )
...
* [WOE] Implement The End
* add cost reduction
* apply review
* fix tests looking for morphs
2023-08-26 19:34:21 -04:00
Susucre
aa71f0ba8a
Refactor DoIfCostPaid; Inform player on cost not paid. ( #10942 )
2023-08-26 17:29:30 -04:00
xenohedron
4d03deda12
Revert "[WOE] Implement The End ( #10921 )" ( #11040 )
...
This reverts commit fe93d68b1c .
2023-08-26 17:28:09 -04:00
xenohedron
66cc15ed4b
Cleanup copy methods ( #11038 )
...
* remove System.out.println
* Card copy() covariant return
* Effect copy() covariant return
* Cost copy() covariant return
* Ability copy() covariant return
* ContinuousEffect copy() covariant return
2023-08-26 16:47:54 -04:00
Susucre
fe93d68b1c
[WOE] Implement The End ( #10921 )
2023-08-26 16:45:51 -04:00
Susucre
13fa154a3d
[WOE] Implement Stockpiling Celebrant ( #11012 )
...
* [WOE] Implement Stockpiling Celebrant
* apply review -- fix the targetting
2023-08-26 10:25:44 -04:00
xenohedron
ed4a1bf33f
[WOE] text fixes
2023-08-26 00:02:40 -04:00
Vivian Greenslade
6532ca9f66
[WOC] Implement Timber Paladin ( #11025 )
...
* updated condition to allow different comparisons and to allow filtering for auras
* implemented Timber Paladin
* fixed text
2023-08-25 21:11:28 -04:00
Susucre
7a93681112
fix Tree of Redemption ( #11024 )
2023-08-25 21:11:08 -04:00
Susucre
8e36a178a5
[WOE] Implement Pollen-Shield Hare ( #10932 )
...
* [WOE] Implement Pollen-Shield Hare
* apply review
---------
Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2023-08-24 21:20:13 -04:00
Susucre
493cb811d5
[WOE] Implement Gruff Triplets ( #10791 )
...
* [WOE] Implement (Leaked) Gruff Triplets
* fix name predicate
* remove unecessary file with wrong predicate
---------
Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2023-08-24 18:26:11 -04:00
Susucre
5998f43f4d
[WOE] Implement Rowdy Research ; Implement Witchstalker Frenzy ( #10985 )
...
* add new DynamicValue
* [WOE] Implement Rowdy Research
* [WOE] Implement Witchstalker Frenzy
2023-08-24 08:33:10 -04:00
Susucre
5cedc3258a
Cleanup now that server is no longer sending MageObject in ClientMessage ( #10986 )
2023-08-24 14:22:03 +04:00
xenohedron
6624e141c6
cleanup GainAbilityTargetEffect
...
remove unused parameters
strip reminder text
2023-08-24 00:51:47 -04:00
Susucre
27bba74c9f
[WOE] Implement Imodane, the Pyrohammer ( #10922 )
...
* [WOE] Implement Imodane, the Pyrohammer
* unit test Imodane
* apply review
---------
Co-authored-by: xenohedron <xenohedron@users.noreply.github.com>
2023-08-23 20:39:45 -04:00
Susucre
c047829614
[WOE] Implement Devouring Sugarmaw ( #10969 )
...
* [WOE] Implement Devouring Sugarmaw
* fix adventure cost
---------
Co-authored-by: xenohedron <xenohedron@users.noreply.github.com>
2023-08-23 20:38:26 -04:00
ssk97
a756529e05
Fix casting commander transformed ( #10790 )
...
Remove CastCommanderAbility and instead apply the modification directly
2023-08-24 03:30:09 +04:00
Susucre
65dba6c92d
[WOE] Implement Cheeky House-Mouse ( #10945 )
2023-08-22 23:14:04 -04:00
Susucre
4d3daaa5fa
[WOE] Implement Rotisserie Elemental ( #10944 )
2023-08-22 20:19:25 -04:00
Susucre
d789aea306
[WOE] Implement Welcome to Sweettooth ( #10937 )
2023-08-22 09:46:28 -04:00
Susucre
44fcf3553d
Rework Manaforge Cinder to have a Mana Ability ( #10929 )
2023-08-21 22:40:58 -04:00
Susucre
ecbc1dfa81
[WOE] Implement Icewrought Sentry ( #10879 )
...
* [WOE] Implement Icewrought Sentry
* add tests for the new trigger
---------
Co-authored-by: Evan Kranzler <theelk801@gmail.com>
2023-08-21 09:22:29 -04:00
xenohedron
4af977289e
refactor effects "you may cast... from... graveyard... exile it instead" ( #10926 )
...
* cleanup exiling cast spells
* common class MayCastTargetThenExileEffect
* fix zcc check
* add test suite
2023-08-21 00:26:09 -04:00
xenohedron
e02df1353a
cleanup discard effects ( #10924 )
...
* change text generation to use target
* remove a constructor
* condense another constructor
* condense numberCardsToDiscard constructors
* fully remove TargetController
* chaining for optional parameter
* new LookTargetHandChooseDiscardEffect
2023-08-20 13:30:44 -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
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
8753c94488
[WOC] Implement Gylwain, Casting Director
2023-08-18 15:26:38 -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
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
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
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