Commit graph

11998 commits

Author SHA1 Message Date
Susucre
a4eb963838 handle delayed triggers not using the stack 2024-05-18 19:23:50 +02:00
Susucre
a2344ea781 fix cleanup time 2024-05-17 16:37:18 +02:00
Susucre
8db7a4d307 cleanup DelayedTriggeredAbility on player leave 2024-05-17 13:33:45 +02: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
Susucre
f24b3d988d clean MILLED_EVENT to not store Card directly. 2024-05-02 10:18:36 +02:00
xenohedron
30d498b80f consolidate batch event constructor (related to 7c3bbed8) 2024-05-02 01:28:06 -04:00
xenohedron
f482eef06a text fixes 2024-05-02 01:24:22 -04: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
ebe232cadb implement [PIP] Tato Farmer 2024-05-01 18:51:40 +02:00
Susucre
a60f01a99f implement [PIP] Thrill-Kill Disciple 2024-05-01 18:34:30 +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
9d3b86eb2e change text generation in new GainControlAllControlledTargetEffect 2024-05-01 13:10:53 +02:00
theelk801
31c37a4dd3 [M3C] Implement March from Velis Vel 2024-04-30 21:02:05 -04:00