xenohedron
4e2a5bd5a9
Cleanup activated ability constructors ( #11283 )
...
* simplify LoyaltyAbility constructors
* remove unused constructors in ActivatedAbilityImpl
* cleanup
* remove null rule setting
* another unused constructor
* fix escape ability reminder text
* escape text adjustment
* simplify Trigons, remove Costs constructor
* rework Villainous Ogre, remove another class and constructor
* fix test using wrong text for trigon ability
2023-10-08 22:55:31 -04:00
xenohedron
25e559dd9d
fix Blightwing Bandit ( #11282 )
2023-10-08 17:53:49 -04:00
xenohedron
1a6bbfa873
add test for Role token not created if target has protection ( #11281 )
2023-10-08 17:53:33 -04:00
Susucre
2d9f29b60e
[WHO] Implement Lunar Hatchling ( #11269 )
2023-10-08 17:53:13 -04:00
Susucre
8e1ef15b70
[LCI] Implement Ojer Axonil, Deepest Might ( #11195 )
...
* [LCI] Implement Ojer Axonil, Deepest Might
* add tests
* Alter text generation on ActivateIfConditionActivatedAbility to handle "and as a sorcery"
2023-10-08 17:52:36 -04:00
Susucre
b7ad2d8c86
[WHO] Implement Five Hundred Year Diary, Flatline, Frost Fair Lure Fish, Laser Screwdriver, Sonic Screwdriver ( #11274 )
...
* Add Hint to Confront the Unknown
* [WHO] Implement Five Hundred Year Diary
* [WHO] Implement Flatline
* [WHO] Implement Frost Fair Lure Fish
* [WHO] Implement Laser Screwdriver
* [WHO] Implement Sonic Screwdriver
2023-10-08 01:39:50 -04:00
Susucre
39522cdc59
[WHO] Implement Graham O'Brien, Iraxxa Empress of Mars, Sisterhood of Karn, Memory Worm, Flaming Tyrannosaurus ( #11275 )
...
* [WHO] Implement Graham O'Brien
* [WHO] Implement Iraxxa, Empress of Mars
* [WHO] Implement Sisterhood of Karn
* [WHO] Implement Memory Worm
* [WHO] Implement Flaming Tyrannosaurus
* fix token name
---------
Co-authored-by: xenohedron <xenohedron@users.noreply.github.com>
2023-10-08 01:38:09 -04:00
xenohedron
5ba47db226
text adjustment: untap all lands
2023-10-08 01:36:28 -04:00
Susucre
5c4cc02415
[WHO] Implement Banish to Another Universe, Crisis of Conscience, Cyberman Patrol, Cybermen Squadron, Dalek Squadron ( #11272 )
...
* [WHO] Implement Banish to Another Universe
* [WHO] Implement Crisis of Conscience
* [WHO] Implement Cyberman Patrol
* [WHO] Implement Cybermen Squadron
* [WHO] Implement Dalek Squadron
2023-10-06 23:24:05 -04:00
Susucre
f14479c53c
Add custom options for starting life total and starting hand size ( #11259 )
...
* add startHandSize / startLife to the custom option panel
* use the custom startLife/startHandsize in all Game Modes
2023-10-06 23:22:48 -04:00
xenohedron
6e18dbd2e4
new ExileReturnBattlefieldNextEndStepTargetEffect ( #11251 )
...
* adjust ExileThenReturnTargetEffect
* initial rework ExileReturnBattlefieldNextEndStepTargetEffect
(test coverage provided by CloudshiftTest)
* refactor some more cards
* refactor more straightforward cards
* add params and more refactoring
* text fixes
* maintain order in set
* fix Lae'zel's Acrobatics and add test
2023-10-05 22:04:12 -04:00
xenohedron
c8e2282a79
some more text improvements ( #11258 )
...
* text on Eldrazi Spawn token
* refactor: return Ability instead of void
* cleanup assigning null to staticText
* cleanup Mimic cycle and GainAbilitySourceEffect
adjust Groundling Pouncer
* remove hardcoded rule param from SpellCastControllerTriggeredAbility
* fix #11257
2023-10-05 22:04:02 -04:00
xenohedron
cd6c5aa7ac
improve usability of Rebound ability ( #11261 )
...
* remove boilerplate template comments
* fix Rebound, now need to choose only once
* fix text: Harmless Assault
2023-10-05 22:03:23 -04:00
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