Artemis Kearney
41874b0b4b
new feature: Emblem Cards ( #10498 )
...
* new feature: Emblem Cards
Allows match/tournament creator to specify cards to give each player
emblem versions of (or just the starting player for symmetric effects).
Technical details:
- new UI for specifying emblem cards (.dck files)
- available for all match/tournament types
- new class `EmblemOfCard`
- new method `copyWithZone` on `AbilityImpl` (used to make abilities
work from command zone)
- new fields on `GameOptions` and `MatchOptions` for emblem cards
- emblems are granted after mulligans, before first turn (technically
after Planechase starting plane creation)
* fixes
* defaults for emblem cards in match options (fixes quick game buttons)
* minor fixes
* use DeckCardInfo instead of Card for emblem cards options
* restore accessible parent properties
* fix images for card emblems
* look up cards in a way that preserves which art
* fix typos; make Emblem.sourceObject protected
* add descriptions to planechase and emblem cards
* fixes
* add some unit tests for known working cards
* fix author name
* add explanation comment
* fix up tests
* copyWithZone: no longer modifies zone for singleton abilities
* directly check for MageSingleton
2023-09-26 22:47:13 -04:00
xenohedron
04dba063aa
fix #11211 (CR 602.3)
...
(Golgothian Sylex and Apocalypse Chime)
2023-09-26 22:46:01 -04:00
xenohedron
e66c9900f7
fix #11210 and similar (LKI in TapEnchantedEffect)
2023-09-26 22:46:01 -04:00
xenohedron
4e561b6254
text generation improvements ( #11203 )
...
* update ETB trigger effect text gen
* set replace for common abilities
* fix remaining
* rename method, cleanup
* more fixes, better logic
2023-09-25 21:51:51 -04:00
xenohedron
1a13dcd091
Merge pull request #11185 from xenohedron/becomestarget
...
Rework "whenever ... becomes the target of ..., " abilities
2023-09-24 22:09:14 -04:00
xenohedron
0287efcffb
minor cleanup
2023-09-24 00:52:38 -04:00
xenohedron
1b9bcb92e6
improve targetMap usage, naming, docs per review
2023-09-24 00:22:21 -04:00
Susucre
b624da7aa8
[ICE] Implement Kjeldoran Guard ( #11184 )
...
closes #8593
2023-09-23 20:23:47 -04:00
Oleg Agafonov
8ebbeef8f4
Choose triggers order dialog - fixed game error on remember of multiple instances of the trigger ( fixes #11194 )
2023-09-23 20:16:55 +04:00
Oleg Agafonov
b80f440e15
game: fixed some NPE errors
2023-09-23 07:41:18 +04:00
xenohedron
cd5ee1c31d
text fixes
2023-09-22 23:38:16 -04:00
xenohedron
a7cda75b22
new AuraSpellPredicate for Brine Comber, Fugitive Druid (related to #11174 )
2023-09-22 23:38:16 -04:00
xenohedron
48d7d07f93
reimplement Fractured Loyalty
2023-09-22 23:38:16 -04:00
xenohedron
2a210404a2
reimplement more cards to use BecomesTargetSource
2023-09-22 23:38:16 -04:00
xenohedron
8f92a23302
rename class for consistency
2023-09-22 23:38:16 -04:00
xenohedron
d83d27dfa3
update SourceBecomesTargetTriggeredAbility with proper logic and trigger phrase generation
2023-09-22 23:38:15 -04:00
xenohedron
4ab36880fe
new common BecomesTargetSourceFirstTimeTriggeredAbility
2023-09-22 23:38:15 -04:00
xenohedron
6abe9ff821
new common BecomesTargetAnyTriggeredAbility
2023-09-22 23:38:15 -04:00
xenohedron
65523b9fec
new common BecomesTargetControllerTriggeredAbility
...
remove old classes
2023-09-22 23:14:41 -04:00
xenohedron
79b10856b8
use common methods in BecomesTargetAttachedTriggeredAbility
2023-09-22 23:14:41 -04:00
xenohedron
ee68726865
use common methods for WardAbility
2023-09-22 23:14:41 -04:00
xenohedron
0086c5e4a2
add util methods getTargetingStackObject, checkTargetMap
2023-09-22 23:14:41 -04:00
Oleg Agafonov
0bf4b63bcf
refactor: additional improves for mana choice in some cards, related to Naked Singularity from 81039d6e72
2023-09-23 06:39:01 +04:00
Oleg Agafonov
a9152e886f
refactor: improved ContinuousRuleModifying effects:
...
* removed unused apply methods;
* added miss overrides of checksEventType (related to wrong event usage, see 5f2edde20c ).
2023-09-22 21:32:55 +04:00
Oleg Agafonov
342979a55a
network: reworked client-server events (related to triggers dialog problem from #11173 ) ( #11189 )
...
* added bad connection mode to test client works on slow network, use -Dxmage.badconnection;
* added bad connection protection in events processing due event type;
* split events to different types (can be ignored, must be synced, etc);
* removed some unused server events.
2023-09-21 18:40:52 +04:00
xenohedron
fa8e93a29d
rework CombatDamageByToughnessAllEffect ( #11180 )
...
new CombatDamageByToughnessControlledEffect
add tests
fix #11179
2023-09-19 01:41:55 -04:00
xenohedron
0ad678ff56
enable multiple added subtypes in CreateTokenCopyTargetEffect ( #11181 )
...
fix #11176
2023-09-19 01:41:40 -04:00
Oleg Agafonov
11528e7d35
server: removed useless fastDbMode, improved db stats logs on updating
2023-09-17 22:16:12 +04:00
Oleg Agafonov
5f15e962da
Bestow ability - fixed that it could be used with other alternative costs
2023-09-17 15:03:16 +04:00
Oleg Agafonov
4e77ccb381
refactor: removed unused data from special action, improved code (related to #11137 )
2023-09-17 14:37:49 +04:00
Oleg Agafonov
a4daad1f92
docs: added additional comments and todos for "choose new targets" code
2023-09-16 10:19:23 +04:00
ssk97
b6dbc782be
Fix casting Transformed ( #10778 )
...
* Combine casting Transformed into a shared SpellAbility, apply transform effect before spell is cast
* Minor cleanup
* Use effect.apply() rather than game.applyEffects()
* Add test with Maskwood Nexus
2023-09-15 17:56:32 -04:00
Susucre
8859637844
[CMB1] Implement Innocuous Insect ( #11143 )
2023-09-15 17:56:08 -04:00
Susucre
ecf4b11d2e
[CMB1] Implement Evil Boros Charm ( #11142 )
2023-09-15 17:55:54 -04:00
Susucre
58fdbc9345
[CMB1] Implement Frogkin Kidnapper ( #11137 )
2023-09-15 17:55:24 -04:00
Susucre
f4b0b83612
[UNF] Implement Comet, Stellar Pup ( #10925 )
2023-09-15 17:55:11 -04:00
Oleg Agafonov
6f12d62882
tests: fixed random fails in RadiateTest (wrong MOR predicate code, #9550 )
2023-09-15 06:30:10 +04:00
Susucre
b62b089659
Autosave limited decks on submit ( #11147 )
...
* Autosave limited decks in gamelogs folder
* differentiate LIMITED_SIDEBOARD_BUILDING from LIMITED_BUILDING
2023-09-12 21:43:13 -04:00
Oleg Agafonov
be4bff6097
game: fixed wrong usage of batch events (related to #10870 )
2023-09-13 04:42:46 +04:00
Oleg Agafonov
ba3b0e4cb7
Merge fix
2023-09-13 03:49:59 +04:00
Oleg Agafonov
316e0dc1f3
refactor: improved damaged batch events, added todo to fix (related to #10870 )
2023-09-13 03:14:19 +04:00
Vivian Greenslade
8c1a4d1fa6
[WOC] Implement Misleading Signpost ( #11084 )
...
* [WOC] Implement Misleading Signpost
* moved effect to common file
* added unit test
* added battle to test
* updated effect name, fixed list of defenders
* fix test text
* added text for effect
* fixed target
* made changes as per PR comments
* added unit test for 508.7c
2023-09-09 15:32:04 -04:00
Susucre
8b79053deb
[WOC] Implement Court of Garenbrig ( #10970 )
...
* add DoubleCounterOnEachPermanentEffect
* Clean text generation of ConditionalOneShotEffect to prevent "if if"
* [WOC] Implement Court of Garenbrig
* better rule generation
* fix target, add tests
2023-09-09 15:31:49 -04:00
Susucre
249e7bf31b
[WOC] Implement Court of Embereth ( #10971 )
...
* Clean text generation of ConditionalOneShotEffect to prevent "if if"
* [WOC] Implement Court of Embereth
2023-09-08 23:57:36 -04:00
Susucre
cc4a5f9959
Fix DamagedPlayerBatchOnePlayerEvent not checking the target is the player. ( #11128 )
2023-09-08 23:56:31 -04:00
xenohedron
144b261fc2
another batch of text fixes
2023-09-07 02:22:16 -04:00
xenohedron
8c9ecb9b9a
adjust Cascade ability reminder text
2023-09-07 02:22:16 -04:00
xenohedron
34b671bc83
cleanup add color/subtype attached effects
2023-09-07 02:22:16 -04:00
xenohedron
72be1856f7
describe targets: look at hand; can't be blocked
2023-09-07 02:22:16 -04:00
Oleg Agafonov
4b3a19b4d5
refactor: improved target usage, replaced setNotTarget by withNotTarget
2023-09-07 05:35:54 +04:00