Commit graph

11331 commits

Author SHA1 Message Date
theelk801
daebfe6748 [WHO] Implement Exterminate! 2023-07-21 08:58:53 -04:00
xenohedron
6e0c5e6f05 Fix Witch-king of Angmar (watcher field clear) 2023-07-20 18:44:45 -04:00
PurpleCrowbar
375dfa86d9 Add LTC token images 2023-07-20 05:10:21 +01:00
PurpleCrowbar
599473be12 [LTC] Implement Gwaihir, Greatest of the Eagles 2023-07-20 04:48:46 +01:00
PurpleCrowbar
e8d833f0ba Add LTR token images 2023-07-20 04:26:35 +01: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
394bd7552e [LTC] Implement Lord of the Nazgul 2023-07-19 04:47:09 +01:00
ssk97
a6e23f9704
additional fixes for Kaito's watcher (#10646) 2023-07-18 10:19:40 +04:00
PurpleCrowbar
6a244c09a7
[LTC] Implement Shelob, Dread Weaver (#10645) 2023-07-18 05:46:54 +01:00
ssk97
c3f7a9ab21
Simplify implementation and fix bugs of Kaito, Dancing Shadow (#10639)
Implement PermanentReferenceInCollectionPredicate used by that
convert existing cards to use new Predicate as needed
Replaces PermanentInListPredicate for longer term effects
2023-07-17 23:47:37 -04:00
Susucre
8128e9935d
add Renown hint (similar to Monstrous one) (#10644) 2023-07-17 20:03:19 -04:00
xenohedron
fa72e243e9
Text generation improvements for triggered abilities (#10638) 2023-07-17 20:03:01 -04: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
3eaf80cfa6 new StaticFilters.FILTER_PERMANENT_CREATURE_OR_LAND 2023-07-17 00:25:10 -04:00
Susucre
d658bf2265
refactor: expose Player->incrementLandsPlayed for some custom effects. (#10632)
* Expose Player->incrementLandsPlayed for some custom effects.
* also expose resetLandsPlayed
2023-07-17 03:53:22 +04:00
xenohedron
a5dbf30605 Fix #10631 (Forge, Neverwinter Charlatan) 2023-07-16 16:19:31 -04:00
xenohedron
1f9de03bf3
Lots of text fixes (#10636) 2023-07-16 14:55:59 -04:00
Susucre
6b616dbf20
refactor: expose startingHandSize in GameImpl constructor. (#10629)
For now, it is 7 in every game mode.
2023-07-16 18:36:26 +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
8372c358b2
refactor: some code linting (#10624)
* remove obsolete check method
* code clean: PermanentImpl
* code clean: PlayerImpl
* protected constructors in CardImpl
2023-07-16 01:50:24 +04:00
Susucre
b960b77774
Refactor name of minimum deck size (was startingHandSize) (#10628)
* Refactor: rename starting hand size, it was actually minimum deck size (40, 60 or 100 most of the time)
2023-07-16 01:45:19 +04:00
xenohedron
a7f78e8190
Clean up triggered ability text generation (#10627)
* move "or battle" to its own class

* move "or planeswalker" to its own class

* remove strange way of setting custom text

* finally remove getTriggerPhrase

* copy constructor visibility

* fix Vraska
2023-07-15 16:49:40 -04:00
xenohedron
e2cff095b3
Rework Infectious Rage (#10625)
* put custom predicate back with Aura Graft

* Rework Infectious Rage and add unit test

* cleanup Aura Graft
2023-07-15 16:49:26 -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
xenohedron
ae9f920d87 more [LTR] text fixes / corrections 2023-07-14 21:58:33 -04:00
Susucre
2c505bbcac
[LTR] Implement King of the Oathbreakers (#10619)
* make a new BecomesTargetTriggeredAbility to filter on target permanents.
2023-07-14 21:32:23 -04:00
Susucre
2188c690c6
[LTR] Implement Eomer, Marshal of Rohan (#10617)
Also, small refactor adding EachTurn to the name of both `setTriggersOnce` and `setDoOnlyOnce`.
2023-07-14 21:32:00 -04:00
xenohedron
72ebe2b1f1 minor code cleanup triggered abilities 2023-07-14 20:30:09 -04:00
xenohedron
ef739688fb remove unused duplicated effect class 2023-07-14 20:28:33 -04:00
xenohedron
792224d6dc more followup text fixes 2023-07-14 02:12:57 -04:00
xenohedron
176a61190b Followup text fixes 2023-07-14 01:59:27 -04:00
xenohedron
185fae28a4 Text fixes [10E] 2023-07-14 01:40:12 -04:00
xenohedron
eeffafcc62 Generalize UntapEnchantedEffect to UntapAttachedEffect 2023-07-13 00:28:03 -04:00
Susucre
6a9340f1aa
Introduce Duration.UntilYourNextUpkeepStep (#10600)
* add new Duration

* refactor cards with new Duration.

* fix both Durations and add unit tests.

* fix text
2023-07-12 19:40:27 -04:00
Susucre
14235b6320
Rework Ring-bearer implementation. Add GUI + gamelogs. (#10596)
* Fix Ring-bearer choosing & add some GUI + logs

* use a ring svg in a separate gold panel

* use a fontawesome svg

* add a couple null checks, group icon with commander

* rework rinbearer logic according to review

* fix typo in game log

* small fixes
2023-07-12 19:40:09 -04:00
Bobby McCann
09530f1cdb
[LTR] Implement Glamdring (#10574) 2023-07-12 19:39:31 -04:00
xenohedron
3f346d791c fix file location in source tree 2023-07-10 06:32:04 -04:00
xenohedron
6c9079012c
Cleanup: source deals damage to {this}; mill cards (#10603)
* New common class for "Whenever a source deals damage to {this}, " which resolves #9340 
* Merge `PutLibraryIntoGraveTargetEffect` with functionally identical `MillCardsTargetEffect`
* Text fix on `RevealDragonFromHandCost` noticed in #10593
* Text fix following up on #10594
2023-07-09 22:05:28 -04:00
Bobby McCann
73104f6705
[LTR] Implement Radagast the Brown; also resolves #9419 (#10568)
* Fix #9419 bug with EntersBattlefieldThisOrAnotherTriggeredAbility
* Add test for Radagast as well as Risen Reef and Caldaia Guardian
* Minor associated cleanup for EntersBattlefieldAllTriggeredAbility
* New PermanentEnteringBattlefieldManaValue
2023-07-09 22:04:45 -04:00
Susucre
39904d0ca3
[LTR] Implement Boromir, Warden of the Tower (#10594)
* [LTR] Implement Boromir, Warden of the Tower

* group trigger from Boromir and Lavinia

* fix trigger text
2023-07-09 16:42:29 -04:00
Susucre
f8b1ada369
Fix RevealTargetFromHandCost when no target in hand (#10593)
* [CSP] Fix the RevealTargetFromHandCost not allowing payment when no valid card to reveal

* cleanup text of cost

* fix martyr of bones text

* fix test using a Martyr of Sands
2023-07-09 16:42:16 -04:00
xenohedron
b86014a29c
Text fixes [CSP] (#10599)
* fix text: ExileFromHandCost

* fix text: CumulativeUpkeepAbility

* text fixes: individual CSP cards

* text fix followups
2023-07-09 02:14:42 -04:00
Oleg Agafonov
03f8d72031 merge fix 2023-07-09 03:43:19 +04:00
Oleg Agafonov
0520d0b262 game: fixed miss clear code for permanent's additional info, fixed random sorting; 2023-07-09 02:35:26 +04:00
Oleg Agafonov
4ae5ca8421 docs: card hints usage improved 2023-07-09 02:21:56 +04:00
Susucre
a7d49e1f45
[LTR] Implement Faramir, Prince of Ithilien (#10595) 2023-07-08 13:09:10 -04:00