Commit graph

1831 commits

Author SHA1 Message Date
xenohedron
1816c8ad73 many the text fixes 2023-11-19 21:37:37 -05:00
xenohedron
f46ac4c5ee fix LoseLifeControllerAttachedEffect
resolves #11421
2023-11-19 00:03:09 -05:00
xenohedron
73daf67cc2 remove unused class 2023-11-19 00:03:09 -05:00
ssk97
bea33c7493
Costs Tag Tracking part 2: Tag system and X values, reworked deep copy code (#11406)
* Implement Costs Tag Map system

* Use Costs Tag Map system to store X value for spells, abilities, and resolving permanents

* Store Bestow without target's tags
Change functions for getting tags and storing the tags of a new permanent

* Create and use deep copy function in CardUtil, add Copyable<T> to many classes

* Fix Hall Of the Bandit Lord infinite loop

* Add additional comments

* Don't store null/empty costs tags maps (saves memory)

* Fix two more Watchers with Ability variable

* Add check for exact collection types during deep copy

* Use generics instead of pure type erasure during deep copy

* convert more code to using deep copy helper, everything use Object copier, add EnumMap

* fix documentation

* Don't need the separate null checks anymore (handled in deepCopyObject)

* Minor cleanup
2023-11-16 23:12:32 +04:00
ssk97
ec4c79e0e0
Fix copying subabilities to no longer duplicate them (#11399)
* Fix Subability copy bug (fix #10526 )

* Cards which copy abilities of other cards should not copy subabilities.

* Enable previously-failing tests

* Find more addAbility that should be done without subabilities

* Add documentation to addAbility function

* Add warning about not using basic addAbility when copying from a source

* Invert withSubabilities to fromExistingObject
2023-11-12 19:57:39 -05:00
xenohedron
9eeaf9cae1 fix text
fix Jade Seedstones craft cost
2023-11-09 00:39:40 -05:00
xenohedron
4a250c48a5 implement [LCI] Kutzil, Malamet Exemplar 2023-11-08 23:09:39 -05:00
Jeff Wadsworth
3b90880fa3 Fixed #11381
The rest of these types of cards need to be fixed as well.
2023-11-07 17:09:56 -06:00
Susucre
2f3161e83d [LCI] Implement Abuelo's Awakening 2023-11-05 17:11:21 +01:00
xenohedron
35ec41d8e0 more text adjustments 2023-11-04 18:41:56 -04:00
Susucre
357ebec523 fix Fungal Fortitude text 2023-11-04 18:41:30 +01:00
Susucre
674661b605 [LCI] Implement Fungal Fortitude 2023-11-04 17:10:35 +01:00
ssk97
52bb2c5d71
[WHO] added Ace's Baseball Bat, consolidate related code (#11387)
* TalruumPiper use MustBeBlockedByAllSourceEffect

* Both of Bident Of Thassa's abilities can be made generic

* Goblin Diplomats use generic class (with custom text)

* create MustBeBlockedByAtLeastOneAttachedEffect common effect

* Add Ace's Baseball Bat
2023-11-04 14:19:21 +04:00
xenohedron
987d49520a implement [LCI] Sage of Days 2023-11-04 00:14:53 -04:00
xenohedron
33781ac614 text fixes 2023-11-01 23:28:07 -04:00
Alexander Novotny
87921494b8
Improve trigger auto ordering and aura attachment (Lynde QOL fixes) (#10648)
* Lynde trigger references objects

* Changed triggered ability auto-order to care about targets

* Copy card test

* When a copy effect comes in as a copy of an aura,
it checks if it's already attached before asking player to attach

* add comments and null check per review

---------

Co-authored-by: xenohedron <xenohedron@users.noreply.github.com>
2023-11-01 21:40:04 -04:00
ssk97
38dd582adc
fix Learn effect to not get lesson cards from exile (#11374) 2023-11-01 21:39:43 -04:00
xenohedron
ebf71941a9
cleanup EntersBattlefieldAllTriggeredAbility and subclasses (#11372)
* comment out rule override to use generated text instead

* new ETB Opponent trigger class

* text improvements

* update ETB cast trigger

* remove controlledtext parameter

* more text improvements

* more fixes

* lots of other fixes

* most of the remaining fixes

* fix halana text

* fix smoke shroud text

* improve text gen

* remove rule param from constructors

* minor adjustments

* whenever a player puts

* final fixes

* standardize when/whenever phrase generation
2023-10-31 21:00:45 -04:00
xenohedron
92e089663f fix more text 2023-10-30 19:24:10 -04:00
xenohedron
69fbfe8fd6 fix some text 2023-10-29 02:21:54 -04:00
xenohedron
9b7fe2fcf6 new MoveCountersFromTargetToSourceEffect 2023-10-28 19:07:03 -04:00
xenohedron
1d93c310c3 implement [LCI] Explorer's Cache
create common MoveCountersFromSourceToTargetEffect

amend
2023-10-28 19:07:03 -04:00
Susucre
c6441b31a5 [LCI] Implement Get Lost 2023-10-27 17:38:14 +02:00
Susucre
b6cedee854 [LCI] Implement Ojer Taq, Deepest Foundation 2023-10-26 19:49:29 +02:00
xenohedron
a7b3d6434d fix text: Skeleton Scavengers 2023-10-26 01:31:17 -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