Don't erase a permanent's attacking/blocking info when it leaves the battlefield. Kithkin Mourncaller and Kardur Doomscourge no longer need their own special TriggeredAbility class

This commit is contained in:
Alex W. Jackson 2022-09-12 10:43:21 -04:00
parent 7c2f76b46b
commit c84d9d2168
8 changed files with 32 additions and 167 deletions

View file

@ -90,7 +90,6 @@ public abstract class PermanentImpl extends CardImpl implements Permanent {
protected int minBlockedBy = 1;
// maximal number of creatures the creature can be blocked by 0 = no restriction
protected int maxBlockedBy = 0;
protected boolean removedFromCombat;
protected boolean deathtouched;
protected Map<String, List<UUID>> connectedCards = new HashMap<>();
@ -720,11 +719,6 @@ public abstract class PermanentImpl extends CardImpl implements Permanent {
return maxBlockedBy;
}
@Override
public boolean isRemovedFromCombat() {
return removedFromCombat;
}
@Override
public UUID getControllerId() {
return this.controllerId;
@ -1477,22 +1471,17 @@ public abstract class PermanentImpl extends CardImpl implements Permanent {
}
@Override
public boolean removeFromCombat(Game game, boolean withInfo) {
public boolean removeFromCombat(Game game, boolean withEvent) {
if (this.isAttacking() || this.blocking > 0) {
return game.getCombat().removeFromCombat(objectId, game, withInfo);
return game.getCombat().removeFromCombat(objectId, game, withEvent);
} else if (this.isPlaneswalker(game)) {
if (game.getCombat().getDefenders().contains(getId())) {
game.getCombat().removePlaneswalkerFromCombat(objectId, game, withInfo);
game.getCombat().removePlaneswalkerFromCombat(objectId, game);
}
}
return false;
}
@Override
public void setRemovedFromCombat(boolean removedFromCombat) {
this.removedFromCombat = removedFromCombat;
}
@Override
public boolean imprint(UUID imprintedCard, Game game) {
if (!game.getExile().containsId(imprintedCard, game)) {