@Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { UUID cardId = this.getTargetPointer().getFirst(game, source); new ReturnFromGraveyardToBattlefieldTargetEffect().apply(game, source); Permanent permanent = game.getPermanent(cardId); if (permanent != null) { ContinuousEffectImpl effect = new BecomesColorTargetEffect(ObjectColor.BLACK, Duration.WhileOnBattlefield); effect.setTargetPointer(new FixedTarget(permanent, game)); game.addEffect(effect, source); effect = new BecomesCreatureTypeTargetEffect(Duration.WhileOnBattlefield, SubType.NIGHTMARE, false); effect.setTargetPointer(new FixedTarget(permanent, game)); game.addEffect(effect, source); } return true; } return false; } }
effect.setTargetPointer(new FixedTarget(creature1.getId())); game.addEffect(effect, source); effect = new GainAbilityTargetEffect(BlocksThisTurnMarkerAbility.getInstance(), Duration.EndOfTurn, ""); effect.setTargetPointer(new FixedTarget(creature1.getId())); game.addEffect(effect, source); } else { effect.setTargetPointer(new FixedTarget(creature1.getId())); game.addEffect(effect, source); effect = new GainAbilityTargetEffect(AttacksThisTurnMarkerAbility.getInstance(), Duration.EndOfTurn, ""); effect.setTargetPointer(new FixedTarget(creature1.getId())); game.addEffect(effect, source); effect.setTargetPointer(new FixedTarget(creature2.getId())); game.addEffect(effect, source); } else { effect.setTargetPointer(new FixedTarget(creature2.getId())); game.addEffect(effect, source);
if (permanent != null) { ContinuousEffectImpl effect = new AshiokNightmareWeaverAddTypeEffect(); effect.setTargetPointer(new FixedTarget(permanent, game)); game.addEffect(effect, source);