theelk801
f89efd226a
add ConditionalActivatedAbility code to ActivateIfConditionActivatedAbility
2025-06-18 15:43:31 -04:00
theelk801
fe1b01114f
simplify ConditionalActivatedAbility constructors more
2025-06-18 15:42:18 -04:00
theelk801
bbbc2e5baf
use static upkeep method for IsStepCondition
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
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
xenohedron
7a44ee2a97
fix #12974 (zcc check in ReturnToBattlefieldUnderOwnerControlAttachedEffect)
...
add test
2025-06-14 21:20:17 -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
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
1b8602bd15
improve text generation for intervening if triggers
2025-06-14 00:46:07 -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
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
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
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
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
theelk801
a35b6efb87
fix test failure
2025-06-09 12:43:48 -04:00
theelk801
a895ac9803
some more refactoring of ConditionalInterveningIfTriggeredAbility
2025-06-09 12:06:11 -04:00
xenohedron
47f2a4fbe5
remove some unneeded filter classes, add static filters
...
related to #13734
2025-06-08 01:52:14 -04:00
xenohedron
663ada11d1
minor linting
2025-06-08 00:58:45 -04:00
xenohedron
50acfad59c
remove unnecessary method that missed source param
2025-06-08 00:57:07 -04:00
xenohedron
4e929dfbbd
remove unused class
2025-06-08 00:48:53 -04:00
padfoothelix
4bc30b4b8e
[WHO] Implement The Curse of Fenric ( #13718 )
...
---------
Co-authored-by: xenohedron <12538125+xenohedron@users.noreply.github.com>
2025-06-07 23:10:34 -04:00
Evan Kranzler
0e179ccc1f
Refactor SourceHasCounterCondition to be an IntCompareCondition ( #13724 )
...
* refactor SourceHasCounterCondition to be an IntCompareCondition
* add comment for arguments
2025-06-07 21:03:21 -04:00
Evan Kranzler
c7f2263ddb
Update rules for Sagas ( #13728 )
...
* update saga rules
* update test
* update test
2025-06-07 21:02:26 -04:00
Susucre
8495d6a74e
fix and test [FIN] Zack Fair
2025-06-07 20:09:47 +02:00
theelk801
baa52bc617
more refactoring of ConditionalInterveningIfTriggeredAbility
2025-06-07 12:28:14 -04:00
Oleg Agafonov
1112c9516d
other: added getMultiAmount testable dialogs in cheat menu (part of #13638 )
2025-06-07 08:50:29 +04:00
Oleg Agafonov
d465c9fb82
GUI, deck: improved bracket level calculations (added all infinite combos list and spellbook downloader, part of #13341 )
2025-06-06 18:56:03 +04:00
Grath
173da04c33
Fix ChooseCreatureEffect when used with non-AsEntersBattlefield.
...
Zenos yae Galvus was not letting you choose a creature when it entered, because getPermanentEntering returned null due to Zenos already being in play.
2025-06-05 23:45:02 -04:00
theelk801
d952e3b2ce
refactor more cards using ConditionalInterveningIfTriggeredAbility
2025-06-05 12:13:59 -04:00
theelk801
d05d3bbc97
refactor some instances of ConditionalInterveningIfTriggeredAbility
2025-06-04 14:56:12 -04:00
theelk801
b21fe38de2
refactor some abilities to use TriggeredAbility:: withInterveningIf
2025-06-04 09:00:10 -04:00