added lord pt and lord ability to ability property
parent
cf0b836e5b
commit
b9840bf0db
|
@ -1,6 +1,8 @@
|
|||
package magic.model;
|
||||
|
||||
import magic.model.choice.MagicTargetChoice;
|
||||
import magic.model.target.MagicTargetFilter;
|
||||
import magic.model.target.MagicTargetFilterFactory;
|
||||
import magic.model.event.MagicActivationHints;
|
||||
import magic.model.event.MagicGainActivation;
|
||||
import magic.model.event.MagicLevelUpActivation;
|
||||
|
@ -798,6 +800,21 @@ public enum MagicAbility {
|
|||
card.add(MagicCascadeTrigger.create());
|
||||
}
|
||||
},
|
||||
LordPT("lord pt", 0) {
|
||||
public void addAbilityImpl(final MagicCardDefinition card, final String arg) {
|
||||
final String[] tokens = arg.split(" gets ");
|
||||
final MagicTargetFilter<MagicPermanent> filter = MagicTargetFilterFactory.build(tokens[0]);
|
||||
final String[] pt = tokens[1].replace('+','0').split("/");
|
||||
card.add(MagicStatic.genPTStatic(filter, Integer.parseInt(pt[0]), Integer.parseInt(pt[1])));
|
||||
}
|
||||
},
|
||||
LordAbility("lord ability", 0) {
|
||||
public void addAbilityImpl(final MagicCardDefinition card, final String arg) {
|
||||
final String[] tokens = arg.split(" have ");
|
||||
final MagicTargetFilter<MagicPermanent> filter = MagicTargetFilterFactory.build(tokens[0]);
|
||||
card.add(MagicStatic.genABStatic(filter, MagicAbility.getAbilities(tokens[1].split(","))));
|
||||
}
|
||||
},
|
||||
None("",0);
|
||||
|
||||
public static final Set<MagicAbility> PROTECTION_FLAGS = EnumSet.of(
|
||||
|
|
|
@ -82,6 +82,21 @@ public abstract class MagicStatic extends MagicDummyModifier implements MagicCha
|
|||
(source == target && source.isPaired());
|
||||
}
|
||||
}
|
||||
|
||||
public static MagicStatic genPTStatic(final MagicTargetFilter<MagicPermanent> filter, final int givenPower, final int givenToughness) {
|
||||
return new MagicStatic(
|
||||
MagicLayer.ModPT,
|
||||
filter
|
||||
) {
|
||||
@Override
|
||||
public void modPowerToughness(
|
||||
final MagicPermanent source,
|
||||
final MagicPermanent permanent,
|
||||
final MagicPowerToughness pt) {
|
||||
pt.add(givenPower, givenToughness);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public static MagicStatic genPTStatic(final int givenPower, final int givenToughness) {
|
||||
return new MagicStatic(MagicLayer.ModPT) {
|
||||
|
@ -98,6 +113,21 @@ public abstract class MagicStatic extends MagicDummyModifier implements MagicCha
|
|||
}
|
||||
};
|
||||
}
|
||||
|
||||
public static MagicStatic genABStatic(final MagicTargetFilter<MagicPermanent> filter, final Set<MagicAbility> givenAbilityFlags) {
|
||||
return new MagicStatic(
|
||||
MagicLayer.Ability,
|
||||
filter
|
||||
) {
|
||||
@Override
|
||||
public void modAbilityFlags(
|
||||
final MagicPermanent source,
|
||||
final MagicPermanent permanent,
|
||||
final Set<MagicAbility> flags) {
|
||||
flags.addAll(givenAbilityFlags);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public static MagicStatic genABStatic(final Set<MagicAbility> givenAbilityFlags) {
|
||||
return new MagicStatic(MagicLayer.Ability) {
|
||||
|
|
Loading…
Reference in New Issue