magarena/release/Magarena/scripts/Mirror_Entity.groovy

55 lines
2.2 KiB
Groovy
Raw Normal View History

2013-05-30 19:53:05 -07:00
[
new MagicPermanentActivation(
[MagicConditionFactory.ManaCost("{X}")],
new MagicActivationHints(MagicTiming.Pump,true,1),
"X/X"
) {
2012-06-17 05:19:08 -07:00
@Override
2012-10-08 07:21:23 -07:00
public MagicEvent[] getCostEvent(final MagicPermanent source) {
2013-05-30 19:53:05 -07:00
return [
new MagicPayManaCostEvent(source,"{X}"),
new MagicPlayAbilityEvent(source)
];
2012-06-17 05:19:08 -07:00
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
final int x=payedCost.getX();
return new MagicEvent(
2013-05-30 19:53:05 -07:00
source,
x,
this,
"Creatures PN controls become RN/RN and gain all creature types until end of turn."
);
2012-06-17 05:19:08 -07:00
}
@Override
2013-05-30 19:53:05 -07:00
public void executeEvent(final MagicGame game, final MagicEvent event) {
final int X = event.getRefInt();
2012-09-22 07:06:09 -07:00
final MagicPermanent permanent = event.getPermanent();
2012-06-17 05:19:08 -07:00
final MagicStatic PT = new MagicStatic(MagicLayer.SetPT, MagicStatic.UntilEOT) {
@Override
public void modPowerToughness(
final MagicPermanent source,
2011-08-13 06:37:22 -07:00
final MagicPermanent permanent,
final MagicPowerToughness pt) {
2012-06-17 05:19:08 -07:00
pt.set(X,X);
}
};
final MagicStatic ST = new MagicStatic(MagicLayer.Type, MagicStatic.UntilEOT) {
2012-06-17 05:19:08 -07:00
@Override
public void modSubTypeFlags(
2011-08-13 06:37:22 -07:00
final MagicPermanent permanent,
final Set<MagicSubType> flags) {
flags.addAll(MagicSubType.ALL_CREATURES);
2012-06-17 05:19:08 -07:00
}
2011-08-13 06:37:22 -07:00
};
final Collection<MagicPermanent> creatures=game.filterPermanents(
permanent.getController(),
MagicTargetFilter.TARGET_CREATURE_YOU_CONTROL);
for (final MagicPermanent creature : creatures) {
game.doAction(new MagicBecomesCreatureAction(creature,PT,ST));
2012-06-17 05:19:08 -07:00
}
game.doAction(new MagicPlayAbilityAction(permanent));
}
2013-05-30 19:53:05 -07:00
}
]