change Annihilator, Battalion and Battlecry to extend ThisAttacksTrigger
parent
8db5af9cfa
commit
376eafc12b
|
@ -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) {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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) {
|
||||
|
|
Loading…
Reference in New Issue