forked from External/mage
Added setTarget parameter to AttacksCreatureYourControlTriggeredAbility.
This commit is contained in:
parent
44d0df6bde
commit
49cec207c3
1 changed files with 18 additions and 1 deletions
|
|
@ -35,6 +35,7 @@ import mage.filter.common.FilterControlledCreaturePermanent;
|
|||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.target.targetpointer.FixedTarget;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -43,6 +44,7 @@ import mage.game.permanent.Permanent;
|
|||
public class AttacksCreatureYourControlTriggeredAbility extends TriggeredAbilityImpl<AttacksCreatureYourControlTriggeredAbility> {
|
||||
|
||||
protected FilterControlledCreaturePermanent filter;
|
||||
protected boolean setTargetPointer;
|
||||
|
||||
public AttacksCreatureYourControlTriggeredAbility(Effect effect) {
|
||||
this(effect, false);
|
||||
|
|
@ -51,15 +53,25 @@ public class AttacksCreatureYourControlTriggeredAbility extends TriggeredAbility
|
|||
public AttacksCreatureYourControlTriggeredAbility(Effect effect, boolean optional) {
|
||||
this(effect, optional, new FilterControlledCreaturePermanent());
|
||||
}
|
||||
|
||||
|
||||
public AttacksCreatureYourControlTriggeredAbility(Effect effect, boolean optional, boolean setTargetPointer) {
|
||||
this(effect, optional, new FilterControlledCreaturePermanent(), setTargetPointer);
|
||||
}
|
||||
|
||||
public AttacksCreatureYourControlTriggeredAbility(Effect effect, boolean optional, FilterControlledCreaturePermanent filter) {
|
||||
this(effect, optional, filter, false);
|
||||
}
|
||||
|
||||
public AttacksCreatureYourControlTriggeredAbility(Effect effect, boolean optional, FilterControlledCreaturePermanent filter, boolean setTargetPointer) {
|
||||
super(Zone.BATTLEFIELD, effect, optional);
|
||||
this.filter = filter;
|
||||
this.setTargetPointer = setTargetPointer;
|
||||
}
|
||||
|
||||
public AttacksCreatureYourControlTriggeredAbility(AttacksCreatureYourControlTriggeredAbility ability) {
|
||||
super(ability);
|
||||
this.filter = ability.filter;
|
||||
this.setTargetPointer = ability.setTargetPointer;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -67,6 +79,11 @@ public class AttacksCreatureYourControlTriggeredAbility extends TriggeredAbility
|
|||
if (event.getType() == GameEvent.EventType.ATTACKER_DECLARED) {
|
||||
Permanent sourcePermanent = game.getPermanent(event.getSourceId());
|
||||
if (sourcePermanent != null && filter.match(sourcePermanent, sourceId, controllerId, game)) {
|
||||
if (setTargetPointer) {
|
||||
for (Effect effect : this.getEffects()) {
|
||||
effect.setTargetPointer(new FixedTarget(event.getSourceId()));
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue