Commit graph

2192 commits

Author SHA1 Message Date
xenohedron
9893032a36
rework Ghastly Conscription and Jeskai Infiltrator to common manifest code (#11898) 2024-03-03 21:16:46 -05:00
xenohedron
bce44f9cb9 fix some text 2024-03-03 21:03:27 -05:00
Oleg Agafonov
11ddfa0087 Manifest abilities - improved combo support for MDF, split and other cards (related to #10803, part of #11873) 2024-03-02 14:49:17 +04:00
Oleg Agafonov
6cd8359fbd merge fix 2024-03-02 12:09:53 +04:00
Oleg Agafonov
00c3efedcf refactor: improved Manifest effects to use shared code, added docs, todos and tests for all simple usages (part of #11873) 2024-03-02 12:01:05 +04:00
Oleg Agafonov
55f1d36695 game: improved visible rules of face down cards, removed visible face up cost (part of #10653, #11884) 2024-03-01 16:47:59 +04:00
Oleg Agafonov
9ea3356b77 [WHO] implemented Disguise ability (new face down type, ability and token image, #10653) 2024-03-01 16:47:59 +04:00
PurpleCrowbar
c39c8be9b6 Fix investigate effect text 2024-03-01 00:11:30 +00:00
Oleg Agafonov
c8a9a1a9db game: improved game logs for faced-down spells and exiled cards - now it support popup hint to view card/permanent (part of #11884, related to #11881, #8781) 2024-03-01 02:08:25 +04:00
Oleg Agafonov
e38a79f231
Face down images and cards rework (#11873)
Face down changes:
* GUI: added visible face down type and real card name for controller/owner (opponent can see it after game ends);
* GUI: added day/night button to view real card for controller/owner (opponent can see it after game ends);
* game: fixed that faced-down card can render symbols, abilities and other hidden data from a real card;
* images: added image support for normal faced-down cards;
* images: added image support for morph and megamorph faced-down cards;
* images: added image support for foretell faced-down cards;

Other changes:
* images: fixed missing tokens from DDD set;
* images: no more client restart to apply newly downloaded images or render settings;
* images: improved backface image quality (use main menu -> symbols to download it);
2024-02-29 01:14:54 +04:00
PurpleCrowbar
0d11a898fc
refactor: GainAbilityControlledSpellsEffect to enforce nonland card filter (#11871) 2024-02-27 22:42:52 -05:00
PurpleCrowbar
3486c57364
[MKC] Implement Printlifter Ooze (#11865) 2024-02-27 22:29:36 +00:00
PurpleCrowbar
ddcd54c0df
[BLB] Implement Byrke, Long Ear of the Law (#11860)
New common class DoubleCountersTargetEffect
2024-02-26 00:12:14 -05:00
Cameron Merkel
4e24ef2e47
[MKM] Implement Flourishing Bloom-Kin and move Cultivate-like searches to common class (#11837)
* Move Cultivate search effect to common class

* [MKM] Implement Flourishing Bloom-Kin

* Use TargetCardInLibrary, minor changes to improve readability

* Announce cards going to hand
2024-02-24 02:03:29 -05:00
xenohedron
f27a0c8b9a fix #11832 (The Enigma Jewel) 2024-02-23 01:36:48 -05:00
xenohedron
4d75402e6d null safety check 2024-02-21 01:04:57 -05:00
Oleg Agafonov
ad8e7daf97 refactor: improved card info 2024-02-18 22:40:30 +04:00
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
d6e7ff6dad new TargetPlayerGainControlSourceEffect
rework Drooling Ogre and others to use it
2024-02-17 22:31:24 -05:00
PurpleCrowbar
63c65680c8 [MKC] Implement Merchant of Truth 2024-02-17 19:29:08 +00: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
xenohedron
16a8efa7ea text fixes 2024-02-09 23:26:24 -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
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
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
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