Commit graph

4090 commits

Author SHA1 Message Date
xenohedron
baa8a18c3e remove reminder text from lifelink ability (closes #11812) 2024-02-17 22:30:05 -05:00
PurpleCrowbar
2b13ce8544 Fix scry triggered ability optional argument being unused 2024-02-18 02:44:11 +00:00
PurpleCrowbar
a4cc404e18 Implement common surveil triggered ability 2024-02-18 02:26:33 +00:00
PurpleCrowbar
8174be9926 [MKC] Implement Follow the Bodies 2024-02-17 19:57:15 +00:00
PurpleCrowbar
63c65680c8 [MKC] Implement Merchant of Truth 2024-02-17 19:29:08 +00:00
PurpleCrowbar
4388b7ac8c
Add hint to Storm ability (#11795) 2024-02-17 13:31:17 -05:00
PurpleCrowbar
167a796c72
[MKC] Implement Trouble in Pairs (#11807)
* [MKC] Implement Trouble in Pairs

* Delete DrawCardWatcher, use preexisting common watcher

* Fix some unrelated cards' rarities to fix verify

* Implement common turn skipping ability
2024-02-17 13:30:19 -05:00
PurpleCrowbar
4e648a29a9
[MKC] Implement Watcher of Hours (#11808) 2024-02-17 13:30:00 -05:00
Oleg Agafonov
229e8d3075 game engine, tests and other fixes:
tests: fixed wrong permanent structure for battlefield cards (addCard command);
tests: added docs and additional runtime checks;
game: Modal double-faced cards - improved support, no more other side effects on battlefield;
game: Copy abilities - improved stability and cards support;
game: Player under control - improved stability and related cards support (possible NPE errors, additional runtime checks);
server: fixed bloated logs with game timer;
AI: fixed wrong timer in computer games;
2024-02-17 19:35:44 +04:00
xenohedron
824e4c6b7a
fix some inner classes (#11798)
* make inner class static

* rework to remove inner class

* static filter cleanup

* ManaCostsImpl<>

* fix copy constructor

* new TargetPlayerGainControlTargetPermanentEffect

* make some inner classes no longer inner classes
2024-02-16 22:37:30 -05:00
xenohedron
b736f76322 adjust choose message 2024-02-14 22:22:54 -05:00
Matthew Wilson
a042e97c30
[MKM] Implement Niv-Mizzet, Guildpact (#11787)
* [MKM] Implement Niv-Mizzet, Guildpact

* Address comments
2024-02-14 22:18:20 -05:00
Matthew Wilson
08eb000453
[MKM] Implement Proft's Eidetic Memory (#11779) 2024-02-10 14:52:28 -05:00
xenohedron
16a8efa7ea text fixes 2024-02-09 23:26:24 -05:00
Cameron Merkel
c3d2494db6
Fix Aegis of the Legion after CR update (#11765) 2024-02-09 22:22:36 -05:00
Cameron Merkel
c4e0d64428
Rework how Training events are handled (#11748)
* Replace training GameEvent with custom TriggeredAbility
2024-02-05 22:10:30 -05:00
xenohedron
8277de894a simplify ReturnFromGraveyardToBattlefieldWithCounterTargetEffect 2024-02-05 22:09:04 -05:00
xenohedron
d5a239526a simplify Pyrrhic Revival and remove unused param
related to #10626
2024-02-05 22:09:04 -05:00
xenohedron
4968f0b18c cleanup BecomesColorTargetEffect
add option to retain color
2024-02-05 22:09:03 -05:00
xenohedron
cc6d49074f remove extraneous license headers 2024-02-05 22:09:03 -05:00
xenohedron
2030dcf169 minor cleanup 2024-02-04 13:08:19 -05:00
xenohedron
804dd0ae2b implement [CLU] Lonis, Genetics Expert 2024-02-04 13:06:27 -05:00
xenohedron
f398368c96 refactor: remaining copy() for target pointer from #11743 2024-02-03 16:29:45 -05:00
xenohedron
6cf05a554c
refactor: use copy() for targetPointer (#11751) 2024-02-03 10:21:16 +04:00
xenohedron
b8c78cceec text fixes 2024-02-02 23:13:52 -05:00
Matthew Wilson
f8d15cd6ba
[MKM] Implement Cases (#11713)
* Implementing "case" mechanic

* [MKM] Implement Case of the Burning Masks

* [MKM] Implement Case of the Filched Falcon

* [MKM] Implement Case of the Crimson Pulse

* [MKM] Implement Case of the Locked Hothouse

* Address PR comments

* some minor adjustments

* adjustments to hints

---------

Co-authored-by: Matthew Wilson <matthew_w@vaadin.com>
Co-authored-by: xenohedron <xenohedron@users.noreply.github.com>
2024-01-28 23:41:23 -05:00
xenohedron
391ddf267b even more text fixes 2024-01-27 21:18:25 -05:00
Evan Kranzler
99c2ffa231
Implementing "collect evidence" mechanic (#11671)
* [MKM] Implement Axebane Ferox

* add exile to cost, fix text

* add targeting message copied from crew ability

* [MKM] Implement Forensic Researcher

* [MKM] Implement Izoni, Center of the Web

* implement requested changes

* merge fix

* [MKM] Implement Sample Collector

* [MKM] Implement Evidence Examiner

* [MKM] Implement Surveillance Monitor

* [MKM] Implement Vitu-Ghazi Inspector

* [MKM] Implement Crimestopper Sprite

* [MKM] Implement Urgent Necropsy

* [MKM] Implement Analyze the Pollen

* implement requested changes

* add can pay cost check to counter unless pays effect

* fix test failure

* add tests

* fix prompt message
2024-01-27 20:26:14 -05:00
xenohedron
645b79d07e fix typo 2024-01-26 22:00:50 -05:00
theelk801
8f4a920888 [MKM] Implement Detective's Satchel 2024-01-26 21:57:36 -05:00
theelk801
bd0e9ef110 [MKM] Implement Furtive Courier 2024-01-26 21:57:36 -05:00
xenohedron
1a7edda03d new common class for life drain effects
"Each opponent loses X life. You gain life equal to the life lost this way."
2024-01-26 21:41:30 -05:00
xenohedron
c4aa812862 text fixes 2024-01-26 21:02:52 -05:00
xenohedron
814297c83c adjust MillThenPutInHandEffect
- use standard optional param rather than inverted "mandatory"
- add doc comments
- improve text gen

refactor Tetzin, Gnome Champion to use common class
2024-01-26 20:48:40 -05:00
Cameron Merkel
9f4ec75c3b
[CLU] Implement Rope (#11709)
* [CLU] Implement Rope

* Use ClueAbility

* Move CantBeBlockedByMoreThanOneAttachedEffect to common class with minor changes
2024-01-26 19:47:58 -05:00
xenohedron
e431cd90ab
Rework face down effect to layer 1b (#11689)
* add test case for face-down permanent losing abilities

* rework BecomesFaceDownCreatureEffect to layer 1b

* add test for becoming Treasure

* small refactor: Minimus Containment

* add mycosynth lattice test
2024-01-26 19:47:23 -05:00
theelk801
1f3d184ead [MKM] Implement Person of Interest 2024-01-25 20:57:13 -05:00
theelk801
291f88b1f6 [MKM] Implement Absolving Lammasu 2024-01-25 20:50:47 -05:00
Evan Kranzler
5a809f6fe4
Implementing "suspected" mechanic (#11670)
* [MKM] Implement Agrus Kos, Spirit of Justice

* rework effects

* [MKM] Implement Airtight Alibi

* [MKM] Implement Convenient Target

* [MKM] Implement Repeat Offender

* add test

* add more tests

* add tooltip for suspected

* implement requested changes
2024-01-25 20:30:51 -05:00
xenohedron
340156a84b refactor text gen for PutOnTopOrBottomLibraryTargetEffect 2024-01-22 00:14:04 -05:00
xenohedron
6eb1cb834d more text gen refactoring 2024-01-22 00:14:04 -05:00
xenohedron
5a5e320542 refactor text gen for DamageAllControlledTargetEffect 2024-01-22 00:14:04 -05:00
xenohedron
91bf9344e2 refactor text gen for PreventDamageByTargetEffect 2024-01-22 00:14:04 -05:00
xenohedron
68dcfde204 prevent damage by constructor cleanup 2024-01-22 00:14:04 -05:00
xenohedron
23ca66e3ce refactor text gen to use target pointers, part x of y 2024-01-21 02:42:38 -05:00
xenohedron
7be16bdaac refactor text gen for PutCardIntoPlayWithHasteAndSacrificeEffect 2024-01-21 02:42:38 -05:00
xenohedron
cac779cbec refactor text gen for ExileTopXMayPlayUntilEffect 2024-01-21 02:42:38 -05:00
xenohedron
4959ef4d49
another batch of text cleanup (#11694)
* minor refactor EntersBattlefieldEffect

* more minor refactoring

* text fix

* fix more text

* more text adjustments

* more text discrepancy fixes

* continue the text fixes

* followup fixes and more fixes
2024-01-20 23:13:03 -05:00
Cameron Merkel
0c9518712a
Minor improvements to AddCountersAllEffect (#11690)
* Basic cleanup (remove unused imports, make class variable final, fix typo in comment)

* Reduce log spam, use plural for "counter" when necessary
2024-01-20 13:35:13 -05:00
Matthew Wilson
784a5fb1e4
Fix Sanctuary Blade ability causing a trigger (#11682)
* Fix Sanctuary Blade ability causing a trigger

* Remove unnecessary logic and correct test

* Re-add strict choose mode

---------

Co-authored-by: Matthew Wilson <matthew_w@vaadin.com>
2024-01-20 13:20:17 -05:00