reduce duplication

master
melvin 2013-10-23 21:19:33 +08:00
parent c14a98323e
commit 382c042c26
1 changed files with 18 additions and 24 deletions

View File

@ -1,35 +1,29 @@
def Action = {
final MagicGame game, final MagicEvent event ->
final MagicDamage damage = new MagicDamage(event.getSource(),event.getRefPermanent(),2);
game.doAction(new MagicDealDamageAction(damage));
} as MagicEventAction
def Event = {
final MagicPermanent permanent, final MagicPermanent creature ->
return new MagicEvent(
permanent,
creature,
this,
"SN deals 2 damage to RN."
);
}
[
new MagicWhenAttacksTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent creature) {
return new MagicEvent(
permanent,
creature,
this,
"SN deals 2 damage to attacking creature."
);
return Event(permanent, creature);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
final MagicDamage damage = new MagicDamage(event.getSource(),event.getRefPermanent(),2);
game.doAction(new MagicDealDamageAction(damage));
}
},
new MagicWhenBlocksTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent creature) {
return new MagicEvent(
permanent,
creature,
this,
"SN deals 2 damage to blocking creature."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
final MagicDamage damage = new MagicDamage(event.getSource(),event.getRefPermanent(),2);
game.doAction(new MagicDealDamageAction(damage));
}
return Event(permanent, creature);
}
]