mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 21:29:17 -08:00
refactor: fixed dies events support in single cards (part 2);
This commit is contained in:
parent
0f8416cfb1
commit
c3343110f3
29 changed files with 114 additions and 11 deletions
|
|
@ -416,6 +416,8 @@ public abstract class TriggeredAbilityImpl extends AbilityImpl implements Trigge
|
|||
@Override
|
||||
public final void setLeavesTheBattlefieldTrigger(boolean leavesTheBattlefieldTrigger) {
|
||||
this.leavesTheBattlefieldTrigger = leavesTheBattlefieldTrigger;
|
||||
|
||||
// TODO: replace override of isInUseableZone in dies only triggers by like "isDiesOnlyTrigger" here
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ public class GodEternalDiesTriggeredAbility extends TriggeredAbilityImpl {
|
|||
|
||||
public GodEternalDiesTriggeredAbility() {
|
||||
super(Zone.ALL, null, true);
|
||||
this.setLeavesTheBattlefieldTrigger(true);
|
||||
setLeavesTheBattlefieldTrigger(true);
|
||||
}
|
||||
|
||||
private GodEternalDiesTriggeredAbility(GodEternalDiesTriggeredAbility ability) {
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ public class PutIntoGraveFromBattlefieldAllTriggeredAbility extends TriggeredAbi
|
|||
|
||||
public PutIntoGraveFromBattlefieldAllTriggeredAbility(Effect effect, boolean optional, FilterPermanent filter, boolean setTargetPointer, boolean onlyToControllerGraveyard) {
|
||||
super(Zone.BATTLEFIELD, effect, optional);
|
||||
this.setLeavesTheBattlefieldTrigger(true);
|
||||
setLeavesTheBattlefieldTrigger(true);
|
||||
this.filter = filter;
|
||||
this.onlyToControllerGraveyard = onlyToControllerGraveyard;
|
||||
this.setTargetPointer = setTargetPointer;
|
||||
|
|
|
|||
|
|
@ -21,7 +21,9 @@ public class ZoneChangeTriggeredAbility extends TriggeredAbilityImpl {
|
|||
protected final Zone toZone;
|
||||
|
||||
public ZoneChangeTriggeredAbility(Zone fromZone, Zone toZone, Effect effect, String triggerPhrase, boolean optional) {
|
||||
// fix 3
|
||||
this(toZone == null ? Zone.ALL : toZone, fromZone, toZone, effect, triggerPhrase, optional);
|
||||
//this(fromZone == null ? Zone.ALL : fromZone, fromZone, toZone, effect, triggerPhrase, optional);
|
||||
}
|
||||
|
||||
public ZoneChangeTriggeredAbility(Zone worksInZone, Zone fromZone, Zone toZone, Effect effect, String triggerPhrase, boolean optional) {
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public class UntilYourNextTurnDelayedTriggeredAbility extends DelayedTriggeredAb
|
|||
public UntilYourNextTurnDelayedTriggeredAbility(TriggeredAbility ability) {
|
||||
super(null, Duration.UntilYourNextTurn, false);
|
||||
if (ability.isLeavesTheBattlefieldTrigger()) {
|
||||
this.setLeavesTheBattlefieldTrigger(true);
|
||||
setLeavesTheBattlefieldTrigger(true);
|
||||
}
|
||||
this.ability = ability;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public class ConditionalInterveningIfTriggeredAbility extends TriggeredAbilityIm
|
|||
public ConditionalInterveningIfTriggeredAbility(TriggeredAbility ability, Condition condition, String text) {
|
||||
super(ability.getZone(), null);
|
||||
if (ability.isLeavesTheBattlefieldTrigger()) {
|
||||
this.setLeavesTheBattlefieldTrigger(true);
|
||||
setLeavesTheBattlefieldTrigger(true);
|
||||
}
|
||||
this.ability = ability;
|
||||
this.condition = condition;
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ public class OrTriggeredAbility extends TriggeredAbilityImpl {
|
|||
}
|
||||
|
||||
if (ability.isLeavesTheBattlefieldTrigger()) {
|
||||
this.setLeavesTheBattlefieldTrigger(true);
|
||||
setLeavesTheBattlefieldTrigger(true);
|
||||
}
|
||||
}
|
||||
setTriggerPhrase(generateTriggerPhrase());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue