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
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
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
Oleg Agafonov
3405b51aaf
tests: improved load tests (improved progress bar, added effects stats)
2025-02-04 11:41:42 +04:00
Oleg Agafonov
7035736a6c
AI: improved game stability on blocking (related to #13290 )
2025-02-04 10:21:13 +04:00
Oleg Agafonov
92b7ed8efc
AI: reworked blockers selections:
...
* fixed game freezes for no-possible block configurations like Menace (#13290 );
* fixed computer cheating to ignore block requirements like Menace (now AI will choose all required blockers instead 1);
* improved computer logic for blockers selection (try to sacrifice a creature instead game loose, simple use cases only);
* added freeze protection for bad or unsupported attacker-block configuration;
* refactor: deleted outdated AI code;
2025-02-04 01:14:59 +04:00
theelk801
c082edd663
[DFT] Implement Adrenaline Jockey
2025-02-03 14:56:46 -05:00
theelk801
c0ccbe2a2b
[DFT] Implement Chandra, Spark Hunter
2025-02-03 14:19:17 -05:00
theelk801
cf6ba1895a
[DFT] Implement Cryptcaller Chariot
2025-02-03 11:35:07 -05:00
Oleg Agafonov
58fbfdd529
refactor: improved usage of getOpponents to ignore leaved players in one short effects
2025-02-03 17:46:57 +04:00
theelk801
b56f071414
[DFT] Implement Perilous Snare
2025-02-02 19:02:50 -05:00
theelk801
175ca742b0
[DFT] Implement Lightwheel Enhancements
2025-02-02 10:00:44 -05:00
Cameron Merkel
ec5e982d7e
Choose card name - added support to choose names from adventure spells (example: Anointed Peacekeeper) ( #13286 )
2025-02-02 17:02:26 +04:00
theelk801
3776a39683
[DFT] Implement Spikeshell Harrier
2025-02-01 19:21:46 -05:00
Evan Kranzler
ef213b1bef
Implementing "Start your engines!" mechanic ( #13259 )
...
* add initial speed handling
* finish speed implementation
* remove skip list
* add initial test
* add some more tests
* change speed initialization to state-based action
* add opponent speed check
* add control change test
* add check for speed 5
2025-02-01 13:49:47 -05:00
Oleg Agafonov
fc159728c7
version bump
2025-02-01 20:16:27 +04:00
Oleg Agafonov
d75792312e
tests: added runtime check for wrong usage of inform messages inside layer effects (disabled by default, related to #13259 , #11285 )
2025-02-01 12:53:09 +04:00