Commit graph

2070 commits

Author SHA1 Message Date
Susucre
92a4f41b2b fire EXPLORED event after the exploring is done 2023-10-27 14:04:16 +02:00
Susucre
b6cedee854 [LCI] Implement Ojer Taq, Deepest Foundation 2023-10-26 19:49:29 +02:00
Susucre
1a205ff193 [LCI] Implement Jadelight Spelunker 2023-10-26 12:22:18 +02:00
xenohedron
18c6596cc0
Improvements to player selection of TargetAmount (#11341) 2023-10-26 02:12:15 -04:00
xenohedron
a2e64280e5 refactor explore effect 2023-10-26 01:31:17 -04:00
xenohedron
a7b3d6434d fix text: Skeleton Scavengers 2023-10-26 01:31:17 -04:00
theelk801
e52e5e59c4 [LCI] Implement Miner's Guidewing 2023-10-24 23:04:34 -04:00
theelk801
488b984281 [LCI] Implement Hidden Courtyard 2023-10-24 20:10:29 -04:00
Susucre
5b58ff242b
[VIS] Implement Matopi Golem (#11323)
fix Skeleton Scavengers & Soldevi Sentry, and refactor a common effect for all 3.
2023-10-21 15:28:03 +02:00
xenohedron
4d2d062a04 text gen adjustment 2023-10-20 01:15:34 -04:00
PurpleCrowbar
764bc096cd
Refactor self-suspend cards (#11317) 2023-10-18 20:54:49 +01:00
Susucre
4143a97998
[WHO] Implement Start the TARDIS (#11311)
Create a new effect PlaneswalkEffect, moving existing code from the planechase roll of chaos dice.
2023-10-17 12:00:28 +02:00
Susucre
dd1852352a
[WHO] Implement Regenerations Restored (#11312) 2023-10-16 20:38:34 +02:00
xenohedron
7f2924b764 text fixes 2023-10-15 00:56:25 -04:00
theelk801
eb489e3ed4 [WHO] Implement Judoon Enforcers 2023-10-14 19:05:02 -04:00
Oleg Agafonov
06138ab3d3 AI: refactor PassAbility usage, added additional runtime checks 2023-10-14 15:57:19 +04:00
PurpleCrowbar
7bc5105c1f
Implement Time Travel mechanic (#11299)
Implement [WHO] Wibbly-wobbly, Timey-wimey
2023-10-13 23:28:29 -04:00
xenohedron
2013895530 lots of text fixes 2023-10-13 23:27:44 -04:00
xenohedron
0081279d15 improve DontUntapInControllersUntapStepAllEffect 2023-10-13 23:27:44 -04:00
xenohedron
578b6821b5 remove unnecessary null check 2023-10-12 19:00:21 -04:00
xenohedron
87756a5cfa text fixes 2023-10-09 23:52:57 -04:00
ssk97
5e095afdb0
Implement Prototype ability (#11249)
Prototype is a SpellAbilityType, for which alternate costs are permitted. It has a continuous effect that applies on the battlefield as well as a method to modify the spell on the stack. Permanents have an isPrototyped flag that copy effects can check explicitly (same brittle method as transformed permanents use; reworking copy effects to streamline them is a separate scope).

Many test cases have been added to confirm functionality (thanks to Zerris for additional test suggestions).

---------

Co-authored-by: Susucre <34709007+Susucre@users.noreply.github.com>
Co-authored-by: Evan Kranzler <theelk801@gmail.com>
Co-authored-by: xenohedron <xenohedron@users.noreply.github.com>
2023-10-09 21:06:19 -04:00
xenohedron
1a6bbfa873
add test for Role token not created if target has protection (#11281) 2023-10-08 17:53:33 -04:00
xenohedron
5ba47db226 text adjustment: untap all lands 2023-10-08 01:36:28 -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
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
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
bfbdf6b103
reimplement "don't cause abilities to trigger" effects (#11242) 2023-10-01 22:50:14 -04:00
xenohedron
78b5b8bdef simplify LKI check using common method 2023-09-30 16:19:18 -04:00
Steven Knipe
967b4a7fb3 Characteristics check for spell cast filters 2023-09-26 21:05:55 -07:00
xenohedron
e66c9900f7 fix #11210 and similar (LKI in TapEnchantedEffect) 2023-09-26 22:46:01 -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
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
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
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
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