change Annihilator, Battalion and Battlecry to extend ThisAttacksTrigger

master
ShawnieBoy 2015-11-26 13:48:04 +00:00
parent 8db5af9cfa
commit 376eafc12b
4 changed files with 16 additions and 15 deletions

View File

@ -7,7 +7,7 @@ import magic.model.choice.MagicTargetChoice;
import magic.model.event.MagicEvent;
import magic.model.event.MagicSacrificePermanentEvent;
public class AnnihilatorTrigger extends MagicWhenAttacksTrigger {
public class AnnihilatorTrigger extends ThisAttacksTrigger {
private final int amount;
public AnnihilatorTrigger(final int amount) {
@ -16,15 +16,12 @@ public class AnnihilatorTrigger extends MagicWhenAttacksTrigger {
@Override
public MagicEvent executeTrigger(final MagicGame game, final MagicPermanent permanent, final MagicPermanent creature) {
final MagicPlayer opponent = permanent.getOpponent();
return (permanent == creature) ?
new MagicEvent(
return new MagicEvent(
permanent,
opponent,
permanent.getOpponent(),
this,
"PN sacrifices " + amount + (amount == 1 ? " permanent." : " permanents.")
):
MagicEvent.NONE;
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {

View File

@ -6,10 +6,10 @@ import magic.model.condition.MagicCondition;
import magic.model.event.MagicEvent;
import magic.model.event.MagicSourceEvent;
public abstract class BattalionTrigger extends MagicWhenAttacksTrigger {
public abstract class BattalionTrigger extends ThisAttacksTrigger {
@Override
public boolean accept(final MagicPermanent permanent, final MagicPermanent attacker) {
return permanent == attacker && MagicCondition.THREE_ATTACKERS_CONDITION.accept(permanent);
return MagicCondition.THREE_ATTACKERS_CONDITION.accept(permanent);
}
public static final BattalionTrigger create(final MagicSourceEvent sourceEvent) {

View File

@ -8,7 +8,7 @@ import magic.model.target.MagicTargetFilterFactory;
import java.util.Collection;
public class BattleCryTrigger extends MagicWhenAttacksTrigger {
public class BattleCryTrigger extends ThisAttacksTrigger {
private static final BattleCryTrigger INSTANCE = new BattleCryTrigger();
@ -22,13 +22,11 @@ public class BattleCryTrigger extends MagicWhenAttacksTrigger {
@Override
public MagicEvent executeTrigger(final MagicGame game, final MagicPermanent permanent, final MagicPermanent attacker) {
return (permanent == attacker) ?
new MagicEvent(
return new MagicEvent(
permanent,
this,
"Each other attacking creature gets +1/+0 until end of turn."
):
MagicEvent.NONE;
);
}
@Override

View File

@ -6,12 +6,18 @@ import magic.model.event.MagicEvent;
import magic.model.event.MagicSourceEvent;
public abstract class ThisAttacksTrigger extends MagicWhenAttacksTrigger {
public ThisAttacksTrigger(final int priority) {
super(priority);
}
public ThisAttacksTrigger() {}
@Override
public boolean accept(final MagicPermanent permanent, final MagicPermanent attacker) {
return permanent == attacker;
}
public static final ThisAttacksTrigger create(final MagicSourceEvent sourceEvent) {
public static ThisAttacksTrigger create(final MagicSourceEvent sourceEvent) {
return new ThisAttacksTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent, final MagicPermanent attacker) {