foul-magics/Mage/src/main/java/mage/abilities/common
Evan Kranzler 5390963d38
Fix handling of damage to permanents (WIP) (#7592)
* initial refactor of damage events

* cleaned up some instances of classes that need to be removed

* removed old damage event classes

* removed outdated imports

* temporarily refactor Everlasting Torment (this will need to be changed more)

* updated damage handling to use new changes

* some reworking of lethal/excess damage plus a test

* updated damage marking to handle planeswalkers

* updated implementation of Phyrexian Unlife

* updated implementation of Everlasting Torment

* added some more excess damage tests

* small change to wither check
2021-02-22 17:11:24 -05:00
..
delayed Refactor: removed default comment headers 2021-02-21 08:15:16 +04:00
ActivateAsSorceryActivatedAbility.java [KHM] Implemented Littjara Mirrorlake 2021-01-22 15:55:03 -05:00
ActivateIfConditionActivatedAbility.java Fixed Caged Zombie in issue #6643 2020-08-27 20:23:41 +01:00
ActivateOnlyByOpponentActivatedAbility.java Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
ActivatePlaneswalkerLoyaltyAbilityTriggeredAbility.java Implement more m21 cards (#6612) 2020-06-07 16:02:07 -04:00
AllyEntersBattlefieldTriggeredAbility.java
AsEntersBattlefieldAbility.java
AttachableToRestrictedAbility.java Refactor: removed default comment headers 2021-02-21 08:15:16 +04:00
AttachedToCreatureSourceTriggeredAbility.java Fixing issues with Changelings and general problems with creature types (ready to merge) (#7098) 2020-10-30 22:32:59 -04:00
AttackedByCreatureTriggeredAbility.java Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
AttacksAllTriggeredAbility.java * Some target pointer changes and code clean up. 2020-07-26 00:16:14 +02:00
AttacksAloneTriggeredAbility.java Refactor: replaced sourceId by source and introduced source param in some methods; 2020-12-12 20:23:19 +04:00
AttacksAndIsNotBlockedTriggeredAbility.java fixed implementation of cards which trigger on unblocked attackers 2021-02-15 19:04:17 -05:00
AttacksAttachedTriggeredAbility.java Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
AttacksCreatureYouControlTriggeredAbility.java [CMR] Implemented Reyav, Master Smith 2020-11-07 12:47:38 -05:00
AttacksEachCombatStaticAbility.java Refactor: removed default comment headers 2021-02-21 08:15:16 +04:00
AttacksFirstTimeTriggeredAbility.java
AttacksOrBlocksEnchantedTriggeredAbility.java
AttacksOrBlocksTriggeredAbility.java
AttacksTriggeredAbility.java Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
AttacksWithCreaturesTriggeredAbility.java Refactor: removed default comment headers 2021-02-21 08:15:16 +04:00
AuraAttachedTriggeredAbility.java
BecomesAuraAttachToManifestSourceEffect.java Refactor: replaced sourceId by source and introduced source param in some methods; 2020-12-12 20:23:19 +04:00
BecomesBlockedAllTriggeredAbility.java
BecomesBlockedAttachedTriggeredAbility.java - Added Pretender's Claim and Unnatural Hunger 2020-08-11 18:13:30 -05:00
BecomesBlockedByCreatureTriggeredAbility.java - Fixed #6732 2020-06-26 16:51:17 -05:00
BecomesBlockedSourceTriggeredAbility.java - Added Port Inspector and Robber Fly 2020-08-07 15:36:43 -05:00
BecomesExertSourceTriggeredAbility.java Refactor: replaced sourceId by source and introduced source param in some methods; 2020-12-12 20:23:19 +04:00
BecomesMonstrousSourceTriggeredAbility.java
BecomesMonstrousTriggeredAbility.java Refactor: removed default comment headers 2021-02-21 08:15:16 +04:00
BecomesRenownedSourceTriggeredAbility.java Refactor: removed default comment headers 2021-02-21 08:15:16 +04:00
BecomesTappedAttachedTriggeredAbility.java Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
BecomesTappedSourceTriggeredAbility.java Fixed rule text on BecomesTappedSourceTriggeredAbility (#7312) 2020-12-29 14:25:10 -05:00
BecomesTappedTriggeredAbility.java
BecomesTargetAttachedTriggeredAbility.java Refactor: replaced sourceId by source and introduced source param in some methods; 2020-12-12 20:23:19 +04:00
BecomesTargetControllerSpellTriggeredAbility.java Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
BecomesTargetTriggeredAbility.java Implemented Warden of the Woods 2020-06-10 20:38:43 -04:00
BeginningOfCombatTriggeredAbility.java
BeginningOfDrawTriggeredAbility.java * Panopticon Plane - Fixed draw card abilities. 2020-01-11 01:25:26 +01:00
BeginningOfEndStepTriggeredAbility.java Tests: added verify test for wrong mdash usage and fixed related cards (#7457), added tests for (#7460); 2021-01-29 11:35:13 +04:00
BeginningOfPostCombatMainTriggeredAbility.java Refactor: removed default comment headers 2021-02-21 08:15:16 +04:00
BeginningOfPreCombatMainTriggeredAbility.java
BeginningOfUntapTriggeredAbility.java Refactor: added missing getPlayersInRange in cards code (to ignore leaved/lost players); 2019-12-26 05:24:44 +04:00
BeginningOfUpkeepTriggeredAbility.java [ELD] fixed Midnight Clock error (fixes #7168) 2020-11-06 07:09:31 -05:00
BeginningOfYourEndStepTriggeredAbility.java Implement garruk cards (#6650) 2020-06-16 21:09:26 -04:00
BlocksAttachedTriggeredAbility.java
BlocksOrBecomesBlockedByOneOrMoreTriggeredAbility.java * Removed unused imports. 2020-08-22 11:51:34 +02:00
BlocksOrBecomesBlockedSourceTriggeredAbility.java - Refactored BlocksOrBecomesBlockedTriggeredAbility to BlocksOrBecomesBlockedSourceTriggeredAbility 2020-06-29 11:45:26 -05:00
BlocksOrBecomesBlockedTriggeredAbility.java
BlocksSourceTriggeredAbility.java - Refactored BlocksTriggeredAbility to BlocksSourceTriggeredAbility 2020-08-10 11:49:03 -05:00
BlocksTriggeredAbility.java Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
CanBeYourCommanderAbility.java Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
CanBlockOnlyFlyingAbility.java Refactor: removed default comment headers 2021-02-21 08:15:16 +04:00
CantBeCounteredSourceAbility.java [M20] various text fixes 2020-10-08 09:15:38 -04:00
CantBlockAbility.java Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
CantHaveMoreThanAmountCountersSourceAbility.java Refactor: replaced sourceId by source and introduced source param in some methods; 2020-12-12 20:23:19 +04:00
CastCommanderAbility.java * Kestia, the Cultivator - Fixed bestow from the Command Zone doesn't attach her to the creature you target (fixes #6763). 2020-07-03 13:17:04 +02:00
CastOnlyDuringPhaseStepSourceAbility.java
CastOnlyIfConditionIsTrueAbility.java
CastOnlyIfConditionIsTrueEffect.java
CastSecondSpellTriggeredAbility.java [KHM] Implemented Doomskar Oracle 2021-01-09 11:20:01 -05:00
ChancellorAbility.java updated language for various user choices 2021-02-15 10:19:43 -05:00
ControlledCreaturesDealCombatDamagePlayerTriggeredAbility.java Refactor: replaced sourceId by source and introduced source param in some methods; 2020-12-12 20:23:19 +04:00
ControllerAssignCombatDamageToBlockersAbility.java Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
ControllerDivideCombatDamageAbility.java Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
ControllerPlaysLandTriggeredAbility.java Refactor: removed default comment headers 2021-02-21 08:15:16 +04:00
ControlsPermanentsControllerTriggeredAbility.java Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
CrewWithToughnessAbility.java * GUI: new reworked GUI and card render engine, card icons and dozens of other fixes (see full list in related PR); 2021-01-30 16:38:55 +04:00
CycleAllTriggeredAbility.java
CycleControllerTriggeredAbility.java Implemented Crystalline Resonance 2020-04-07 20:52:03 -04:00
CycleOrDiscardControllerTriggeredAbility.java Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
CycleTriggeredAbility.java fixed Yidaro, Wandering Monster 2020-04-21 21:56:38 -04:00
DamageAsThoughNotBlockedAbility.java Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
DealsCombatDamageToACreatureTriggeredAbility.java Fix handling of damage to permanents (WIP) (#7592) 2021-02-22 17:11:24 -05:00
DealsCombatDamageToAPlayerTriggeredAbility.java Fix handling of damage to permanents (WIP) (#7592) 2021-02-22 17:11:24 -05:00
DealsCombatDamageTriggeredAbility.java
DealsDamageAttachedTriggeredAbility.java Fix handling of damage to permanents (WIP) (#7592) 2021-02-22 17:11:24 -05:00
DealsDamageGainLifeSourceTriggeredAbility.java Fix handling of damage to permanents (WIP) (#7592) 2021-02-22 17:11:24 -05:00
DealsDamageToACreatureAllTriggeredAbility.java Fix handling of damage to permanents (WIP) (#7592) 2021-02-22 17:11:24 -05:00
DealsDamageToACreatureAttachedTriggeredAbility.java Fix handling of damage to permanents (WIP) (#7592) 2021-02-22 17:11:24 -05:00
DealsDamageToACreatureTriggeredAbility.java Fix handling of damage to permanents (WIP) (#7592) 2021-02-22 17:11:24 -05:00
DealsDamageToAPlayerAllTriggeredAbility.java [KHM] Implemented Cosima, God of the Voyage 2021-01-28 10:50:14 -05:00
DealsDamageToAPlayerAttachedTriggeredAbility.java
DealsDamageToAPlayerTriggeredAbility.java Fix handling of damage to permanents (WIP) (#7592) 2021-02-22 17:11:24 -05:00
DealsDamageToOneOrMoreCreaturesTriggeredAbility.java Refactor: removed default comment headers 2021-02-21 08:15:16 +04:00
DealsDamageToOpponentTriggeredAbility.java
DealtDamageAndDiedTriggeredAbility.java
DealtDamageAttachedTriggeredAbility.java Fix handling of damage to permanents (WIP) (#7592) 2021-02-22 17:11:24 -05:00
DealtDamageToSourceTriggeredAbility.java Fix handling of damage to permanents (WIP) (#7592) 2021-02-22 17:11:24 -05:00
DestroyPlaneswalkerWhenDamagedTriggeredAbility.java Fix handling of damage to permanents (WIP) (#7592) 2021-02-22 17:11:24 -05:00
DiesAttachedTriggeredAbility.java Changed DiesAttachedTriggeredAbility.java to check if description has "equipped", if so, writes "Whenever" instead of "When" 2020-08-21 17:23:39 +01:00
DiesCreatureTriggeredAbility.java Refactor: correct predicate packages 2021-02-21 08:00:21 +04:00
DiesSourceTriggeredAbility.java * Some standardisation of dies trigger handling (fixes #7063 Midnight Reaper triggers when dies face down). 2020-09-18 16:15:21 +02:00
DiesThisOrAnotherCreatureOrPlaneswalkerTriggeredAbility.java * Some code cleanup. 2020-09-18 16:19:03 +02:00
DiesThisOrAnotherCreatureTriggeredAbility.java * Some code cleanup. 2020-09-18 16:19:03 +02:00
DiscardedByOpponentTriggeredAbility.java Refactor: replaced sourceId by source and introduced source param in some methods; 2020-12-12 20:23:19 +04:00
DiscardsACardOpponentTriggeredAbility.java
DrawCardControllerTriggeredAbility.java
DrawCardOpponentTriggeredAbility.java
DrawSecondCardTriggeredAbility.java updated implementation of abilities which trigger on the second card in a turn being drawn 2020-09-23 19:52:30 -04:00
EnchantedCreatureBlockedTriggeredAbility.java - First part of fix #6660 2020-06-22 09:40:39 -05:00
EnchantedPlayerAttackedTriggeredAbility.java
EndOfCombatTriggeredAbility.java Refactor: removed default comment headers 2021-02-21 08:15:16 +04:00
EntersBattlefieldAbility.java Fixed error with no abilities 2020-01-04 20:18:16 +04:00
EntersBattlefieldAllTriggeredAbility.java [KHM] Implemented Wolverine Riders 2021-01-27 10:12:08 -05:00
EntersBattlefieldControlledTriggeredAbility.java
EntersBattlefieldOrAttacksAllTriggeredAbility.java Refactor: replaced sourceId by source and introduced source param in some methods; 2020-12-12 20:23:19 +04:00
EntersBattlefieldOrAttacksSourceTriggeredAbility.java Refactor: replaced sourceId by source and introduced source param in some methods; 2020-12-12 20:23:19 +04:00
EntersBattlefieldOrDiesSourceTriggeredAbility.java * Fixed that the dies trigger of Ashen Rider also triggers if Ashen Rider is copied by other creatures (e.g. Volrath the Shapestealer) (fixes #7107). 2020-12-23 18:02:00 +01:00
EntersBattlefieldOrLeavesSourceTriggeredAbility.java Refactor: replaced sourceId by source and introduced source param in some methods; 2020-12-12 20:23:19 +04:00
EntersBattlefieldTappedAbility.java
EntersBattlefieldThisOrAnotherTriggeredAbility.java added new class for "this or another" triggered abilities 2020-06-25 20:14:48 -04:00
EntersBattlefieldTriggeredAbility.java [KHM] Implemented Codespell Cleric 2021-01-22 12:52:54 -05:00
EntersBattlefieldUntappedTriggeredAbility.java fixed ETB untapped triggered abilities 2019-09-21 10:40:57 -04:00
EscapesWithAbility.java Refactoring methods which add counters to track which player adds the counters (ready for review) (#7448) 2021-01-26 19:06:13 -05:00
ExertCreatureControllerTriggeredAbility.java
ExploitCreatureTriggeredAbility.java - Fixed #5925 and related issues. 2019-12-10 10:25:07 -06:00
FetchLandActivatedAbility.java fixed some more text 2021-01-30 11:08:35 -05:00
FirstSpellOpponentsTurnTriggeredAbility.java Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
ForetellSourceControllerTriggeredAbility.java - refactored Ethereal Valkyrie to work with Split/MDFC/Adventure cards as per weirddan455 commit. 2021-02-05 16:37:44 -06:00
GainLifeControllerTriggeredAbility.java
GainLifeFirstTimeTriggeredAbility.java * Gain life for the first time each turn - added card hint about conditional; 2020-11-29 00:10:31 +04:00
GoadAttachedAbility.java Fixed GoadAttachedAbility in a 2 player game (fixes #7466) 2021-02-03 16:00:21 -06:00
GodEternalDiesTriggeredAbility.java * Long-Term Plans and Volrath's Dungeon - fixed that it shows card name in game logs to other players (#7179); 2020-11-18 12:44:58 +04:00
LandfallAbility.java [ZNR] Implemented Prowling Felidar 2020-09-02 15:54:49 -04:00
LeavesBattlefieldAllTriggeredAbility.java * Some target pointer changes and code clean up. 2020-07-26 00:16:14 +02:00
LeavesBattlefieldTriggeredAbility.java - Fixed #5854 2019-11-27 23:56:22 -06:00
LegendarySpellAbility.java Improved some source related filters in effects: 2020-12-25 19:06:36 +04:00
LicidAbility.java Fixing issues with Changelings and general problems with creature types (ready to merge) (#7098) 2020-10-30 22:32:59 -04:00
LimitedTimesPerTurnActivatedAbility.java * My turn condition - added card hints about turn; 2020-01-12 21:59:56 +04:00
MutatesSourceTriggeredAbility.java Implemented Zagoth Mamba 2020-04-02 17:16:42 -04:00
OneOrMoreCountersAddedTriggeredAbility.java
OnEventTriggeredAbility.java
OpponentPlaysLandTriggeredAbility.java Refactor: removed default comment headers 2021-02-21 08:15:16 +04:00
OpponentSacrificesNonTokenPermanentTriggeredAbility.java
OpponentSacrificesPermanentTriggeredAbility.java
PassAbility.java Fixed that fused cards allows to cast from graveyard (see prev commit 63dbf5f40b); 2020-05-24 09:21:49 +04:00
PayMoreToCastAsThoughtItHadFlashAbility.java Refactor: removed default comment headers 2021-02-21 08:15:16 +04:00
PhaseInTriggeredAbility.java
PlaneswalkerEntersWithLoyaltyCountersAbility.java Refactor: removed default comment headers 2021-02-21 08:15:16 +04:00
PlayLandAsCommanderAbility.java Commander: improved lands compatibility with cost modification and restriction effects; 2019-05-23 14:57:26 +04:00
PutCardIntoGraveFromAnywhereAllTriggeredAbility.java [ZNC] some text fixes 2021-02-02 10:14:44 -05:00
PutIntoGraveFromAnywhereSourceAbility.java
PutIntoGraveFromAnywhereSourceTriggeredAbility.java
PutIntoGraveFromBattlefieldAllTriggeredAbility.java Refactor: replaced sourceId by source and introduced source param in some methods; 2020-12-12 20:23:19 +04:00
PutIntoGraveFromBattlefieldSourceTriggeredAbility.java
SacrificeAllTriggeredAbility.java Refactor: removed default comment headers 2021-02-21 08:15:16 +04:00
SacrificeIfCastAtInstantTimeTriggeredAbility.java Refactor: replaced sourceId by source and introduced source param in some methods; 2020-12-12 20:23:19 +04:00
SacrificePermanentTriggeredAbility.java [CMR] various text fixes 2020-11-11 09:08:16 -05:00
SacrificeSourceTriggeredAbility.java Refactor: replaced sourceId by source and introduced source param in some methods; 2020-12-12 20:23:19 +04:00
SagaAbility.java [KHM] Implemented The Trickster-God's Heist 2021-01-09 16:36:34 -05:00
SanctuaryInterveningIfTriggeredAbility.java Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
SignatureSpellCastOnlyWithOathbreakerEffect.java Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
SimpleActivatedAbility.java Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
SimpleEvasionAbility.java * War's Toll - fixed that is applies restriction attack effect from any zone (from command, hand, etc); 2020-01-22 12:33:03 +04:00
SimpleStaticAbility.java
SimpleTriggeredAbility.java Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
SkipUntapOptionalAbility.java
SpellCastAllTriggeredAbility.java
SpellCastControllerTriggeredAbility.java [KHM] Implemented Boreal Outrider 2021-01-21 19:16:04 -05:00
SpellCastOpponentTriggeredAbility.java
SpellCounteredControllerTriggeredAbility.java Refactor: removed default comment headers 2021-02-21 08:15:16 +04:00
TapForManaAllTriggeredAbility.java * Some target pointer changes and code clean up. 2020-07-26 00:16:14 +02:00
TapForManaAllTriggeredManaAbility.java * Fixed available mana calculation for Cryptic Trilobite and Titans' Nest. Added some improvements for available mana calculation of conditional mana. 2020-08-16 01:16:52 +02:00
TapLandForManaAllTriggeredAbility.java Refactor: replaced sourceId by source and introduced source param in some methods; 2020-12-12 20:23:19 +04:00
TapLandForManaAllTriggeredManaAbility.java * Fixed available mana calculation for Cryptic Trilobite and Titans' Nest. Added some improvements for available mana calculation of conditional mana. 2020-08-16 01:16:52 +02:00
TurnedFaceUpAllTriggeredAbility.java * Enters battlefield, played land triggered abilities - fixed multiple rollback errors on missing target; 2019-12-24 16:19:57 +04:00
TurnedFaceUpSourceTriggeredAbility.java Refactor: removed default comment headers 2021-02-21 08:15:16 +04:00
TurnFaceUpAbility.java Refactoring methods which add counters to track which player adds the counters (ready for review) (#7448) 2021-01-26 19:06:13 -05:00
UnattachedTriggeredAbility.java * Some minor code clean up and a test. 2020-07-10 09:06:25 +02:00
WhileSearchingPlayFromLibraryAbility.java Revert "format: organize imports" 2020-02-05 02:17:00 +04:00
WinsCoinFlipTriggeredAbility.java
ZoneChangeAllTriggeredAbility.java * Fix of some problems of zone change related triggered abilities that had not been correctly implemented (fixes #6586). 2020-05-29 14:41:24 +02:00
ZoneChangeTriggeredAbility.java Refactor: replaced sourceId by source and introduced source param in some methods; 2020-12-12 20:23:19 +04:00