Commit graph

13110 commits

Author SHA1 Message Date
Susucre
bcff245a31
rework more Prevention Effects involving counters. Implement [PIP] Bloatfly Swarm (#12205) 2024-05-23 19:48:44 +02:00
Susucre
e3e34dae33 implement [MH3] Strix Serenade ; refactor similar effects with Pongify effect
Slight refactor for Serenade, Swan Song and An Offer You Can't Refuse to
use the shared class (formely for Permanents only) for Pongify kind of effects.
2024-05-23 19:47:06 +02:00
Susucre
f30ec10846 implement [MH3] Drowner of Truth // Drowned Jungle 2024-05-23 18:19:29 +02:00
Susucre
149e4328a7 implement [MH3] Wurmcoil Larva 2024-05-23 18:18:59 +02:00
Susucre
6f7edeca5a implement [MH3] Ral, Monsoon Mage // Ral, Leyline Prodigy 2024-05-23 13:10:35 +02:00
Susucre
79165f269c implement [MH3] Sorin of House Markov // Sorin, Ravenous Neonate 2024-05-22 22:18:52 +02:00
Susucre
8002cdf88f implement [MH3] Tamiyo Inquisitive Student // Tamiyo, Seasoned Scholar 2024-05-22 21:43:07 +02:00
Susucre
833ecff409 implement [MH3] Flare of Malice 2024-05-22 20:34:20 +02:00
Susucre
bab302f653 implement [MH3] Six 2024-05-22 20:24:33 +02:00
Susucre
bf99f2a846 implement [MH3] Brainsurge 2024-05-22 20:12:40 +02:00
Susucre
754b382e78
implement [MH3] Nethergoyf, refactor targets usages by game param (#12267) 2024-05-21 13:34:38 +02:00
xenohedron
88b6f4036f text fixes 2024-05-21 01:12:57 -04:00
xenohedron
abd0e4ca8f adjust comments 2024-05-21 01:04:14 -04:00
xenohedron
398744dfbe add comments to CountersSourceCount for null param usage 2024-05-21 00:57:32 -04:00
Cameron Merkel
0f858fe3c3
[PIP] Implement Sentinel Sarah Lyons; The Prydwen, Steel Flagship; add common watcher + condition (#12250)
* [PIP] Implement Sentinel Sarah Lyons

* Create common watcher and condition for artifacts entering

* [PIP] Implement The Prydwen, Steel Flagship

* Use common classes in Akal Pakal, First Among Equals; string correction

* Add warning about watcher to ArtifactEnteredUnderYourControlCondition

* Add tests

* Move test file

* Test with opponent casting artifact during your turn

* Use checkPT(), don't call execute() multiple times

* Check final assertion at upkeep instead of untap step
2024-05-21 00:33:11 -04:00
Susucre
6cc3c5384a fix UntilYourNextTurnDelayedTriggeredAbility
was wrongly limited to triggering once.
2024-05-17 12:22:19 +02:00
Oleg Agafonov
6e4e52373b refactor: use same naming as original classes (related #12233) 2024-05-17 09:26:38 +04:00
xenohedron
6fd6417d0b rework and fix Stand or Fall 2024-05-16 16:23:13 -04:00
xenohedron
5e9b01bfbe refactor: align class name 2024-05-16 16:23:13 -04:00
xenohedron
3aeb5165b7 refactor: remove redundant class 2024-05-16 16:23:12 -04:00
xenohedron
b4dbc75ac5 fix damage prevention to multiple targets 2024-05-16 14:02:35 -04:00
Susucre
3abce2f5c8
support until your next turn delayed triggers (#12233) 2024-05-16 13:37:53 +02:00
PurpleCrowbar
a95b988ac7 Add SCD token images 2024-05-15 03:18:53 +01:00
theelk801
43769e68f8 [MH3] Implement Breaker of Creation 2024-05-13 12:26:36 -04:00
Oleg Agafonov
d28b9e6d05 tests: added additional tests for Dryad Militant card and Madness abilities, added docs; 2024-05-12 12:33:48 +04:00
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
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
karapuzz14
bb783a318e
Added [YDMU] Alchemy: Dominaria set. Implemented Vinesoul Spider, Slimefoot, Thallid Transplant. (#12157) 2024-05-04 17:34:25 -04: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
Susucre
2522f712e9
refactor: cleanup TargetCardInExile (#12218) 2024-05-03 22:15:13 -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
534d1be175 add PayVariableEnergyCost, fixing [PIP] HELIOS One & [MH3] Chtonian Nightmare
fix #12217
2024-05-03 16:44:19 +02:00
xenohedron
ab99cfe1fd address other comments 2024-05-03 01:18:35 -04:00
ssk97
32bf3eb9bf
Genericize Target Adjusters (#12107)
* Create generic X MV adjuster

* Update XTargetsAdjuster

* Create DynamicValueTargetsAdjuster to replace VerseCounterAdjuster

* Convert XTargetsAdjuster to use DynamicValueTargetsAdjuster

* Genericize MV target adjuster

* Converting custom classes for A and B cards, fix Back in Town to only target creature cards

* Add Power and Toughness target adjusters, C cards

* Set up and use Monstrosity X DynamicValue

* Move Scry amount dynamic value to common, add D and E cards

* Convert F to I cards

* Cards K-M

* N, O cards

* Cards O-R

* S cards (check Scrap Welder)

* Cards T - Z

* Rename target adjusters

* Add filter messages, don't add 0 count targets

* Clear blueprint targets (just in case), fix target names, Temporal Firestorm is not target

* Requested renames

* Aether Burst is "up to"

* Review fixes

* Add new cards, add source to dynamic value calculation
2024-05-03 01:12:52 -04:00
xenohedron
b7e3964f2e text fixes 2024-05-03 01:07:23 -04:00
Susucre
44b591e15f implement [PIP] Moira Brown, Guide Author 2024-05-02 17:41:34 +02:00
Susucre
172a2e53b3 implement [PIP] Duchess, Wayward Tavernkeep 2024-05-02 17:41:30 +02:00
Susucre
6f5eb8788d implement [PIP] HELIOS One 2024-05-02 16:32:41 +02:00
Susucre
21443a5bfe implement [PIP] Rex, Cyber-Hound 2024-05-02 16:32:40 +02:00
jimga150
52ddcac59d
refactor: added counter removal events (#11989) 2024-05-02 17:32:55 +04:00
Susucre
860a767cca implement [PIP] Vault 112: Sadistic Simulation 2024-05-02 13:00:41 +02:00
Susucre
bada7d054a implement [PIP] Recon Craft Theta 2024-05-02 11:05:40 +02:00
Susucre
ab69e05115 clean DamagedBatchCouldHaveFiredEvent isCombat
no longer flag to be more in line with other damage events
2024-05-02 10:39:42 +02:00