Commit graph

1960 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
Susucre
e724166569
[LTC] Implement Cavern-Hoard Dragon (#10724) 2023-07-31 23:53:06 -04:00
Susucre
d61e454e77
[LTC] Implement Of Herbs and Stewed Rabbit (#10718) 2023-07-31 23:52:28 -04:00
Susucre
378fd2743e
[LTC] Implement Taunt from the Rampart (#10717) 2023-07-31 23:52:15 -04:00
Susucre
67407a8780
[LTC] Implement Motivated Pony (#10716) 2023-07-31 23:51:59 -04:00
Oleg Agafonov
8d938926b6 refactor: improved usage of one time turn modifications (skip step, extra turn, etc) 2023-07-31 20:16:28 +04:00
Susucre
fbc0cd61dd
[LTC] Implement Banquet Guests (#10706)
* make a StaticFilter for "a food"

* [LTC] Implement Banquet Guests

Made a Static Filters for controlled food, with the next eldraine set we'll certaintly see more of that.

* future proof static text for mulitplier > 2
2023-07-30 19:26:26 -04:00
Susucre
53b270fc36
[CMM] Implement Rukarumel, Biologist (#10703) 2023-07-30 19:26:11 -04:00
Susucre
f476c6864b
[CMM] Implement Onakke Oathkeeper (#10693)
* [CMM] Implement Onakke Oathkeeper

* take authorship of new file

* cleanup and extend CantAttackYouUnlessPayAllEffect.

* further cleanup

* cleanup

* add Duration to CantAttackYouUnlessPayAllEffect constructors, cleanup two more text generation.

* fix duration text
2023-07-29 13:46:00 -04:00
Susucre
16094a9311
[CMM] Implement Ghoulish Impetus (#10687) 2023-07-28 21:27:55 -04:00
Susucre
286696800e
[CMM] Implement Omarthis, Ghostfire Initiate (#10681)
ManifestEffect now takes a DynamicValue
2023-07-28 21:27:29 -04:00
Susucre
50989970cb
[CMM] Implement Cacophony Unleashed (#10689) 2023-07-28 19:33:35 -04:00
xenohedron
a096c0a7c3 adjust game log messages for damage can't be prevented 2023-07-26 09:53:54 -04:00
xenohedron
3886075dac
Update common effect class text generation (A-C) (#10651) 2023-07-21 22:55:47 -04:00
theelk801
5f01f973cb [CMM] Implement Ugin's Mastery 2023-07-21 20:19:47 -04:00
theelk801
564a24f7a3 [CMM] Implement Lazotep Sliver 2023-07-21 20:08:15 -04:00
xenohedron
ad86a52ba4 update some text generation logic 2023-07-19 20:38:48 -04:00
xenohedron
f944408252 fix text: BecomesColorTargetEffect 2023-07-19 20:26:20 -04:00
PurpleCrowbar
6a244c09a7
[LTC] Implement Shelob, Dread Weaver (#10645) 2023-07-18 05:46:54 +01:00
Susucre
0c7965a725
Fix Pyrrhic Revival not adding -1/-1 counters on returned creatures. (#10626)
* Add (failing) unit test on Pyrrhic Revival

* fix PyrrhicRevival

reworked ReturnFromGraveyardToBattlefieldWithCounterTargetEffect to support having multiple cards in its targetPointer.

added test for Persist (the card from mh2).

* refactor & cleanup

* add myself as author, the effect was remade.
2023-07-17 20:02:49 -04:00
xenohedron
1f9de03bf3
Lots of text fixes (#10636) 2023-07-16 14:55:59 -04:00
xenohedron
906e30a81b GainAbilityAttachedEffect no longer includes reminder text on the attachment 2023-07-16 00:46:23 -04:00
xenohedron
481384a3c8
Text fixes [M10] [M11] [M12] [M13] [M14] [M15] [ORI] (#10630)
* Text fixes M10-ORI core sets, part 1

* Text fixes M10-ORI core sets, part 2

* Text fixes M10-ORI core sets, part 3

* another text fix
2023-07-16 00:35:18 -04:00
xenohedron
ee29c38413
Clash adjustments (#10616)
* adjust clash effect

* Make clash not a singleton

* Add unit test for Clash effect

* fix test (skip init shuffling)

* Fix CLASHED event flag logic and add to unit test

* Additional test and comments

* comments in GameEvent

* param name typo
2023-07-14 23:15:01 -04:00
xenohedron
0d4c73b385 [LRW] [MOR] [SHM] [EVE] text fixes 2023-07-14 22:40:56 -04:00
xenohedron
aaf99a4c1a followup fixes 2023-07-14 22:12:08 -04:00