Commit graph

3613 commits

Author SHA1 Message Date
Oleg Agafonov
36d54bc7a9 cheats: improved card commands to support names like ED-E, Lonesome Eyebot (related to #12238) 2024-05-09 11:43:37 +04:00
jimga150
551d5d8633
Gain abilities - improved combo support with Evoke, Dash and Prowl (example: Hunting Velociraptor, fixed #11714) (#12237) 2024-05-09 09:26:42 +04:00
Oleg Agafonov
88279afcd5 merge fix 2024-05-08 06:38:52 +04:00
Oleg Agafonov
e3ae00f696 tests: added reproducible tests for short lki and move to battlefield problems (related to #12195) 2024-05-08 06:19:14 +04:00
Susucre
5c457410db add event more sacrifice tests 2024-05-07 16:50:13 +02:00
Susucre
4d076058bc add even more sacrifice tests
Still no replication of the bug.
2024-05-07 15:27:16 +02:00
Susucre
02f19d9896 add one more test on sacrifice + dies trigger.
Bug still not reproduced.
2024-05-07 13:53:07 +02:00
Susucre
907ac5c3e1 add Tests for Dies triggers on Sacrifice.
Run each one 10k times without fail, no reproducing the bug.
2024-05-07 12:28:41 +02:00
xenohedron
a97dec3e97 fix SourceTargetsPermanentCondition 2024-05-06 00:15:42 -04:00
Oleg Agafonov
d1cca988c4 refactor, ai: removed outdated and unused code (suggest actions for AI simulations); 2024-05-05 20:47:54 +04:00
jimga150
07915394c7
[REX] Implement Indominus Rex, Alpha (#12119)
* Implement Indominus Rex, Alpha

* Add draw ability

* Add test

* Add draw verification

* fix errant comment

* null check

* switch to EntersBattlefieldAbility

* Fix test, dont have to pick triggers now

* use AsEntersBattlefieldAbility

* move tests and rename

* use appliedEffects in addCounter call

* change AI hint

* use game in getAbilities call

* make ability text static, remove counter check

* add comments on ability cards and add test case with subset of checked abilities

* Update order of operations--discard, then add counters

* add more tests (Nullhide Ferox, Madness)

* check cards after move to graveyard

* test for graveyard movement

* check for hexproof base class and add test

* refactor Indominus to make ability counters for each ability it comes across that is an instance of one of the checked abilites (counting HexproofBaseAbility)

* remove commented code
2024-05-04 23:25:35 -04:00
xenohedron
dc13384c52
new LifeCompareCondition, with tests (#12221) 2024-05-04 23:25:07 -04:00
Susucre
b9511afa50 implement [MH3] Phelia, Exuberant Shepherd 2024-05-04 19:27:24 +02:00
Susucre
d8959f1588
fix [OTJ] Fortune, Loyal Steed — DelayedAbility's zcc was wrong when started from another trigger (#12154) 2024-05-04 19:26:11 +02:00
xenohedron
fa728eafb1
refactor: Cleanup CopyTargetStackObjectEffect (#12220)
* simplify constructors

* rename class

* adjust to accommodate any stack object

* adjust all usages to main common class
2024-05-04 00:47:16 -04:00
Cameron Merkel
b1b83dc5b8
[MKM] Implement Coveted Falcon (#12057)
* [MKM] Implement Coveted Falcon

* Rework to use OneShotEffect with new approach

* Use static ZCC to be safe

* Add tests

* Remove check in GainControlTargetEffect
2024-05-04 00:46:58 -04:00
jimga150
82069ef2e8
[MAT] Implement Deification, fix access to counter removal damage checkers (#12215)
* Make ChoosePlaneswalkerTypeEffect

* Make REMOVE_COUNTER and REMOVE_COUNTERS events so they can be replaced/modified

* Deification initial attempt, need to filter for damage

* add optional damage flag to removeCounters

* wrap logs in sim check

* check that planeswalker is chosen subtype

* cast to RemoveCountersEvent and reduce indents

* use counterRemovedDueToDamage

* add tests

* make other counterRemovedDueToDamage headers public

* remove logs

* remove isSimulation check from informPlayers

* remove logger

* make chosen planeswalker type predicate

* move event modification to replaceEvent
2024-05-03 22:15:00 -04:00
Susucre
85cad4ff1e
cleanup AbilityType for easier check that an ability is an activated ability (#12153)
* cleanup AbilityType

* further cleanup

* cleanup instanceof

* tweak formatting

* rework Rex

* fix mistake in PlayerImpl

* cleanup 'instanceof' for 'ActivatedManaAbilityImpl'
2024-05-03 22:13:34 -04:00
Susucre
62cc49ffa3 amend TODO comment, end of it was not saved 2024-05-03 17:26:24 +02:00
Susucre
534d1be175 add PayVariableEnergyCost, fixing [PIP] HELIOS One & [MH3] Chtonian Nightmare
fix #12217
2024-05-03 16:44:19 +02:00
Susucre
fc6c7b36e5 disable broken "Pay X Energy" cards 2024-05-03 11:01:07 +02:00
xenohedron
a2881362c1 temporarily ignore test that needs fixing 2024-05-03 01:33:51 -04:00
Susucre
6f5eb8788d implement [PIP] HELIOS One 2024-05-02 16:32:41 +02:00
jimga150
52ddcac59d
refactor: added counter removal events (#11989) 2024-05-02 17:32:55 +04:00
Susucre
ed7b7f1a62 implement [PIP] Mariposa Military Base 2024-05-01 21:54:35 +02:00
Susucre
74adbf222c refactor together experience counter DynamicValue 2024-05-01 21:54:19 +02:00
Susucre
53898eeb8b implement [PIP] Screeching Scorchbeast 2024-05-01 20:56:07 +02:00
Susucre
7c3bbed8f3 make batchs for milling cards (per player, all)
Rework and test the couple of existing cards triggering on mill.
2024-05-01 20:55:50 +02:00
Susucre
a60f01a99f implement [PIP] Thrill-Kill Disciple 2024-05-01 18:34:30 +02:00
Susucre
2c6bb21a9c implement [PIP] C.A.M.P. 2024-05-01 17:58:06 +02:00
Susucre
24dbba7b43 implement [PIP] Craig Boone, Novac Guard 2024-05-01 16:26:23 +02:00
Susucre
ec34bb53d0 implement [PIP] Young Deathclaws 2024-05-01 15:40:41 +02:00
Susucre
0884d7d4f6 implement [PIP] Raul, Trouble Shooter 2024-05-01 15:27:51 +02:00
Susucre
2e7c2dbaae implement [PIP] White Glove Gourmand 2024-05-01 14:33:08 +02:00
Susucre
00556c4cf6 implement [MH3] Emrakul, the World Anew 2024-04-30 11:34:52 +02:00
Susucre
8a07ff30b9 consolidate "Sacrifice all [filter] you control" 2024-04-30 10:59:42 +02:00
Susucre
1b9335c788 consolidate "gain control of all [filter] [target player] controls" 2024-04-30 10:59:38 +02:00
Susucre
d645facdc0
rework PhantomReplacementEffect used by 7 Phantom cards (#12189) 2024-04-27 17:34:59 +02:00
jimga150
6193c9aee6
Urborg Scavengers - fixed that it not getting keywords when exiling cards (#10409) (#12180) 2024-04-26 08:21:19 +04:00
Susucre
36d6547bf8
Modal double-faced cards - fixed game error on usage with some replacement effects (example: Diluvian Primordial, closes #12176) (#12184) 2024-04-25 23:40:57 +04:00
Susucre
ff4bd9b430 fix Obeka, Splitter of Seconds' extra phase calling beginning of turn method 2024-04-25 12:16:37 +02:00
xenohedron
9566e23d0b
Rework Mystery Booster and adjust some set classifications (#12138)
Mystery Booster rework:
* added images download support from scryfall (closes #11806);
* added virtual sets support (remix);
* fixed Commander set name (closes #12110);
2024-04-23 09:28:40 +04:00
jimga150
40143c648f
[REX] Implement Ian Malcolm, Chaotician (#12117)
* Start on Ian Malcolm, Chaotician, missing key effects

* fox ANY clause in DrawNthCardTriggeredAbility

* Get exile effect working

* Start using Evelyn, the Covetous code

* align exile effect

* align player clause

* align card type clause

* align counter check clause

* align mana clause

* add ownership clause

* remove redundant comments

* fix redundant mana clause description

* fix counter clause in mana cost effect

* fix active clause in mana effect

* use MageObjectReference to associate exiled cards with an Ian Malcolm instance

* optimize imports

* Start tests, failing currently

* fix test and add blink test

* fix signature of constructor

* fix order of super() call in checkTrigger

* clarify hash maps in watcher

* use correct AsThoughEffect

* document header of checkExile

* generalize modal and double faced cards for LKI fetch

* remove land played event for watcher

* Use custom MageIdentifier to filter usedMap
2024-04-22 23:58:05 -04:00
jimga150
28a1442899
Krark's Thumb - fixed that it can generates too many flip triggers (#12152)
---------

Co-authored-by: Susucre <34709007+Susucre@users.noreply.github.com>
2024-04-22 11:22:42 +04:00
Susucre
dee0637496
fix and test Zirda's Companion legality (#12142) 2024-04-20 11:14:29 +02:00
xenohedron
89bc08a840 adjust TokenImagesTest to not use MB1 2024-04-18 20:18:48 -04:00
Susucre
9a21f24f2c [PIP] Implement Glowing One & Ingesting Radroach 2024-04-18 19:28:15 +02:00
Susucre
0da12c4bc2 fix Kess, Dissident Mage (#11924)
fix #11924
2024-04-18 17:56:31 +02:00
jimga150
006f212b6b
[REX] Implement Indoraptor, the Perfect Hybrid (#12122)
* Implement Indoraptor, the Perfect Hybrid

* Add tests
2024-04-17 20:24:56 -04:00
jimga150
b0d7daa85e
[REX] Implement Grim Giganotosaurus (#12103)
* Implement Grim Giganotosaurus

* Refactor MonstrosityAbility to take cost adjuster

* Update Nemesis of Mortals' monstrous ability and add test for cost reduction
2024-04-17 20:24:37 -04:00