convert from java code to groovy code

master
melvin 2013-04-01 21:36:49 +08:00
parent ff074787ca
commit f395c2ffa1
4 changed files with 31 additions and 40 deletions

View File

@ -0,0 +1,18 @@
[
new MagicStatic(MagicLayer.ModPT) {
@Override
public void modPowerToughness(final MagicPermanent source,final MagicPermanent permanent,final MagicPowerToughness pt) {
if (MagicCondition.CONTROL_ANOTHER_MULTICOLORED_PERMANENT.accept(permanent)) {
pt.add(1,1);
}
}
},
new MagicStatic(MagicLayer.Ability) {
@Override
public void modAbilityFlags(final MagicPermanent source,final MagicPermanent permanent,final Set<MagicAbility> flags) {
if (MagicCondition.CONTROL_ANOTHER_MULTICOLORED_PERMANENT.accept(permanent)) {
flags.add(MagicAbility.FirstStrike);
}
}
}
]

View File

@ -8,4 +8,4 @@ subtype=Human,Soldier
cost={G/U}{W} cost={G/U}{W}
pt=2/1 pt=2/1
timing=main timing=main
requires_card_code requires_groovy_code

View File

@ -1,39 +0,0 @@
package magic.card;
import magic.model.MagicAbility;
import magic.model.MagicColor;
import magic.model.MagicPermanent;
import magic.model.MagicPowerToughness;
import magic.model.mstatic.MagicLayer;
import magic.model.mstatic.MagicStatic;
import java.util.Set;
public class Bant_Sureblade {
public static boolean isValid(final MagicPermanent owner) {
for (final MagicPermanent permanent : owner.getController().getPermanents()) {
if (permanent != owner && MagicColor.isMulti(permanent)) {
return true;
}
}
return false;
}
public static final MagicStatic S1 = new MagicStatic(MagicLayer.ModPT) {
@Override
public void modPowerToughness(final MagicPermanent source,final MagicPermanent permanent,final MagicPowerToughness pt) {
if (isValid(permanent)) {
pt.add(1,1);
}
}
};
public static final MagicStatic S2 = new MagicStatic(MagicLayer.Ability) {
@Override
public void modAbilityFlags(final MagicPermanent source,final MagicPermanent permanent,final Set<MagicAbility> flags) {
if (isValid(permanent)) {
flags.add(MagicAbility.FirstStrike);
}
}
};
}

View File

@ -207,6 +207,18 @@ public interface MagicCondition {
return source.getController().controlsPermanentWithSubType(MagicSubType.Golem); return source.getController().controlsPermanentWithSubType(MagicSubType.Golem);
} }
}; };
MagicCondition CONTROL_ANOTHER_MULTICOLORED_PERMANENT = new MagicCondition() {
public boolean accept(final MagicSource source) {
final MagicPermanent owner = (MagicPermanent)source;
for (final MagicPermanent permanent : owner.getController().getPermanents()) {
if (permanent != owner && MagicColor.isMulti(permanent)) {
return true;
}
}
return false;
}
};
MagicCondition ONE_CREATURE_CONDITION=new MagicCondition() { MagicCondition ONE_CREATURE_CONDITION=new MagicCondition() {
public boolean accept(final MagicSource source) { public boolean accept(final MagicSource source) {