[DSK] Implement The Jolly Balloon Man

This commit is contained in:
theelk801 2024-09-03 12:06:11 -04:00
parent f5a0134c5e
commit 5f4ce7a397
4 changed files with 110 additions and 6 deletions

View file

@ -25,7 +25,6 @@ import mage.util.functions.CopyTokenFunction;
import mage.util.functions.EmptyCopyApplier;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author LevelX2
@ -46,7 +45,8 @@ public class CreateTokenCopyTargetEffect extends OneShotEffect {
private UUID attachedTo = null;
private final boolean attacking;
private boolean becomesArtifact;
private ObjectColor color;
private ObjectColor onlyColor;
private ObjectColor extraColor;
private CounterType counter;
private final boolean gainsFlying;
private boolean hasHaste;
@ -139,7 +139,8 @@ public class CreateTokenCopyTargetEffect extends OneShotEffect {
this.attachedTo = effect.attachedTo;
this.attacking = effect.attacking;
this.becomesArtifact = effect.becomesArtifact;
this.color = effect.color;
this.onlyColor = effect.onlyColor;
this.extraColor = effect.extraColor;
this.counter = effect.counter;
this.gainsFlying = effect.gainsFlying;
this.hasHaste = effect.hasHaste;
@ -243,8 +244,11 @@ public class CreateTokenCopyTargetEffect extends OneShotEffect {
token.addSubType(additionalSubType);
}
}
if (color != null) {
token.setColor(color);
if (onlyColor != null) {
token.setColor(onlyColor);
}
if (extraColor != null) {
token.getColor().addColor(extraColor);
}
additionalAbilities.stream().forEach(token::addAbility);
if (permanentModifier != null) {
@ -336,7 +340,12 @@ public class CreateTokenCopyTargetEffect extends OneShotEffect {
}
public CreateTokenCopyTargetEffect setOnlyColor(ObjectColor color) {
this.color = color;
this.onlyColor = color;
return this;
}
public CreateTokenCopyTargetEffect setExtraColor(ObjectColor extraColor) {
this.extraColor = extraColor;
return this;
}

View file

@ -90,6 +90,7 @@ public enum SubType {
AZRA("Azra", SubTypeSet.CreatureType),
// B
BADGER("Badger", SubTypeSet.CreatureType),
BALLOON("Balloon", SubTypeSet.CreatureType),
BARABEL("Barabel", SubTypeSet.CreatureType, true), // Star Wars
BARBARIAN("Barbarian", SubTypeSet.CreatureType),
BARD("Bard", SubTypeSet.CreatureType),