Jmlundeen
66fd5c1b6a
[DFT] Implement many cards with custom effects ( #13407 )
...
* [DFT] Implement Loot, the Pathfinder
add option to hide reminder text for exhaust ability
* [DFT] Implement Guidelight Optimizer
* [DFT] Implement Radiant Lotus
* [DFT] Implement Oildeep Gearhulk
* fix Oildeep Gearhulk target
* fix OilDeep Gearhulk duplicate hand reveal
* [DFT] Implement Momentum Breaker
* [DFT] Implement Sita Varma, Masked Racer
* [DFT] Implement SkySeers Chariot
* [DFT] Implement Skyserpent Seeker
* [DFT] Implement Tune Up
* fix Skyseer's Chariot modifying spell cost
* use exhaust constructor boolean for reminderText
* Update cards for review
change radiant lotus outcome to prevent AI from trying to use it
change oildeep card choice to discard
replace Composite cost and move discard effect if sacrifice was unsuccessful
replace Composite costs and add target to Loot's third ability
* Missed braces for mana cost
Update GuidelightOptimizer text
2025-03-16 04:21:58 +04:00
Jmlundeen
7c55d444b0
[DFT] Implement Push the Limit ( #13408 )
2025-03-16 04:17:44 +04:00
xenohedron
7b03af3de3
fix #13433 (DoIfCostPaid regression), add test
2025-03-15 17:45:28 -04:00
xenohedron
bf8c8c4e99
fix #13425 (ninjutsu ability), add test
2025-03-15 17:36:46 -04:00
Grath
a9bffe4d25
Fix missing ProcessAction between the last mana being paid and the spell being cast. ( #13396 )
...
This is necessary so that, among other things, the Rain of Riches watcher can see that the last mana of a spell was a Treasure before the spell is cast - at which point it needs to already have Cascade.
2025-03-14 20:45:15 -04:00
Jmlundeen
9aaad5193f
[DFT] Implement Elvish Refueler ( #13392 )
2025-03-14 07:24:26 +04:00
Balázs Kristóf
cd8cb6afe5
[ACR] Implement Overpowering Attack ( #13398 )
...
* [ACR] Implement Overpowering Attack
* Replaced UntapAllThatAttackedEffect with filtered UntapAllEffect
* Add MyTurnCondition to Overpowering Attack
2025-03-13 17:51:59 -07:00
4825764518
8267d7d770
[DRC] Implement Priest of the Crossing ( #13394 )
...
* Implement Priest of the Crossing
* Add common dynamic value for "creatures that died under your control this turn"
2025-03-12 22:01:25 -07:00
Oleg Agafonov
b55ad3cdc0
Merge pull request #13373 from Jmlundeen/implement-ketramose
...
[DFT] Implement Ketramose, the New Dawn
2025-03-11 14:02:43 +03:00
jmlundeen
121ab378e7
Change CardsInExileCondition constructor and toString
...
change CardsInExileCondition to accept generic DynamicValue
create a toString override to generate rule text
2025-03-08 12:52:39 -06:00
Jmlundeen
f22755d44d
[DFT] Implement Riverchurn Monument ( #13405 )
...
* fix MillCardsTargetEffect to work with multiple targets
2025-03-08 21:38:26 +04:00
Jmlundeen
f9aa8c1527
[DFT] Implement Wickerfolk Indomitable ( #13404 )
2025-03-08 19:49:29 +04:00
Grath
419030b681
[NCC] Partially fix Rain of Riches and add tests.
...
Two tests are failing and ignored because this is only a partial fix, as we will still need to process actions between the last mana being paid and the spell being cast.
2025-02-26 23:12:07 -05:00
ssk97
705ce2320d
[DFT] Canyon Vaulter, Cloudspire Skycycle, Dune Drifter ( #13382 )
...
* Support Mounts and Your Main restriction in CrewsVehicleSourceTriggeredAbility
* Genericize Reckless Velocitaur
* Implement [DFT] Canyon Vaulter, Cloudspire Skycycle, and Dune Drifter
2025-02-26 00:14:48 -08:00
Jmlundeen
158212bbeb
refactor: create common DynamicValue for instant and sorcery spells cast in a turn ( #13374 )
2025-02-23 00:57:26 +04:00
jmlundeen
b9fa82f602
Replace unnecessary custom hint class with ValueHint
2025-02-22 14:13:08 -06:00
theelk801
9c29ff9ca4
[TDC] Implement Teval, the Balanced Scale
2025-02-22 12:42:24 -05:00
Oleg Agafonov
90034fe9b0
refactor: removed outdated and unused debug code (combat and continuous effects)
2025-02-22 15:32:30 +04:00
Oleg Agafonov
869cf83fd6
refactor: code clean in turn
2025-02-22 15:29:25 +04:00
Oleg Agafonov
b82c6010c2
refactor: simplified turn logs, removed useless poison info from it
2025-02-22 07:57:53 +04:00
jmlundeen
cbb3012b05
[DFT] Implement Ketramose, the New Dawn and implement exile condition and dynamic value
2025-02-21 21:19:34 -06:00
Steven Knipe
e22a3ec19f
Use CardUtil function instead of reimplementing lower-casing
2025-02-20 21:54:34 -08:00
Steven Knipe
17e0c82a07
Remove BroodofCockroaches text test (in Verify), uncapitalize CreateDelayedTriggeredAbilityEffect ability rule text
2025-02-20 18:27:17 -08:00
theelk801
f5d4c957fc
[DFT] small update to max speed mechanic to match comp rules
2025-02-18 09:51:09 -05:00
4825764518
ecbab0da9b
[PIP] Implement Strong, the Brutish Thespian ( #13359 )
2025-02-18 06:20:04 +04:00
4825764518
91a648c50d
[ACR] Implement Viewpoint Synchronization ( #13358 )
2025-02-18 04:57:55 +04:00
padfoothelix
0281b35c58
[WHO] Implement The Girl in the Fireplace ( #13356 )
2025-02-17 16:24:05 +04:00
Oleg Agafonov
df0a2760b6
refactor: fixed wrong usage of getModes (related to #13338 )
2025-02-17 01:16:04 +04:00
tiera3
e57098b9fe
[ME2] Implement Goblin Ski Patrol ( #13285 )
2025-02-13 20:49:12 +04:00
Oleg Agafonov
ba0e5a1aed
Delve abilities - removed unnecessary windows with exiled cards (except few cards that can use it);
2025-02-11 22:21:07 +04:00
Oleg Agafonov
19269b22b0
refactor: improved ETB rules generations, fixed some cards/abilities (related to #12791 )
2025-02-09 17:25:48 +04:00
Oleg Agafonov
0d0661cc92
refactor: added code example for rules auto-replacement in creature's ETB (related to #12791 )
2025-02-09 13:51:22 +04:00
padfoothelix
1774c2ec36
Sinister Concierge - improved text, card logic and game logs ( #13312 )
2025-02-09 03:43:43 +04:00
theelk801
bc120a34c7
[DFT] various text fixes
2025-02-08 16:42:10 -05:00
Oleg Agafonov
06f24515cc
refactor: added param to hide activate text in ActivateAsSorceryActivatedAbility (related to #13316 );
2025-02-08 23:35:50 +04:00
Oleg Agafonov
c54fcde72a
GUI, game: added source info in choose mode dialogs
2025-02-08 02:04:37 +04:00
Oleg Agafonov
e408836a19
game: added defenders info in declared attackers log
2025-02-08 01:57:00 +04:00
PurpleCrowbar
aa5c2279e7
Decayed ability - improved rules text ( #13296 )
2025-02-07 21:52:48 +04:00
Grath
145bda842b
[DSK] Implement Hauntwoods Shrieker, added support to reveal face down permanents ( #13277 )
...
* [DSK] Implement Hauntwoods Shrieker.
* Change RevealedView and PlayerImpl.revealCards to reveal face-down permanents.
* Fix #13273 using the new RevealCards capability.
2025-02-07 19:18:31 +04:00
Oleg Agafonov
9f2cfc9e09
tests: added runtime check for OrTriggeredAbility (related to #12826 , 13309)
2025-02-07 14:34:45 +04:00
Oleg Agafonov
4a3429b792
Shadow Kin - fixed game error on usage with MDF cards (related to #13308 )
2025-02-07 08:12:43 +04:00
Oleg Agafonov
25e4930bd5
Number of card types in graveyards - added card hint for cards like Tarmogoyf
2025-02-07 07:37:27 +04:00
Oleg Agafonov
bf0b957948
[DFT] added image support for designations, added Speed image (visible on triggered abilities)
2025-02-07 00:45:06 +04:00
Oleg Agafonov
d018566324
Dredge - fixed game error in some use cases
2025-02-06 22:23:27 +04:00
Oleg Agafonov
f17cbbe72b
AI: improved performance and fixed crashes on use cases with too much target options like "deals 5 damage divided as you choose" (related to #11285 ):
...
* added DebugUtil.AI_ENABLE_DEBUG_MODE for better IDE's debugging AI code;
* it's a target amount optimizations;
* it's use a grouping of possible targets due same static and dynamic stats (name, abilities, rules, damage, etc);
* instead of going through all possible combinations, AI uses only meaningful targets from particular groups;
2025-02-06 17:40:22 +04:00
Oleg Agafonov
b4fa6ace66
AI: reworked blockers selections:
...
* now computer will use simplified 1 vs 1 combat damage simulations to choose better blockers (due better game score after combat);
* it's not a full combat simulation, but support many things like non-stack abilities, damage replacement effects and SBA -- much better than older PT compare (related to #13290 );
* now AI correctly use a blockers with deathtouth, indestructible, first/double strike and other abilities;
* chump blocks also supported (chump logic implemented before in 92b7ed8efc , related to #4485 );
2025-02-06 07:03:16 +04:00
PurpleCrowbar
b3397a84b4
Add INR token images
2025-02-04 22:56:43 +00:00
theelk801
194ff4b073
[DFT] Implement Thunderhead Gunner
2025-02-04 13:51:06 -05:00
theelk801
d098ca5346
[DFT] Implement Redshift, Rocketeer Chief
2025-02-04 10:50:42 -05:00
Oleg Agafonov
b29a969fdb
[DFT] fixed miss emblem
2025-02-04 13:48:55 +04:00