Commit graph

48096 commits

Author SHA1 Message Date
theelk801
e19f7c22b7 simplify constructors for ConditionalActivatedAbility 2025-06-18 13:52:49 -04:00
theelk801
fd371c8932 remove timing argument from ActivateIfConditionActivatedAbility 2025-06-18 13:52:48 -04:00
theelk801
72551143a3 rework ConditionalActivatedAbility text constructor 2025-06-18 13:52:48 -04:00
Oleg Agafonov
ffe902d25e
AI: purged whole targeting code and replaced with simple and shared logic (part of #13638) (#13766)
- refactor: removed outdated/unused code from AI, battlefield score, targeting, etc;
- ai: removed all targeting and filters related logic from ComputerPlayer;
- ai: improved targeting with shared and simple logic due effect's outcome and possible targets priority;
- ai: improved get amount selection (now AI will not choose big and useless values);
- ai: improved spell selection on free cast (now AI will try to cast spells with valid targets only);
- tests: improved result table with first bad dialog info for fast access (part of #13638);
2025-06-18 21:03:58 +04:00
ssk97
1fe0d92c86
Attacks player with creatures triggered ability, Implement [BLC] Echoing Assault (#13764)
Create AttacksPlayerWithCreaturesTriggeredAbility, and tests for that ability via Soaring Lightbringer.
Implement Echoing Assault.
2025-06-18 05:54:36 -07:00
Steven Knipe
a7258604c6 Improve GaleWaterdeepProdigy targeting, Genericize KamiOfCelebration and SunbirdsInvocation 2025-06-17 23:46:06 -07:00
Steven Knipe
fbdff2e49c Fix checking all sets' text 2025-06-17 23:39:18 -07:00
ssk97
9ce5dd212a
Adding targets (Part 1/3) (#13680)
Adds target and/or target adjuster to cards whose abilities have the word "target", cards A-G.
Creates SourceDealsNoncombatDamageToOpponentTriggeredAbility and DefineByTriggerTargetAdjuster
2025-06-17 22:35:49 -07:00
theelk801
6d3bd7a19f refactor: remove OnEventTriggeredAbility 2025-06-15 15:28:08 -04:00
Oleg Agafonov
d893d52190 tests: improved testable dialogs (added source code ref in result table for better IDE navigation, part of #13643, #13638); 2025-06-15 14:08:43 +04:00
Oleg Agafonov
4f8eb30e4c tests: removed outdated/unused code 2025-06-15 11:24:09 +04:00
Oleg Agafonov
4732fdf527 tests: improved testable dialogs (added assert messages in result table, added single dialog debugging, part of #13643, #13638); 2025-06-15 11:02:50 +04:00
xenohedron
7a44ee2a97 fix #12974 (zcc check in ReturnToBattlefieldUnderOwnerControlAttachedEffect)
add test
2025-06-14 21:20:17 -04:00
Oleg Agafonov
a98f72649a tests: improved testable dialogs with better/colored logs and asserts (part of #13643, #13638); 2025-06-14 21:10:32 +04:00
theelk801
d43e96eaf2 some more text fixes 2025-06-14 11:38:00 -04:00
theelk801
96cc1e40ee fix text for enchantments that turn into creatures permanently 2025-06-14 10:16:01 -04:00
Oleg Agafonov
bcac563272 tests: improved bad conditions test (related to #13752) 2025-06-14 18:09:19 +04:00
Oleg Agafonov
fe18aa9f4a tests: added verify test for bad conditions with NPE on empty source param (disabled by default, related to #13752) 2025-06-14 17:43:52 +04:00
Susucre
d7bc249bfd fix [FIN] Hope Estheim (missing watcher) 2025-06-14 14:21:30 +02:00
Oleg Agafonov
361c320890 tests: added automated tests to run all possible dialogs under AI (WIP, part of #13643, improved testable dialogs from #13638); 2025-06-14 16:20:24 +04:00
Oleg Agafonov
6ad2cdaa78 AI: improved stability:
- fixed game errors with source related filters (related to #13713);
- fixed game freeze in hand's cards selection (related to #13290);
- fixed game freeze in target amount selection with X=0 (related to #13290);
2025-06-14 16:03:44 +04:00
Oleg Agafonov
e8342e1f11 refactor: improved usage of getSourceObjectZoneChangeCounter, added docs (part of #13737) 2025-06-14 15:31:24 +04:00
xenohedron
492c7c9db8 a bunch of unrelated text fixes 2025-06-14 01:53:56 -04:00
xenohedron
519a9e0c49 small text generation improvement 2025-06-14 01:00:42 -04:00
xenohedron
a223b3f89c fix #13749 (Mirror of Life Trapping) 2025-06-14 00:48:29 -04:00
xenohedron
1b8602bd15 improve text generation for intervening if triggers 2025-06-14 00:46:07 -04:00
xenohedron
76c0124052 tests: enable properties for verify check parameters 2025-06-14 00:34:32 -04:00
xenohedron
24f030fa71
fix #13523 (trigger on becomes the target of recast spell) (#13740)
move findTargetingStackObject from CardUtil to Game, so saved data can be cleared with short living lki

add test cases
2025-06-14 00:09:40 -04:00
Grath
030e8ae5d3 Fix Zone to match on Transpose 2025-06-13 21:34:32 -04:00
theelk801
d6709cd7e9 [ACR] fix Fall of the First Civilization not drawing enough cards 2025-06-13 19:22:20 -04:00
theelk801
b47e33a394 [ACR] fix Fall of the First Civilization not allowing nonlands to be chosen 2025-06-13 18:54:07 -04:00
Grath
e943c4bec8 Fix filter on Red XIII, Proud Warrior 2025-06-13 18:30:09 -04:00
Oleg Agafonov
eec4f0ac7e merge fix 2025-06-13 23:52:59 +04:00
Oleg Agafonov
62eb116124 merge fix 2025-06-13 23:43:55 +04:00
Oleg Agafonov
849aea5946 tests: added fuzzy testing (disabled by default, added random phased out permanents, part of #13748); 2025-06-13 23:09:05 +04:00
theelk801
58b5bb76f9 various text fixes 2025-06-13 13:44:33 -04:00
theelk801
60c8d7254b small fix 2025-06-12 20:39:19 -04:00
theelk801
90d51013ad Delete ConditionalInterveningIfTriggeredAbility.java 2025-06-12 19:59:15 -04:00
theelk801
dbd07b9031 and when the elk saw the breadth of his domain, he wept, for there was no more ConditionalInterveningIfTriggeredAbility to refactor 2025-06-12 19:58:54 -04:00
theelk801
59f7126f64 all refactoring ConditionalInterveningIfTriggeredAbility and no play makes the elk a dull boy 2025-06-12 19:56:43 -04:00
theelk801
79a2f80563 listening to Pet Sounds on repeat while I refactor ConditionalInterveningIfTriggeredAbility 2025-06-12 19:56:43 -04:00
theelk801
cdcda710c8 people keep asking me if I'm refactoring ConditionalInterveningIfTriggeredAbility, and I haven't really had an answer. but now yeah, I'm thinking I'm refactoring ConditionalInterveningIfTriggeredAbility 2025-06-12 19:56:43 -04:00
Grath
0f93ecdb6b Add missing target to Intimidation Tactics 2025-06-12 17:48:43 -04:00
Grath
0d888a85d2 Add missing choose to Memories Returning. 2025-06-11 23:50:31 -04:00
theelk801
94009318b7 I am once again refactoring ConditionalInterveningIfTriggeredAbility 2025-06-11 12:49:31 -04:00
theelk801
9fb082d656 I can stop refactoring ConditionalInterveningIfTriggeredAbility whenever I want 2025-06-11 09:58:16 -04:00
theelk801
15d4ca2edc I have a fever and the only prescription is more refactoring ConditionalInterveningIfTriggeredAbility 2025-06-10 14:40:43 -04:00
theelk801
cc2d234d58 oh boy here I go refactoring ConditionalInterveningIfTriggeredAbility again 2025-06-10 11:30:43 -04:00
theelk801
d80e0402dd even more refactoring of ConditionalInterveningIfTriggeredAbility 2025-06-09 18:53:44 -04:00
theelk801
c24627f175 more refactoring of ConditionalInterveningIfTriggeredAbility 2025-06-09 14:23:30 -04:00