xenohedron
d9ca387fad
another batch of text gen improvements ( #11247 )
...
* describe targets: UntapTargetEffect
* describe targets: SetBasePowerToughnessTargetEffect
* cleanup text
* describe targets: RegenerateTargetEffect
* describe targets: PhaseOutTargetEffect
* adjust text
* remove superfluous param
* describe targets: TapAllTargetPlayerControlsEffect
* describe targets: TurnFaceUpTargetEffect
* describe targets: TransformTargetEffect
* describe targets: RemoveFromCombatTargetEffect
* describe targets: DetainTargetEffect
* cleanup DiscardHandTargetEffect
* describe targets: DrawCardTargetEffect
* describe targets: GainLifeTargetEffect
* describe targets: LoseLifeTargetEffect
* describe targets: ExchangeLifeTargetEffect
* describe targets: DamageTargetControllerEffect
2023-10-01 22:51:02 -04:00
xenohedron
4273d3b5ba
refactor: remove unnecessary "lockedIn" parameter ( #11244 )
...
* remove lockedIn from logic: BoostControlledEffect
* remove lockedIn field: BoostControlledEffect
* remove constructor parameter: BoostControlledEffect
* simplify BoostEnchantedEffect
* apply fix to BoostSourceEffect
* remove unused param
* refactor SetBasePowerToughnessAllEffect
* additional cleanup
2023-10-01 22:50:44 -04:00
xenohedron
2d24f067f3
cleanup some superfluous overrides ( #11243 )
2023-10-01 22:50:28 -04:00
xenohedron
bfbdf6b103
reimplement "don't cause abilities to trigger" effects ( #11242 )
2023-10-01 22:50:14 -04:00
Steven Knipe
6e539018c9
Prevent all alternative costs from being used with BASE_ALTERNATE spell types
2023-10-01 16:53:57 -07:00
Steven Knipe
76150b2793
Remove SpellAbilityType.FACE_DOWN_CREATURE, fix cast ability displayed on battlefield
2023-10-01 16:47:42 -07:00
xenohedron
78b5b8bdef
simplify LKI check using common method
2023-09-30 16:19:18 -04:00
xenohedron
cad560c016
add shorter buffer time options
2023-09-30 16:18:57 -04:00
Steven Knipe
967b4a7fb3
Characteristics check for spell cast filters
2023-09-26 21:05:55 -07:00
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
Steven Knipe
3f44e8e0e9
Remove dedicated land-morph special casing
2023-09-18 06:11:11 -07:00
Steven Knipe
f379319162
CastAsThoughItHadFlashAllEffect support characteristics
2023-09-18 06:06:52 -07:00
Steven Knipe
de8c7ea235
Update cast spell name check to use characteristics
2023-09-18 05:48:36 -07:00
Steven Knipe
9b05f824e0
Only modify the card copy in morph characteristic-setting
2023-09-18 04:02:17 -07:00
Steven Knipe
e7927cb50f
make Morph cost reduction a separate class (and fix to work with new system)
2023-09-18 03:33:20 -07:00
Steven Knipe
1220b73961
Convert tests to new format
2023-09-18 02:56:33 -07:00
Steven Knipe
3e4d439d18
Make Morph a SpellAbility (part 1)
2023-09-18 02:48:30 -07: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