Commit graph

4353 commits

Author SHA1 Message Date
Susucre
3acab4a76d implement [DSK] Screaming Nemesis 2024-07-06 18:55:53 +02:00
Susucre
9bc1289341 implement [ACR] Senu, Keen-Eyed Protector ; small refactor on AttacksAndIsNotBlockedTriggeredAbility's setTargetPointer 2024-07-06 18:29:53 +02:00
ssk97
7cb669603f
[WHO] Time Reaper, Add target adjuster for "that player controls/owns" damage trigger targets (#12528)
* Implement Time Reaper, start rework

* Create DamagedPlayerControlsTargetAdjuster, convert Aberrant to use it

* Always add targets for EachOpponentPermanentTargetsAdjuster

* Improve target name, finish Time Reaper

* Convert some cards

* Improve documentation, more cards

* More cards, fix cards that needed to use owner instead of controller

* Fix unfinished AlelaCunningConqueror changes

* more cards

* All remaining cards

* Fix target type

* Remove outdated attempt at TargetController.SOURCE_EFFECT_TARGET_POINTER

* Finish removal of SOURCE_EFFECT_TARGET_POINTER

* Change targetAdjuster blueprint target to be set inside setTargetAdjuster, add error checking

* Always add Target Adjuster after Target

* Add comment

* Fix TolarianContemptTest to skip opponent with no valid targets

* Forgot to git add the new abstract GenericTargetAdjuster

* Test now possible after merge, fix missed ChangeOfPlans adjuster order

* Text and optional-ness fixes

* Always set target pointer
2024-07-02 08:46:14 +04:00
Oleg Agafonov
bccf323c0f refactor: clean, added comments and todos to meld related code, fixed miss copy (related to #12544) 2024-07-01 22:43:58 +04:00
Oleg Agafonov
eee1462eba Aclazotz, Deepest Betrayal // Temple of the Dead - added card hint for second side, refactored to use standard methods 2024-07-01 13:11:23 +04:00
Susucre
2709614508 tweak [BLB] Salvation Swan's effect, and add test with Meld. 2024-06-30 13:57:31 +02:00
xenohedron
9863e23435 refactor: ChoiceImpl constructor must specify whether required
changed a few others to required where clearly applicable
2024-06-29 22:57:47 -04:00
xenohedron
5aaf6fe773 fix required choice on ability counter 2024-06-29 22:39:41 -04:00
Susucre
62a99a0497 implement [BLB] Salvation Swan 2024-06-29 18:38:00 +02:00
Susucre
b59f8e889d implement [BLB] Carrot Cake 2024-06-29 17:03:33 +02:00
theelk801
f53fb22916 [DSK] Implement Cursed Recording 2024-06-28 15:27:30 -04:00
theelk801
f0a77a8551 [DSK] Implement Leyline of Hope 2024-06-28 15:12:14 -04:00
Oleg Agafonov
3f5d2bb9b5 Implement [M3C] Gluttonous Hellkite (part of #12206, related to #12393) 2024-06-26 10:18:55 +04:00
ssk97
2daa2b8820
[PIP] and [WHO] card implementations (#12482)
* Last Night Together

* Nanogene Conversion

* Return the Past

* Rose, Cutthroat Raider

* Diamond City

* Fix Apostrophe

* Various fixes

* Replace Diamond City and Celebration Watchers

* LastNightTogether improvements, add hint to ReturnThePast

* Add AttackedThisTurnOpponentsCount hint, ignore new failing Celebration test

* Review fixes, also create ValueConditionHint for value hints with a conditional threshold

* Comments improvements

* Requested changes to make ValueConditionHint extend ConditionHint

* single super call in ValueConditionHint constructor
2024-06-25 23:22:45 -04:00
ssk97
0e84fd02a0
[MKM] implement remaining 4 Cloak cards (#12509)
* EtrataDeadlyFugitive

* refactor: remove need for Zone.BATTLEFIELD for DealsDamageToAPlayerAllTriggeredAbility with opponent restriction

* ExposeTheCulprit

* HideInPlainSight

* VannifarEvolvedEnigma

* Fix for not turning manifested non-permanents face-up, per 701.34g

* Add comment on Etrata's unusual behavior
2024-06-25 22:55:58 -04:00
Oleg Agafonov
8a4a23bb8f game: improved cost tags to support card hints on stack (example: evidence, fixes #12522); 2024-06-25 18:25:08 +04:00
Oleg Agafonov
74b3d26a41 merge fix 2024-06-25 10:34:47 +04:00
Oleg Agafonov
e7b8eecd64 Evidence abilities - added improved card hint with available evidence to collect 2024-06-25 10:30:50 +04:00
Oleg Agafonov
e507627dae game: fixed wrong logs formatting on multiple targets 2024-06-25 10:27:00 +04:00
ssk97
f53954d56a
implement [MKM] Deadly Cover-Up; refactor to common class (#12500)
* Genericize most variants of SearchTargetGraveyardHandLibraryForCardNameAndExileEffect

* Implement Deadly Cover-Up

* int maxAmount instead of boolean maxFour, use player.chooseTarget

* Fix Surgical Extraction test, use withNotTarget for exile choices

* Add tests, fix MDFC's back sides' names from being matched against
2024-06-24 23:58:57 -04:00
Jeff Wadsworth
0a43ea83e6 Refactored Apex Observatory 2024-06-22 19:02:31 -05:00
grimreap124
249935bd1b
[ACR] Implement Escape Detection (#12501)
* ACR-Implement-Escape-Detection

* ACR-Implement-Escape-Detection
2024-06-22 19:50:41 -04:00
Grath
f96343eec8
Fix Maarika, Brutal Gladiator trigger to use LKI. (#12507)
* Fix Maarika, Brutal Gladiator trigger to use LKI.

Fixes #8775

* Fix more instances of getting permanent or LKI from first target.

* Two more instances of getting permanent or LKI from first target.
2024-06-22 17:55:03 -04:00
Susucre
64e08b49b1 fix cost reduction not controller specific for [MH3] It That Heralds the End and [MH3] Ral, Leyline Prodify
fix #12503
2024-06-22 14:47:47 +02:00
Evan Kranzler
e851e04906
Implement Freerunning mechanic (ready for review) (#12485)
* [ACR] Implement Eagle Vision

* add test

* [ACR] Implement Achilles Davenport

* [ACR] Implement Chain Assassination

* [ACR] Implement Restart Sequence

* update test

* add test for non-assassin, non-commander
2024-06-19 18:05:20 -04:00
ssk97
32d7122e59
Fix looking at face-down creatures; implement [MKM] Lumbering Laundry (#12479) 2024-06-18 22:23:50 -04:00
theelk801
bac4e7b507 (refactor) break out assignment into its own package 2024-06-18 13:44:11 -04:00
xenohedron
391c01c87d implement [MH3] Herigast, Erupting Nullkite 2024-06-15 14:54:14 -04:00
xenohedron
f08d5acb30 implement [VIS] Pygmy Hippo 2024-06-15 13:57:55 -04:00
xenohedron
fdd244786b refactor: improve method name (related to 86fa9278) 2024-06-13 00:43:51 -04:00
xenohedron
b85d2883e3 style: remove some static imports 2024-06-11 23:47:48 -04:00
xenohedron
d61de05eb8
refactor: simpler processAction syntax (#12458)
* game.processAction() instead of game.getState().processAction(game)

* add simpler method name and docs

* find/replace to new method

* remove old method

* deprecate applyEffects
2024-06-11 22:55:43 -04:00
xenohedron
fc21365847
Fix "becomes the target of" logic to check all modes (#12452)
* check all targets from all modes for getTargetingStackObject

* update logic related to a97dec3
2024-06-11 00:58:12 -04:00
xenohedron
a5488228b8
fix usable zone logic for abilities that function from other zones (#12446)
* remove superfluous constructor params

* fix Syrix, Carrier of the Flame

* standardize Zone = Battlefield

* rename class

* remove redundant class

* add docs

* adjustment
2024-06-09 22:15:04 -04:00
xenohedron
0d4acf26e5 refactor: improve method name - checkShortLivingLKI 2024-06-09 22:13:33 -04:00
xenohedron
aeaeccb63b
Fix bugs with dies triggers due to short living LKI reset (#12438)
* replace applyEffects() with processAction() for card usages

* update Goblin Welder and test

* add test for Historian's Wisdom

* enable other related tests

* only reset short living LKI for process action, not all apply effects

* update docs

* remove applyEffects from condition in Historian's Wisdom

* add another test case
2024-06-09 18:56:19 -04:00
xenohedron
4bdca4b9ad text fixes 2024-06-08 15:23:23 -04:00
Susucre
e2066f41ab
fix copy effect not being discarded early enough (#12434) 2024-06-08 20:49:20 +02:00
Evan Kranzler
cdf91e66fb
Change tribal card type to kindred, update viashino and naga (#12271)
* change tribal card type to kindred

* update viashino to lizard

* update naga to snake
2024-06-08 13:55:52 -04:00
Susucre
40a1fc6c23 cleanup and add tests on '{this} enters the battlefield tapped unless [Condition]'
Almost a refactor. The only change is that all those cards were missing the notTarget argument in TapSourceEffect.

closes  #12411
2024-06-08 19:35:35 +02:00
Oleg Agafonov
a071593d47 refactor: added runtime check for wrong usage of AddContinuousEffectToGame (closes #12427) 2024-06-07 23:20:13 +04:00
Evan Kranzler
08c7d2ab8f
implement [M3C] Planar Nexus [MH3] Omo, Queen of Vesuva and [UNF] Nearby Planet ; introduce AllNonbasicLandTypes status (#12203) 2024-06-07 18:36:41 +02:00
Susucre
3e18b58cac
implement [MH3] Arena of Glory and usage of ManaSpentDelayedTriggeredAbility (#12404) 2024-06-07 18:34:45 +02:00
xenohedron
79a37d249e more text adjustments 2024-06-06 23:28:10 -04:00
xenohedron
3ed1a82ac9 add docs, remove unnecessary try-catch 2024-06-06 23:13:42 -04:00
grimreap124
1d8be572b5
Implement [M3C] Razorfield Ripper (#12389) 2024-06-06 23:11:38 -04:00
xenohedron
f2d6629313 text fixes 2024-06-06 23:05:44 -04:00
Evan Kranzler
720d6075ea
(Don't merge yet) Rename totem armor to umbra armor (#12270)
* rename totem armor to umbra armor

* merge fix

* merge fix
2024-06-06 20:52:37 -04:00
Susucre
24e73df510 implement [MH3] Thief of Existence 2024-06-07 00:19:37 +02:00
Evan Kranzler
27bea843a3
[M3C] Implement Ulalek, Fused Atrocity and new colorless hybrid mana (#12273)
* improved by (#12415)
* Added symbol downloads for new colorless hybrid
---------

Co-authored-by: Alexander Novotny <alexander_novo@mail.tmcc.edu>
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
2024-06-06 23:43:45 +04:00