Alexander Novotny
a36a7d9b7f
[LTR] Add Goldberry, River-Daughter ( #10524 )
...
* Added Goldberry
* Slight optimizaztion
* Happy Path Test
* More unhappy tests
* Sanity check for Goldberry's counter choices
* Updated player.getMultiAmount to support individual constraints
* Some cleanup
Also modified ResourcefulDefense to use new multi amount api
* Updated logging
* Added hint for number of counters
* Fixed issue with Resourceful Defense
* Improvements to defaults
Default list will properly make sure to stay within individual maximums
If a player is asked for a choice that isn't actually a choice because each choice's min and max are equal, instead the default response is immediately returned. This helps with situations like moving a counter off of Goldberry when she only has one counter on her.
* -1/-1 Counter test
* Fixed issue with -1/-1 counters
* Adjusted dialog to properly enforce constraints
2023-07-28 21:29:40 -04:00
Susucre
16094a9311
[CMM] Implement Ghoulish Impetus ( #10687 )
2023-07-28 21:27:55 -04:00
Susucre
b79964530e
[CMM] Implement Narci, Fable Singer ( #10685 )
2023-07-28 21:27:40 -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
Susucre
3e406a9975
GUI: add basic hint for goaded by a player. ( #10688 )
2023-07-28 19:33:18 -04:00
Susucre
a8bba53adf
[CMM] Implement Desecrate Reality ( #10684 )
2023-07-28 19:33:08 -04:00
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