mirror of
https://github.com/magefree/mage.git
synced 2025-12-28 14:32:06 -08:00
[DTK] Added 8 blue cards.
This commit is contained in:
parent
618d4ac70d
commit
5a991e591d
12 changed files with 896 additions and 12 deletions
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 ");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue