Commit graph

801 commits

Author SHA1 Message Date
Susucre
c77634c843
separate 'you may play'|'you may cast' AsThoughtEffect approuvers
Also, reworked Gonti, Lord of Luxury and checks it now works properly with Zoetic Cavern.
2024-04-13 12:10:53 +02:00
xenohedron
f3fccfbd8a refactor: use setter method and private field 2024-04-12 20:11:04 -04:00
xenohedron
577a3708fc adjust some text, cleanup some variable access 2024-04-12 20:08:26 -04:00
xenohedron
8bf75ed000 text fixes 2024-04-11 00:34:19 -04:00
jimga150
40b1dcc526
Fix DestroyPlaneswalkerWhenDamagedTriggeredAbility (#12093) 2024-04-10 23:42:44 -04:00
Matthew Wilson
6fffc2aeb0
Merge pull request #11723 from DominionSpy/case-of-the-pilfered-proof
[MKM] Implement Case of the Pilfered Proof
2024-04-09 14:48:27 +03:00
Susucre
e62d1c2124 [OTC] Implement Thunderclap Drake 2024-04-09 13:08:10 +02:00
Matthew Wilson
9cf6119c7e
Merge branch 'magefree:master' into case-of-the-pilfered-proof 2024-04-07 14:31:44 +03:00
Susucre
d591a89495 [OTJ][BIG] Cleanup some card implementation 2024-04-05 11:53:12 +02:00
jimga150
525e013ebd
Fix damage triggers (#12033)
* Fix DealtDamageAttachedTriggeredAbility and update test

* Fix AegarTheFreezingFlameTriggeredAbility and add test

* fix enum reference for DealtDamageAttachedTriggeredAbility

* fix Pious Warrior

* Fix souls of the faultless

* fix Stuffy Doll

* Fix Vengeful Pharoah and add test

* fix Wall of Essence

* fix Wall of Souls

* fix Rite of Passage and add test

* incorporate simple fixes - these cards use no methods that aren't re-implemented in DamagedBatchForOnePermanentEvent

* fix Chandra's Spitfire

* fix Darien, King of Kjeldor

* fix Jace, Cunning Castaway

* fix Mindblade Render

* fix Popular Entertainer

* fix Swarmborn Giant

* fix The Raven's Warning

* fix War Elemental

* fix Wildfire Elemental

* make simple player damage trigger fixes

* Add isCombatDamage to DamagedBatchForOnePermanentEvent and utilize in trigger fixes

* fix Fall of Cair Andros

* fix Toralf, God of Fury

* optimize some imports
2024-04-04 22:16:44 -04:00
Susucre
dd3057fa10 [BIG] Implement Tarnation Vista 2024-04-04 12:47:35 +02:00
Susucre
fddaf5914e [OTJ] Implement Overzealous Muscle 2024-04-02 14:22:16 +02:00
Susucre
97ab8074b3
[OTJ] Implement Plot mechanic (+8 cards) (#12017)
[OTJ] Implement Aloe Alchemist
[OTJ] Implement Aven Interrupter
[OTJ] Implement Longhorn Shapshooter
[OTJ] Implement Kellan Joins Up
[OTJ] Implement Make Your Own Luck
[OTJ] Implement Jace Reawakened
[OTJ] Implement Lilah, Undefeated Slickshot
[OTJ] Implement Doc Aurlock, Grizzled Genius
2024-03-31 17:06:55 +02:00
Susucre
9a03bc675b [OTJ] Fix a few rule text 2024-03-31 01:11:26 +01:00
Susucre
559be38b00 [OTJ] Implement Vengeful Townsfolk 2024-03-30 20:43:33 +01:00
Susucre
c42e67ea0f [OTJ] Implement Roxanne, Starfall Savant 2024-03-30 14:53:08 +01:00
Evan Kranzler
8fbc7c9507
[OTJ] Implementing "saddle" mechanic (#12012)
* [OTJ] Implement Trained Arynx

* implement saddle cost

* update saddled effect

* add test

* add sorcery speed to saddle ability

* apply requested changes

* [OTJ] Implement Quilled Charger

* rework test
2024-03-29 23:00:22 -04:00
theelk801
e77443f5b9 [OTJ] Implement Forsaken Miner 2024-03-29 10:16:48 -04:00
xenohedron
a768a4dd8a cleanup access to fields in AbilityImpl
where trivially possible, make private and use getters
2024-03-29 01:53:03 -04:00
xenohedron
cb28fb5a56
Refactor batch events (#11995)
* create new abstract class for batch event framework

* adjust CardUtil.getEventTargets to support new framework

* update TappedBatchEvent to new framework

* update UntappedBatchEvent to new framework

* slight cleanup

* update LifeLostBatchEvent to new framework

* update ZoneChangeBatchEvent to new framework

* complete refactor by moving damage events to new framework

* remove old code no longer used

* clean up some nonsense code in star wars card

* fix watcher checking id before event type

* fix wrong id usage

* fix missed wrong id usage
2024-03-28 23:19:20 -04:00
theelk801
e8d695d880 [OTJ] Implement Rattleback Apothecary 2024-03-28 16:39:41 -04:00
Evan Kranzler
fa0f9f3d00
[OTJ] Implementing "commit crime" mechanic (#11859)
* [OTJ] Implement Oko the Ringleader

* [OTJ] Implement Duelist of the Mind

* update implementation of crime mechanic to match new info

* [OTJ] Implement Marauding Sphinx

* [OTJ] Implement Hardbristle Bandit

* [OTJ] Implement Intimidation Campaign

* [OTJ] Implement Freestrider Lookout

* add initial test

* add more tests

* apply requested changes

* applied requested changes

* fix verify failure
2024-03-28 11:19:27 -04:00
xenohedron
6820aa5ee1 fix #11783 (default card drawn hint only when applicable) 2024-03-23 17:17:09 -04:00
xenohedron
09a05c6069 adjust text gen 2024-03-23 00:51:49 -04:00
xenohedron
d5295b0de3
Improve handling of abilities that let you cast spells from not hand zone once per turn (#11946)
* fix name of existing test

* adjust class name

* generate text

* use common class for Danitha

* add test

* update Gisa and Geralf

* rework Cemetery Illuminator, add test

* simplify effects allowing play from top of library

* simplify common classes which were bloated to support a single card

* simplify another

* remove unused import from test

* rework to check spell ability

* add more test cases

* add test cases

* add failing test case

* common watcher and hint for "once each turn, you may cast..."

* fix Assemble the Players to check spell ability, add test

* apply same improvements to Johann, Apprentice Sorcerer
2024-03-18 23:09:31 -04:00
xenohedron
ca45c06f71
Merge branch 'master' into case-of-the-pilfered-proof 2024-03-18 01:24:26 -04:00
xenohedron
ae4cff1803 text fixes 2024-03-17 20:00:00 -04:00
PurpleCrowbar
e5759bbd9e
[PH17] Implement Inzerva, Master of Insights (#11774)
* Remove superfluous code from fateseal effect
2024-03-07 19:02:52 -05: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
PurpleCrowbar
68bfe4fd6f Improve rule generation for DealsDamageToAPlayerAllTriggeredAbility 2024-02-29 02:57:39 +00: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
PurpleCrowbar
2b13ce8544 Fix scry triggered ability optional argument being unused 2024-02-18 02:44:11 +00:00
PurpleCrowbar
a4cc404e18 Implement common surveil triggered ability 2024-02-18 02:26:33 +00:00
PurpleCrowbar
167a796c72
[MKC] Implement Trouble in Pairs (#11807)
* [MKC] Implement Trouble in Pairs

* Delete DrawCardWatcher, use preexisting common watcher

* Fix some unrelated cards' rarities to fix verify

* Implement common turn skipping ability
2024-02-17 13:30:19 -05:00
PurpleCrowbar
4e648a29a9
[MKC] Implement Watcher of Hours (#11808) 2024-02-17 13:30:00 -05:00
xenohedron
804dd0ae2b implement [CLU] Lonis, Genetics Expert 2024-02-04 13:06:27 -05:00
Matthew Wilson
430d50af63 Address PR comments 2024-02-01 13:32:01 +02:00
Matthew Wilson
2a44f913f9 [MKM] Implement Case of the Pilfered Proof 2024-01-29 11:54:23 +02:00
Matthew Wilson
f8d15cd6ba
[MKM] Implement Cases (#11713)
* Implementing "case" mechanic

* [MKM] Implement Case of the Burning Masks

* [MKM] Implement Case of the Filched Falcon

* [MKM] Implement Case of the Crimson Pulse

* [MKM] Implement Case of the Locked Hothouse

* Address PR comments

* some minor adjustments

* adjustments to hints

---------

Co-authored-by: Matthew Wilson <matthew_w@vaadin.com>
Co-authored-by: xenohedron <xenohedron@users.noreply.github.com>
2024-01-28 23:41:23 -05:00
xenohedron
391ddf267b even more text fixes 2024-01-27 21:18:25 -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
Matthew Wilson
784a5fb1e4
Fix Sanctuary Blade ability causing a trigger (#11682)
* Fix Sanctuary Blade ability causing a trigger

* Remove unnecessary logic and correct test

* Re-add strict choose mode

---------

Co-authored-by: Matthew Wilson <matthew_w@vaadin.com>
2024-01-20 13:20:17 -05:00
theelk801
1a8dce83d0 rename face-up/face-down events 2024-01-17 15:56:11 -05:00
theelk801
c0de1cec19 fix test failure 2024-01-17 15:51:54 -05:00
theelk801
9d8991f5af [MKM] Implement Gadget Technician 2024-01-17 15:11:12 -05:00
xenohedron
aa642324d7
refactor: sacrifice permanent triggered abilities (#11655)
* refactor constructors in SacrificePermanentTriggeredAbility

enables general use

* refactor some custom classes

* reorder method signature, add docs

* refactor another batch of custom classes

* cleanup remaining custom classes
2024-01-14 19:57:11 -05:00
jimga150
068f5db976
[PIP] Implement Mr. House, President and CEO (#11610)
* move Cybernetic Datasmith's robot token to RobotCantBlockToken since Mr. House has a more generic version

* Update tokens database
2024-01-06 15:09:14 -05:00
xenohedron
518407be73 fix regression: Michiko Konda, Truth Seeker
missing a check in SourceDealsDamageToYouTriggeredAbility::checkTrigger

added test
2024-01-03 01:14:46 -05:00
jimga150
53d62c7f44
[LCC] Implement Pantlaza, Sun-Favored (#11590) 2023-12-31 14:24:55 -05:00
xenohedron
9e1645a1bc text fixes 2023-12-06 23:14:58 -05:00