Oleg Agafonov
46d751f996
refactor: improved usage of target pointers
2024-02-18 15:38:53 +04:00
Oleg Agafonov
78612ddc91
multiple changes:
...
* refactor: improved target pointer init code and logic, added docs and runtime checks;
* game: fixed miss or wrong init calls in some continuous effects;
* game: fixed wrong usage of target pointers (miss copy code, miss npe checks);
2024-02-18 15:05:05 +04:00
xenohedron
ead385a03b
fix #11811 (Mob Rule) with new common class to handle logic
2024-02-18 00:32:44 -05:00
xenohedron
920d75377d
make inner classes static in ForetellAbility
2024-02-17 22:31:24 -05:00
xenohedron
d6e7ff6dad
new TargetPlayerGainControlSourceEffect
...
rework Drooling Ogre and others to use it
2024-02-17 22:31:24 -05:00
xenohedron
cbad085169
refactor AwakenAbility to remove inner class
2024-02-17 22:31:24 -05:00
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