simplify groovy code for planeswalker activated abilities

master
melvin 2013-03-02 10:03:56 +08:00
parent 124b5801d6
commit dbd66b1080
6 changed files with 18 additions and 329 deletions

View File

@ -1,22 +1,5 @@
[
new MagicPermanentActivation(
[
MagicCondition.SORCERY_CONDITION,
MagicCondition.ABILITY_ONCE_CONDITION
],
new MagicActivationHints(MagicTiming.Main),
"+1") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
MagicPutCounterEvent.Self(
source,
MagicCounterType.Charge,
1
),
new MagicPlayAbilityEvent(source)
];
}
new MagicPlaneswalkerActivation(1) {
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
@ -33,25 +16,7 @@
game.doAction(new MagicChangeLifeAction(event.getPlayer(), 2));
}
},
new MagicPermanentActivation(
[
MagicCondition.SORCERY_CONDITION,
MagicCondition.ABILITY_ONCE_CONDITION,
MagicConditionFactory.ChargeCountersAtLeast(1)
],
new MagicActivationHints(MagicTiming.Main),
"-1") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
new MagicRemoveCounterEvent(
source,
MagicCounterType.Charge,
1
),
new MagicPlayAbilityEvent(source)
];
}
new MagicPlaneswalkerActivation(-1) {
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
@ -81,25 +46,7 @@
}
},
new MagicPermanentActivation(
[
MagicCondition.SORCERY_CONDITION,
MagicCondition.ABILITY_ONCE_CONDITION,
MagicConditionFactory.ChargeCountersAtLeast(6)
],
new MagicActivationHints(MagicTiming.Main),
"-6") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
new MagicRemoveCounterEvent(
source,
MagicCounterType.Charge,
6
),
new MagicPlayAbilityEvent(source)
];
}
new MagicPlaneswalkerActivation(-6) {
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(

View File

@ -1,22 +1,5 @@
[
new MagicPermanentActivation(
[
MagicCondition.SORCERY_CONDITION,
MagicCondition.ABILITY_ONCE_CONDITION
],
new MagicActivationHints(MagicTiming.Main),
"+1") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
MagicPutCounterEvent.Self(
source,
MagicCounterType.Charge,
1
),
new MagicPlayAbilityEvent(source)
];
}
new MagicPlaneswalkerActivation(1) {
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
@ -43,25 +26,7 @@
});
}
},
new MagicPermanentActivation(
[
MagicCondition.SORCERY_CONDITION,
MagicCondition.ABILITY_ONCE_CONDITION,
MagicConditionFactory.ChargeCountersAtLeast(2)
],
new MagicActivationHints(MagicTiming.Main),
"-2") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
new MagicRemoveCounterEvent(
source,
MagicCounterType.Charge,
2
),
new MagicPlayAbilityEvent(source)
];
}
new MagicPlaneswalkerActivation(-2) {
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
@ -86,25 +51,7 @@
});
}
},
new MagicPermanentActivation(
[
MagicCondition.SORCERY_CONDITION,
MagicCondition.ABILITY_ONCE_CONDITION,
MagicConditionFactory.ChargeCountersAtLeast(7)
],
new MagicActivationHints(MagicTiming.Main),
"-7") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
new MagicRemoveCounterEvent(
source,
MagicCounterType.Charge,
7
),
new MagicPlayAbilityEvent(source)
];
}
new MagicPlaneswalkerActivation(-7) {
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(

View File

@ -1,22 +1,5 @@
[
new MagicPermanentActivation(
[
MagicCondition.SORCERY_CONDITION,
MagicCondition.ABILITY_ONCE_CONDITION
],
new MagicActivationHints(MagicTiming.Main),
"Token") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
MagicPutCounterEvent.Self(
source,
MagicCounterType.Charge,
1
),
new MagicPlayAbilityEvent(source)
];
}
new MagicPlaneswalkerActivation(1, "Token") {
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
@ -36,24 +19,7 @@
));
}
},
new MagicPermanentActivation(
[
MagicCondition.SORCERY_CONDITION,
MagicCondition.ABILITY_ONCE_CONDITION
],
new MagicActivationHints(MagicTiming.Main),
"Boost") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
MagicPutCounterEvent.Self(
source,
MagicCounterType.Charge,
1
),
new MagicPlayAbilityEvent(source)
];
}
new MagicPlaneswalkerActivation(1, "Boost") {
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
@ -77,25 +43,7 @@
});
}
},
new MagicPermanentActivation(
[
MagicCondition.SORCERY_CONDITION,
MagicCondition.ABILITY_ONCE_CONDITION,
MagicConditionFactory.ChargeCountersAtLeast(8)
],
new MagicActivationHints(MagicTiming.Main),
"Ultimate") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
new MagicRemoveCounterEvent(
source,
MagicCounterType.Charge,
8
),
new MagicPlayAbilityEvent(source)
];
}
new MagicPlaneswalkerActivation(-8, "Ultimate") {
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(

View File

@ -1,22 +1,5 @@
[
new MagicPermanentActivation(
[
MagicCondition.SORCERY_CONDITION,
MagicCondition.ABILITY_ONCE_CONDITION
],
new MagicActivationHints(MagicTiming.Main),
"+1") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
MagicPutCounterEvent.Self(
source,
MagicCounterType.Charge,
1
),
new MagicPlayAbilityEvent(source)
];
}
new MagicPlaneswalkerActivation(1) {
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
@ -36,25 +19,7 @@
));
}
},
new MagicPermanentActivation(
[
MagicCondition.SORCERY_CONDITION,
MagicCondition.ABILITY_ONCE_CONDITION,
MagicConditionFactory.ChargeCountersAtLeast(3)
],
new MagicActivationHints(MagicTiming.Main),
"-3") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
new MagicRemoveCounterEvent(
source,
MagicCounterType.Charge,
3
),
new MagicPlayAbilityEvent(source)
];
}
new MagicPlaneswalkerActivation(-3) {
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
@ -81,25 +46,7 @@
));
}
},
new MagicPermanentActivation(
[
MagicCondition.SORCERY_CONDITION,
MagicCondition.ABILITY_ONCE_CONDITION,
MagicConditionFactory.ChargeCountersAtLeast(6)
],
new MagicActivationHints(MagicTiming.Main),
"-6") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
new MagicRemoveCounterEvent(
source,
MagicCounterType.Charge,
6
),
new MagicPlayAbilityEvent(source)
];
}
new MagicPlaneswalkerActivation(-6) {
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(

View File

@ -33,24 +33,7 @@ def PreventAllDamage = new MagicIfDamageWouldBeDealtTrigger(1) {
};
[
new MagicPermanentActivation(
[
MagicCondition.SORCERY_CONDITION,
MagicCondition.ABILITY_ONCE_CONDITION
],
new MagicActivationHints(MagicTiming.Main),
"+1") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
MagicPutCounterEvent.Self(
source,
MagicCounterType.Charge,
1
),
new MagicPlayAbilityEvent(source)
];
}
new MagicPlaneswalkerActivation(1) {
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
@ -74,19 +57,7 @@ def PreventAllDamage = new MagicIfDamageWouldBeDealtTrigger(1) {
));
}
},
new MagicPermanentActivation(
[
MagicCondition.SORCERY_CONDITION,
MagicCondition.ABILITY_ONCE_CONDITION,
],
new MagicActivationHints(MagicTiming.Main),
"0") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
new MagicPlayAbilityEvent(source)
];
}
new MagicPlaneswalkerActivation(0) {
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
@ -115,25 +86,7 @@ def PreventAllDamage = new MagicIfDamageWouldBeDealtTrigger(1) {
game.doAction(new MagicAddTurnTriggerAction(event.getPermanent(), PreventAllDamage));
}
},
new MagicPermanentActivation(
[
MagicCondition.SORCERY_CONDITION,
MagicCondition.ABILITY_ONCE_CONDITION,
MagicConditionFactory.ChargeCountersAtLeast(15)
],
new MagicActivationHints(MagicTiming.Main),
"-15") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
new MagicRemoveCounterEvent(
source,
MagicCounterType.Charge,
15
),
new MagicPlayAbilityEvent(source)
];
}
new MagicPlaneswalkerActivation(-15) {
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(

View File

@ -1,22 +1,5 @@
[
new MagicPermanentActivation(
[
MagicCondition.SORCERY_CONDITION,
MagicCondition.ABILITY_ONCE_CONDITION
],
new MagicActivationHints(MagicTiming.Main),
"+2") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
MagicPutCounterEvent.Self(
source,
MagicCounterType.Charge,
2
),
new MagicPlayAbilityEvent(source)
];
}
new MagicPlaneswalkerActivation(2) {
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
@ -35,25 +18,7 @@
}
}
},
new MagicPermanentActivation(
[
MagicCondition.SORCERY_CONDITION,
MagicCondition.ABILITY_ONCE_CONDITION,
MagicConditionFactory.ChargeCountersAtLeast(1)
],
new MagicActivationHints(MagicTiming.Main),
"-1") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
new MagicRemoveCounterEvent(
source,
MagicCounterType.Charge,
1
),
new MagicPlayAbilityEvent(source)
];
}
new MagicPlaneswalkerActivation(-1) {
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
@ -75,25 +40,7 @@
});
}
},
new MagicPermanentActivation(
[
MagicCondition.SORCERY_CONDITION,
MagicCondition.ABILITY_ONCE_CONDITION,
MagicConditionFactory.ChargeCountersAtLeast(10)
],
new MagicActivationHints(MagicTiming.Main),
"-10") {
@Override
public MagicEvent[] getCostEvent(final MagicPermanent source) {
return [
new MagicRemoveCounterEvent(
source,
MagicCounterType.Charge,
10
),
new MagicPlayAbilityEvent(source)
];
}
new MagicPlaneswalkerActivation(-10) {
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(