Grath
db25bc16de
Fix SwitchPowerToughnessTargetEffect to apply to all Targets.
2025-07-04 16:47:42 -04:00
theelk801
b287a3cf0f
[EOE] Implement Embrace Oblivion
2025-07-02 11:16:23 -04:00
ssk97
7d7e517084
More target adding, reattach improves ( #13807 )
...
* Add Target to Provoke, Soulshift, remove from AttachableToRestrictedAbility
* Add Target to CurseOfInertia, FarrelsMantle, Incendiary, JubilantMascot, MantleOfTheAncients, MuseVessel, SoulSeizer. Fix DreamEater text.
* Fix CardImpl.cantBeAttachedBy to not early return with Protection abilities
* Improve tests
2025-07-01 22:08:27 -07:00
theelk801
e03a164bb3
add verify check for "custom" subtypes that become official
2025-07-01 17:18:05 -04:00
Oleg Agafonov
915e1308eb
refactor: removed unused and outdated code
2025-06-29 21:42:15 +04:00
Oleg Agafonov
450f7bd907
AI: fixed game freeze on free cast of multiple cards (part of #13638 , #13766 );
...
refactor: fixed that TargetCard doesn't work with Zone.ALL;
2025-06-29 15:24:27 +04:00
Oleg Agafonov
c259b3a4e4
merge fix
2025-06-29 01:09:16 +04:00
Oleg Agafonov
dfb84b09f3
server: improved performance and stability with broken AI and human games, e.g. less memory leaks and out of memory errors with AI (related to #11285 , #5023 );
2025-06-29 01:01:34 +04:00
ReSech
5626079be9
images: added new tokens for SLD ( #13795 )
2025-06-28 23:24:32 +04:00
Oleg Agafonov
25819bf519
Merge fix
2025-06-28 23:07:50 +04:00
Oleg Agafonov
c3a0c731d6
AI, tests: added stability tests to make sure AI simulations can process errors and freezes (part of #13638 , #13766 );
2025-06-28 22:51:34 +04:00
theelk801
a7cbab4854
[SLD] Implement Shadow the Hedgehog
2025-06-27 16:25:12 -04:00
theelk801
843668b830
[SLD] Implement Knuckles the Echidna
2025-06-27 16:04:54 -04:00
theelk801
61d678d748
[SLD] Implement Sonic the Hedgehog
2025-06-27 15:49:37 -04:00
Oleg Agafonov
135c594de1
AI, refactor: removed outdated and unused code like simple priority and combat implementation, simple combat damage calculator, etc (part of #13638 , #13766 )
2025-06-27 16:37:07 +04:00
ReSech
64bfa21b0c
images: correcting two token names from earlier commits ( #13793 )
2025-06-27 12:59:20 +04:00
Oleg Agafonov
f3e18e245f
AI: improved target amount targeting (part of #13638 , #13766 ):
...
- refactor: migrated AI's target amount code to shared selection logic;
- ai: fixed game freezes on some use cases;
- tests: added AI's testable dialogs for target amount;
- tests: improved load tests result table, added game cycles stats;
- Dwarven Catapult - fixed game error on usage;
2025-06-27 01:11:10 +04:00
ReSech
3f9dc37a71
images: added missing token for Research // Development ( #13783 )
2025-06-25 14:34:44 +04:00
xenohedron
489d77c21c
add docs about game default watchers
2025-06-24 23:56:49 -04:00
xenohedron
7883d90cc8
fix Cathedral Membrane, add test
...
use game default BlockedAttackerWatcher
2025-06-24 23:56:29 -04:00
Steven Knipe
3bf580233c
Replace PermanentIdPredicate.makeCompoundPredicate with preexisting PermanentReferenceInCollectionPredicate
2025-06-24 17:57:56 -07:00
theelk801
fda43021a4
add helper method for creating filters which only select from a collection of permanents
2025-06-23 09:38:05 -04:00
theelk801
747e4e5569
rework CreateTokenAttachSourceEffect to properly handle multiple tokens being created
2025-06-23 09:38:05 -04:00
ReSech
a4cb983401
images: added missing tokens to UND, UGL and WHO ( #13779 )
2025-06-22 11:51:12 +04:00
xenohedron
c07837f743
a couple text fixes
2025-06-21 19:18:31 -04:00
xenohedron
78e1ef6271
style fixes
...
filters should be declared `private static final`
2025-06-21 18:45:24 -04:00
ReSech
fbd57cb58f
images: added missing tokens for UNF, TDC & DSK ( #13775 )
2025-06-21 13:18:20 +04:00
ReSech
de383f6908
images: added new tokens for FIC/FIN, copy, monarch and other ( #13760 )
2025-06-21 08:19:04 +04:00
theelk801
8ff2a59981
[EOE] Implement Sami, Ship's Engineer
2025-06-20 22:27:00 -04:00
ssk97
5db4beac6c
Adding targets (Part 3/3) ( #13769 )
...
Adds target and/or target adjuster to cards whose abilities have the word "target", cards S-Z.
Add `spellCast` value to `CastSpellPaidBySourceTriggeredAbility`.
2025-06-20 18:58:13 -07:00
theelk801
b24a20fec4
refactor: create GainLifeAllEffect
2025-06-20 15:50:06 -04:00
theelk801
dfd09d9a78
[PIP] Implement Nuka-Nuke Launcher
2025-06-20 14:04:36 -04:00
theelk801
ebe9284428
[CLU] Implement Dimir Strandcatcher
2025-06-20 10:32:18 -04:00
theelk801
3827d8285c
[EOE] Implement Tezzeret, Cruel Captain
2025-06-20 09:25:52 -04:00
theelk801
4ce5d2d431
fix test failures
2025-06-20 08:52:41 -04:00
theelk801
9744819551
finish removing all filter constructors from TargetCreaturePermanent
2025-06-20 08:29:54 -04:00
theelk801
3e65021150
partially refactor TargetCreaturePermanent constructors
2025-06-20 08:29:53 -04:00
theelk801
80500b5b94
some more target filter refactors
2025-06-20 08:29:53 -04:00
theelk801
b19d8fea76
remove filter constructors from TargetControlledCreaturePermanent
2025-06-19 11:10:53 -04:00
theelk801
96b39c1210
replace some instances of EntersBattlefieldControlledTriggeredAbility with EntersBattlefieldAllTriggeredAbility
2025-06-19 11:10:14 -04:00
ssk97
219cc53cf4
Adding targets (Part 2/3) ( #13765 )
...
Adds target and/or target adjuster to cards whose abilities have the word "target", cards H-R.
fix EffectKeyValue text, NestOfScarabs
Add X value to effects for CycleTriggeredAbility, use with ValorsFlagship and SharkTyphoon, add test
2025-06-18 21:14:16 -07:00
theelk801
7be454fb92
some text fixes
2025-06-18 16:40:18 -04:00
theelk801
d2b507650b
replace all instances of ConditionalActivatedAbility with ActivateIfConditionActivatedAbility
2025-06-18 16:06:13 -04:00
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