Commit graph

13110 commits

Author SHA1 Message Date
xenohedron
708ec9b8e9 text fixes and filter corrections: GainAbilityControlledEffect 2023-10-03 23:05:52 -04:00
xenohedron
c8da0f6216 fix Morph reminder text 2023-10-03 23:04:56 -04:00
xenohedron
9456650693
Merge pull request #11178 from ssk97/MorphRework_v2
Morph rework and check spell characteristics
2023-10-02 23:01:40 -04:00
Susucre
7c454fb24c
Rework AsThough handling to allow choosing/affecting a specific alternate cast (#11114)
* Rework AsThoughEffect

* some cleanup of MageIdentifer

* refactor ActivationStatus

* fix bolas's citadel

* fix a couple of the Alternative Cost being applied too broadly.

* fix Risen Executioneer

* allow cancellation of AsThough choice.

* fix One with the Multiverse

* cleanup cards needing their own MageIdentifier

* last couple of fixes

* apply reviews for cleaner code.

* some more cleanup
2023-10-02 18:42:54 -04:00
xenohedron
ba135abc78
refactor: common classes for LeaveBattlefieldExile (#11248) 2023-10-02 18:42:25 -04:00
Oleg Agafonov
9d1ad256a5 Standard Bearer - fixed that cards with TargetsHaveToTargetPermanentIfAbleEffect can brake multi-modes cards (can be related to #9769) 2023-10-02 14:12:56 +04:00
Steven Knipe
26af2602e4 Merge branch 'master' of https://github.com/magefree/mage.git into MorphRework_v2
# Conflicts:
#	Mage.Sets/src/mage/cards/b/Banefire.java
2023-10-01 22:59:27 -07:00
Steven Knipe
97d35f1d3d Add comment for getSpellAbilityFromEvent 2023-10-01 22:55:20 -07:00
Steven Knipe
639aba4592 CastAsThoughItHadFlashAllEffect applies function variant throws error instead of returning false 2023-10-01 22:50:22 -07:00
Steven Knipe
47fc192a36 "ERROR," -> "Wrong code usage:" in IllegalArgumentException 2023-10-01 22:41:24 -07:00
Steven Knipe
731b391306 return guard Style change 2023-10-01 22:25:37 -07:00
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