Commit graph

13110 commits

Author SHA1 Message Date
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
792be8a859
[BOT] Implement Starscream, Power Hungry // Starscream, Seeker Leader (#10674) 2023-07-29 13:45:39 -04:00
Susucre
4856c65443
[BOT] Implement Megatron, Tyrant // Megatron, Destructive Force (#10666)
* [BOT] Implement Megatron, Tyrant // Megatron, Destructive Force

* fix verify test.

* cleanup AbilityCastMode for Disturb & MoreThanMeetsTheEye

* cleanup unecessary checks.

* fix duration of silence static effect

* fix Disturb tests
2023-07-29 13:45:09 -04:00
Alexander Novotny
519b3988be
game timer: Add chess-style buffer time option (#10598)
* UI Changes

* Add new buffer time options

* Main functionality

* Final implementation

Also added player UI for when they are using their buffer time (timer turns green)
2023-07-28 22:05:21 -04:00
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