Commit graph

12099 commits

Author SHA1 Message Date
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