foul-magics/Mage/src/main/java/mage/target
xenohedron 9b3ff32a33
Rework sacrifice effects to support "can't be sacrificed" (#11587)
* add TargetSacrifice and canBeSacrificed

* SacrificeTargetCost refactor, now uses TargetSacrifice, constructors simplified, subclasses aligned

* fix text errors introduced by refactor

* refactor SacrificeEffect, SacrificeAllEffect, SacrificeOpponentsEffect

* cleanup keyword abilities involving sacrifice

* fix a bunch of custom effect classes involving sacrifice

* fix test choices

* update Assault Suit implementation

* fix filter check arguments

* add documentation to refactored common classes

* [CLB] Implement Jon Irenicus, Shattered One

* implement "{this} can't be sacrificed"

* add tests for Assault Suit and Jon Irenicus

* refactor out PlayerToRightGainsControlOfSourceEffect

* implement [LTC] Hithlain Rope

* add choose hint to all TargetSacrifice

---------

Co-authored-by: Evan Kranzler <theelk801@gmail.com>
Co-authored-by: PurpleCrowbar <26198472+PurpleCrowbar@users.noreply.github.com>
2023-12-31 14:10:37 -05:00
..
common Rework sacrifice effects to support "can't be sacrificed" (#11587) 2023-12-31 14:10:37 -05:00
targetadjustment [NEO] fixed implementation of March additional costs (#8524) 2022-02-12 14:27:35 -05:00
targetpointer clean some of the most frequent copy constructor / copy method (#11053) 2023-08-30 19:48:03 -04:00
Target.java refactor: improved target usage, replaced setNotTarget by withNotTarget 2023-09-07 05:35:54 +04:00
TargetAmount.java Code cleanup: protect all copy constructors (#10750) 2023-08-04 19:34:58 -04:00
TargetCard.java Code cleanup: protect all copy constructors (#10750) 2023-08-04 19:34:58 -04:00
TargetImpl.java docs: added additional comments and todos for "choose new targets" code 2023-09-16 10:19:23 +04:00
TargetObject.java Code cleanup: protect all copy constructors (#10750) 2023-08-04 19:34:58 -04:00
TargetPermanent.java Code cleanup: protect all copy constructors (#10750) 2023-08-04 19:34:58 -04:00
TargetPlayer.java [LTC] Implement The Black Gate (#10725) 2023-08-03 00:25:54 -04:00
Targets.java Merge fix 2023-11-07 02:54:23 +04:00
TargetSource.java Code cleanup: protect all copy constructors (#10750) 2023-08-04 19:34:58 -04:00
TargetSpell.java Code cleanup: protect all copy constructors (#10750) 2023-08-04 19:34:58 -04:00
TargetStackObject.java Code cleanup: protect all copy constructors (#10750) 2023-08-04 19:34:58 -04:00