@Override public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) { Permanent permanent = affectedObjectList.get(0).getPermanent(game); if (permanent != null) { switch (layer) { case TypeChangingEffects_4: if (sublayer == SubLayer.NA) { permanent.getCardType().clear(); permanent.getSubtype(game).clear(); if (!permanent.getCardType().contains(CardType.ENCHANTMENT)) { permanent.getCardType().add(CardType.ENCHANTMENT); } } break; } return true; } this.discard(); return false; }
@Override public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) { Permanent permanent = game.getPermanent(source.getSourceId()); if (permanent == null) { return false; } switch (layer) { case TypeChangingEffects_4: if (sublayer == SubLayer.NA) { permanent.getSubtype(game).clear(); permanent.getSubtype(game).add(SubType.ANGEL); } break; } return true; }
@Override public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) { Permanent permanent = game.getPermanent(source.getSourceId()); if (permanent == null) { return false; } switch (layer) { case TypeChangingEffects_4: if (sublayer == SubLayer.NA) { permanent.getSubtype(game).clear(); permanent.getSubtype(game).add(SubType.BIRD, SubType.GIANT); } break; } return true; }
@Override public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) { Permanent permanent = game.getPermanent(source.getSourceId()); if (permanent == null) { return false; } switch (layer) { case TypeChangingEffects_4: if (sublayer == SubLayer.NA) { permanent.getSubtype(game).clear(); permanent.getSubtype(game).add(SubType.DRAGON); } break; } return true; }
@Override public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) { Permanent permanent = affectedObjectList.get(0).getPermanent(game); if (permanent != null) { switch (layer) { case TypeChangingEffects_4: if (sublayer == SubLayer.NA) { permanent.getCardType().clear(); permanent.getSubtype(game).clear(); if (!permanent.getCardType().contains(CardType.ENCHANTMENT)) { permanent.getCardType().add(CardType.ENCHANTMENT); } } break; case AbilityAddingRemovingEffects_6: if (sublayer == SubLayer.NA) { permanent.getAbilities().clear(); } break; } return true; } this.discard(); return false; }
@Override public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) { Permanent permanent = game.getPermanent(source.getSourceId()); if (permanent != null) { switch (layer) { case TypeChangingEffects_4: permanent.getCardType().clear(); permanent.addCardType(CardType.LAND); permanent.getSubtype(game).clear(); break; } return true; } return false; }
@Override public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) { Permanent permanent = game.getPermanent(source.getSourceId()); if (permanent == null) { return false; } switch (layer) { case TypeChangingEffects_4: if (sublayer == SubLayer.NA) { permanent.getSubtype(game).clear(); permanent.getSubtype(game).add(SubType.BEAR); permanent.getSubtype(game).add(SubType.BERSERKER); } break; } return true; }
@Override public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) { for (Permanent land : game.getBattlefield().getAllActivePermanents(filter, source.getControllerId(), game)) { switch (layer) { case AbilityAddingRemovingEffects_6: land.removeAllAbilities(source.getSourceId(), game); land.addAbility(new WhiteManaAbility(), source.getSourceId(), game); break; case TypeChangingEffects_4: land.getSubtype(game).clear(); land.getSubtype(game).add(SubType.PLAINS); break; } } return true; }
tmpSourceCard.displayName = "Face Down"; tmpSourceCard.superTypes.clear(); tmpSourceCard.subTypes.clear(); tmpSourceCard.cardTypes.clear(); tmpSourceCard.cardTypes.add(CardType.CREATURE);
@Override public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) { for (MageObjectReference mor : affectedObjectList) { Permanent permanent = mor.getPermanent(game); if (permanent != null) { switch (layer) { case TypeChangingEffects_4: if (sublayer == SubLayer.NA) { if (!permanent.isArtifact()) { permanent.addCardType(CardType.ARTIFACT); } if (!permanent.isCreature()) { permanent.addCardType(CardType.CREATURE); } permanent.getSubtype(game).clear(); } break; case PTChangingEffects_7: if (sublayer == SubLayer.SetPT_7b) { permanent.getPower().setValue(5); permanent.getToughness().setValue(5); } } } } return true; }
@Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { Set<Card> cardsToExile = new HashSet<>(this.getTargetPointer().getTargets(game, source).size()); for (UUID targetId : this.getTargetPointer().getTargets(game, source)) { Card card = controller.getGraveyard().get(targetId, game); if (card != null) { cardsToExile.add(card); } } controller.moveCardsToExile(cardsToExile, source, game, true, null, ""); for (Card card : cardsToExile) { if (game.getState().getZone(card.getId()) == Zone.EXILED) { EmptyToken token = new EmptyToken(); CardUtil.copyTo(token).from(card); token.removePTCDA(); token.getPower().modifyBaseValue(4); token.getToughness().modifyBaseValue(4); token.getColor(game).setColor(ObjectColor.BLACK); token.getSubtype(game).clear(); token.getSubtype(game).add(SubType.ZOMBIE); token.putOntoBattlefield(1, game, source.getSourceId(), source.getControllerId()); } } return true; } return false; } }
@Override public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) { List<Permanent> permanents = game.getBattlefield().getAllActivePermanents(new FilterArtifactPermanent(), source.getControllerId(), game); for (Permanent permanent : permanents) { if (permanent != null) { switch (layer) { case TypeChangingEffects_4: if (sublayer == SubLayer.NA) { if (!permanent.isArtifact()) { permanent.addCardType(CardType.ARTIFACT); } if (!permanent.isCreature()) { permanent.addCardType(CardType.CREATURE); } permanent.getSubtype(game).clear(); } break; case PTChangingEffects_7: if (sublayer == SubLayer.SetPT_7b) { permanent.getPower().setValue(5); permanent.getToughness().setValue(5); } } } } return true; }
private void copyFromToken(Token token, Game game, boolean reset) { this.name = token.getName(); this.abilities.clear(); if (reset) { this.abilities.addAll(token.getAbilities()); } else { // first time -> create ContinuousEffects only once for (Ability ability : token.getAbilities()) { this.addAbility(ability, game); } } this.abilities.setControllerId(this.controllerId); this.manaCost.clear(); for (ManaCost cost : token.getManaCost()) { this.getManaCost().add(cost.copy()); } this.cardType.clear(); this.cardType.addAll(token.getCardType()); this.color = token.getColor(game).copy(); this.frameColor = token.getFrameColor(game); this.frameStyle = token.getFrameStyle(); this.supertype.clear(); this.supertype.addAll(token.getSuperType()); this.subtype.clear(); this.subtype.addAll(token.getSubtype(game)); this.isAllCreatureTypes = token.isAllCreatureTypes(); this.tokenDescriptor = token.getTokenDescriptor(); }
licid.getCardType().clear(); licid.addCardType(CardType.ENCHANTMENT); licid.getSubtype(game).clear(); licid.getSubtype(game).add(SubType.AURA); break;
permanent.getCardType().clear(); permanent.addCardType(CardType.CREATURE); permanent.getSubtype(game).clear(); permanent.getSubtype(game).add(SubType.DRAGON); permanent.getSuperType().clear();
public static void setPermanentToFaceDownCreature(MageObject mageObject) { mageObject.getPower().modifyBaseValue(2); mageObject.getToughness().modifyBaseValue(2); mageObject.getAbilities().clear(); mageObject.getColor(null).setColor(new ObjectColor()); mageObject.setName(""); mageObject.getCardType().clear(); mageObject.addCardType(CardType.CREATURE); mageObject.getSubtype(null).clear(); mageObject.getSuperType().clear(); mageObject.getManaCost().clear(); if (mageObject instanceof Permanent) { ((Permanent) mageObject).setExpansionSetCode(""); ((Permanent) mageObject).setRarity(Rarity.SPECIAL); } } }
case TypeChangingEffects_4: if (sublayer == SubLayer.NA) { land.getSubtype(game).clear(); land.getSubtype(game).add(choice);
token.getToughness().modifyBaseValue(4); token.getColor(game).setColor(ObjectColor.BLACK); token.getSubtype(game).clear(); token.getSubtype(game).add(SubType.ZOMBIE); if (token.putOntoBattlefield(1, game, source.getSourceId(), source.getControllerId())) {
@Override public boolean apply(Game game, Ability source) { Permanent permanent = game.getPermanent(source.getSourceId()); permanent.setName(token.getName()); permanent.getColor(game).setColor(token.getColor(game)); permanent.getCardType().clear(); for (CardType type : token.getCardType()) { permanent.addCardType(type); } permanent.getSubtype(game).clear(); for (SubType type : token.getSubtype(game)) { permanent.getSubtype(game).add(type); } permanent.getSuperType().clear(); for (SuperType type : token.getSuperType()) { permanent.addSuperType(type); } permanent.getAbilities().clear(); for (Ability ability : token.getAbilities()) { permanent.addAbility(ability, game); } permanent.getPower().setValue(token.getPower().getValue()); permanent.getToughness().setValue(token.getToughness().getValue()); //permanent.getLoyalty().setValue(card.getLoyalty().getValue()); return true; }
permanent.getSubtype(game).clear(); for (SubType type : card.getSubtype(game)) { if (!permanent.hasSubtype(type, game)) {