Commit graph

12099 commits

Author SHA1 Message Date
xenohedron
ba8ed9fcac Fix LKI handling in AttachedPermanentPowerCount 2023-07-28 00:55:42 -04:00
xenohedron
367cf9169c Implement [LTC] Lothlorien Blade 2023-07-27 23:42:45 -04:00
Susucre
c4f13be87f
[CMM] Implement Nyxborn Behemoth (#10670)
* [CMM] Implement Nyxborn Behemoth

Regroup the different dynamic values for "total mana value of [FILTER]" under a shared class.

* refactor hints inside TotalPermanentsManaValue

* apply review on TotalPermanentsManaValue->copy
2023-07-27 12:50:47 -04:00
Susucre
9eb7e2870e
GUI: fix card hints being shown twice on permanents. (#10675) 2023-07-27 17:34:38 +04:00
Susucre
84e1b44845
[CMM] Implement Leori, Sparktouched Hunter (#10669) 2023-07-27 00:24:28 -04:00
Susucre
bc403fd6fe
[LTC] Implement Mirkwood Trapper (#10665) 2023-07-27 00:23:58 -04:00
xenohedron
9e81362ea4
Add logic to PlayerImpl for protection effects when damage can't be prevented (#10652)
* add failing test

* Check against prevent damage event when damaging player

* Add back game log message
2023-07-27 00:23:27 -04:00
xenohedron
a096c0a7c3 adjust game log messages for damage can't be prevented 2023-07-26 09:53:54 -04:00
xenohedron
6b23cd25f9 text adjustments and typo fixes 2023-07-25 00:57:41 -04:00
Oleg Agafonov
9383f5eadd game: fixed miss data in turn mode (possible fix for cards like Sphinx of the Second Sun and Moraug, Fury of Akoum - #10100) 2023-07-23 09:37:25 +04:00
PurpleCrowbar
31a2ad088f [CMM] Implement Vronos, Masked Inquisitor 2023-07-23 05:00:55 +01:00
xenohedron
ff27fc1ce1 improve Suspend reminder text 2023-07-22 21:28:34 -04:00
xenohedron
34c805c4b8 Fix #10655 (getPermanentEntering for COUNTERS_ADDED trigger/watcher) 2023-07-22 20:34:21 -04:00
xenohedron
3886075dac
Update common effect class text generation (A-C) (#10651) 2023-07-21 22:55:47 -04:00
theelk801
03320d1752 [CMM] Implement Battle at the Helvault 2023-07-21 22:23:31 -04:00
theelk801
b1e055df75 [CMM] Implement Boon of the Spirit Realm 2023-07-21 20:30:57 -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
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