refactor: fixed dies events support in single cards (part 2);

This commit is contained in:
Oleg Agafonov 2024-11-06 21:29:27 +04:00
parent 0f8416cfb1
commit c3343110f3
29 changed files with 114 additions and 11 deletions

View file

@ -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

View file

@ -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) {

View file

@ -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;

View file

@ -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) {

View file

@ -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;
}

View file

@ -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;

View file

@ -46,7 +46,7 @@ public class OrTriggeredAbility extends TriggeredAbilityImpl {
}
if (ability.isLeavesTheBattlefieldTrigger()) {
this.setLeavesTheBattlefieldTrigger(true);
setLeavesTheBattlefieldTrigger(true);
}
}
setTriggerPhrase(generateTriggerPhrase());