Added cards

Added BlocksOrBecomesBlockedTriggeredAbility
This commit is contained in:
North 2011-05-18 23:43:09 +03:00
parent 0e7ef05c5d
commit 9c10d70121
15 changed files with 975 additions and 7 deletions

View file

@ -39,10 +39,11 @@ import mage.target.common.TargetCreaturePermanent;
*
* @author North
*/
public class BecomesBlockedTriggeredAbility extends TriggeredAbilityImpl<BecomesBlockedTriggeredAbility> {
public class BecomesBlockedTriggeredAbility extends TriggeredAbilityImpl<BecomesBlockedTriggeredAbility> {
public BecomesBlockedTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
this.addTarget(new TargetCreaturePermanent());
}
public BecomesBlockedTriggeredAbility(final BecomesBlockedTriggeredAbility ability) {
@ -52,9 +53,7 @@ public class BecomesBlockedTriggeredAbility extends TriggeredAbilityImpl<Become
@Override
public boolean checkTrigger(GameEvent event, Game game) {
if (event.getType() == EventType.BLOCKER_DECLARED && event.getTargetId().equals(this.getSourceId())) {
TargetCreaturePermanent target = new TargetCreaturePermanent();
target.add(event.getSourceId(), game);
this.addTarget(target);
this.getTargets().get(0).add(event.getSourceId(), game);
return true;
}
return false;

View file

@ -0,0 +1,54 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package mage.abilities.common;
import mage.Constants.Zone;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.effects.Effect;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import mage.target.common.TargetCreaturePermanent;
/**
*
* @author North
*/
public class BlocksOrBecomesBlockedTriggeredAbility extends TriggeredAbilityImpl<BlocksOrBecomesBlockedTriggeredAbility> {
public BlocksOrBecomesBlockedTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
this.addTarget(new TargetCreaturePermanent());
}
public BlocksOrBecomesBlockedTriggeredAbility(final BlocksOrBecomesBlockedTriggeredAbility ability) {
super(ability);
}
@Override
public boolean checkTrigger(GameEvent event, Game game) {
if (event.getType() == EventType.BLOCKER_DECLARED) {
if (event.getSourceId().equals(this.getSourceId())) {
this.getTargets().get(0).add(event.getTargetId(), game);
return true;
}
if (event.getTargetId().equals(this.getSourceId())) {
this.getTargets().get(0).add(event.getSourceId(), game);
return true;
}
}
return false;
}
@Override
public String getRule() {
return "Whenever {this} blocks or becomes blocked, " + super.getRule();
}
@Override
public BlocksOrBecomesBlockedTriggeredAbility copy() {
return new BlocksOrBecomesBlockedTriggeredAbility(this);
}
}

View file

@ -43,6 +43,7 @@ public class BlocksTriggeredAbility extends TriggeredAbilityImpl<BlocksTriggered
public BlocksTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
this.addTarget(new TargetCreaturePermanent());
}
public BlocksTriggeredAbility(final BlocksTriggeredAbility ability) {
@ -52,9 +53,7 @@ public class BlocksTriggeredAbility extends TriggeredAbilityImpl<BlocksTriggered
@Override
public boolean checkTrigger(GameEvent event, Game game) {
if (event.getType() == EventType.BLOCKER_DECLARED && event.getSourceId().equals(this.getSourceId())) {
TargetCreaturePermanent target = new TargetCreaturePermanent();
target.add(event.getTargetId(), game);
this.addTarget(target);
this.getTargets().get(0).add(event.getTargetId(), game);
return true;
}
return false;