[DTK] Added 8 blue cards.

This commit is contained in:
LevelX2 2015-03-17 01:33:12 +01:00
parent 618d4ac70d
commit 5a991e591d
12 changed files with 896 additions and 12 deletions

View file

@ -29,9 +29,11 @@ package mage.abilities.common;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.effects.Effect;
import mage.constants.SetTargetPointer;
import mage.constants.Zone;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.target.targetpointer.FixedTarget;
/**
*
@ -39,12 +41,20 @@ import mage.game.events.GameEvent;
*/
public class ExploitCreatureTriggeredAbility extends TriggeredAbilityImpl {
private SetTargetPointer setTargetPointer;
public ExploitCreatureTriggeredAbility(Effect effect, boolean optional) {
this(effect, optional, SetTargetPointer.NONE);
}
public ExploitCreatureTriggeredAbility(Effect effect, boolean optional, SetTargetPointer setTargetPointer) {
super(Zone.ALL, effect, optional);
this.setTargetPointer = setTargetPointer;
}
public ExploitCreatureTriggeredAbility(final ExploitCreatureTriggeredAbility ability) {
super(ability);
this.setTargetPointer = ability.setTargetPointer;
}
@Override
@ -59,7 +69,15 @@ public class ExploitCreatureTriggeredAbility extends TriggeredAbilityImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
return event.getSourceId().equals(getSourceId());
if (event.getSourceId().equals(getSourceId())) {
for (Effect effect: getEffects()) {
if (setTargetPointer.equals(SetTargetPointer.PERMANENT)) {
effect.setTargetPointer(new FixedTarget(event.getTargetId()));
}
}
return true;
}
return false;
}
@Override
@ -67,3 +85,4 @@ public class ExploitCreatureTriggeredAbility extends TriggeredAbilityImpl {
return "When {this} exploits a creature, " + super.getRule();
}
}

View file

@ -47,6 +47,7 @@ import mage.game.permanent.Permanent;
public class DontUntapInControllersNextUntapStepTargetEffect extends ContinuousRuleModifyingEffectImpl {
private int validForTurnNum;
private String targetName;
/**
* Attention: This effect won't work with targets controlled by different controllers
@ -57,14 +58,16 @@ public class DontUntapInControllersNextUntapStepTargetEffect extends ContinuousR
super(Duration.Custom, Outcome.Detriment, false, true);
}
public DontUntapInControllersNextUntapStepTargetEffect(String text) {
public DontUntapInControllersNextUntapStepTargetEffect(String targetName) {
this();
this.staticText = text;
this.targetName = targetName;
}
public DontUntapInControllersNextUntapStepTargetEffect(final DontUntapInControllersNextUntapStepTargetEffect effect) {
super(effect);
this.validForTurnNum = effect.validForTurnNum;
this.targetName = effect.targetName;
}
@Override
@ -139,12 +142,15 @@ public class DontUntapInControllersNextUntapStepTargetEffect extends ContinuousR
@Override
public String getText(Mode mode) {
if (staticText.length() > 0) {
return staticText + " doesn't untap during its controller's next untap step";
}
else {
return "Target " + mode.getTargets().get(0).getTargetName() + " doesn't untap during its controller's next untap step";
}
if (staticText != null && !staticText.isEmpty()) {
return staticText;
}
if (targetName.length() > 0) {
return targetName + " doesn't untap during its controller's next untap step";
}
else {
return "Target " + mode.getTargets().get(0).getTargetName() + " doesn't untap during its controller's next untap step";
}
}
}

View file

@ -80,7 +80,7 @@ public class ReturnFromGraveyardToHandTargetEffect extends OneShotEffect {
}
StringBuilder sb = new StringBuilder();
Target target = mode.getTargets().get(0);
sb.append("Return ");
sb.append("return ");
if (target.getMaxNumberOfTargets() > 1) {
if (target.getMaxNumberOfTargets() != target.getNumberOfTargets()) {
sb.append("up to ");