package mage.abilities.effects.common.continuous; import mage.abilities.Ability; import mage.abilities.effects.ContinuousEffectImpl; import mage.constants.*; import mage.game.Game; import mage.game.permanent.Permanent; /** * Created by IGOUDT on 5-4-2017. */ public class BecomesCreatureIfVehicleEffect extends ContinuousEffectImpl { private CardType addedType = CardType.CREATURE; public BecomesCreatureIfVehicleEffect() { super(Duration.WhileOnBattlefield, Layer.TypeChangingEffects_4, SubLayer.NA, Outcome.Benefit); this.staticText = "As long as enchanted permanent is a Vehicle, it's a creature in addition to its other types"; } public BecomesCreatureIfVehicleEffect(final BecomesCreatureIfVehicleEffect effect) { super(effect); } @Override public boolean apply(Game game, Ability source) { Permanent aura = game.getPermanent(source.getSourceId()); if (aura != null && aura.getAttachedTo() != null) { Permanent enchanted = game.getPermanent(aura.getAttachedTo()); if (enchanted != null && enchanted.getSubtype(game).contains("Vehicle")) { enchanted.addCardType(addedType); } } return true; } @Override public BecomesCreatureIfVehicleEffect copy() { return new BecomesCreatureIfVehicleEffect(this); } }