added Amphibious Kavu. Arcbound Fiend should only target creatures with +1/+1 counters
parent
a9c7b81e38
commit
1d47b30e0b
|
@ -12965,3 +12965,15 @@ converted=3
|
||||||
cost={1}{B}{B}
|
cost={1}{B}{B}
|
||||||
pt=2/2
|
pt=2/2
|
||||||
timing=main
|
timing=main
|
||||||
|
|
||||||
|
>Amphibious Kavu
|
||||||
|
image=http://magiccards.info/scans/en/ps/78.jpg
|
||||||
|
value=3
|
||||||
|
rarity=C
|
||||||
|
type=Creature
|
||||||
|
subtype=Kavu
|
||||||
|
color=g
|
||||||
|
converted=3
|
||||||
|
cost={2}{G}
|
||||||
|
pt=2/2
|
||||||
|
timing=main
|
||||||
|
|
|
@ -0,0 +1,82 @@
|
||||||
|
package magic.card;
|
||||||
|
|
||||||
|
import magic.model.MagicColor;
|
||||||
|
import magic.model.MagicGame;
|
||||||
|
import magic.model.MagicPermanent;
|
||||||
|
import magic.model.MagicPermanentList;
|
||||||
|
import magic.model.MagicPlayer;
|
||||||
|
import magic.model.action.MagicChangeTurnPTAction;
|
||||||
|
import magic.model.action.MagicDestroyAction;
|
||||||
|
import magic.model.event.MagicEvent;
|
||||||
|
import magic.model.trigger.MagicWhenBecomesBlockedTrigger;
|
||||||
|
import magic.model.trigger.MagicWhenBlocksTrigger;
|
||||||
|
|
||||||
|
public class Amphibious_Kavu {
|
||||||
|
public static final MagicWhenBecomesBlockedTrigger T1 = new MagicWhenBecomesBlockedTrigger() {
|
||||||
|
@Override
|
||||||
|
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent creature) {
|
||||||
|
final MagicPlayer player = permanent.getController();
|
||||||
|
if (creature == permanent) {
|
||||||
|
final MagicPermanentList plist = permanent.getBlockingCreatures();
|
||||||
|
boolean pump = false;
|
||||||
|
for (final MagicPermanent blocker : plist) {
|
||||||
|
final int colorFlags = blocker.getColorFlags(game);
|
||||||
|
if (MagicColor.Blue.hasColor(colorFlags) ||
|
||||||
|
MagicColor.Black.hasColor(colorFlags)) {
|
||||||
|
pump = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (pump) {
|
||||||
|
return new MagicEvent(
|
||||||
|
permanent,
|
||||||
|
player,
|
||||||
|
new Object[]{permanent},
|
||||||
|
this,
|
||||||
|
permanent + " gets +3/+3 until end of turn.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return MagicEvent.NONE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void executeEvent(
|
||||||
|
final MagicGame game,
|
||||||
|
final MagicEvent event,
|
||||||
|
final Object data[],
|
||||||
|
final Object[] choiceResults) {
|
||||||
|
game.doAction(new MagicChangeTurnPTAction(
|
||||||
|
(MagicPermanent)data[0],
|
||||||
|
3,
|
||||||
|
3));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static final MagicWhenBlocksTrigger T2 = new MagicWhenBlocksTrigger() {
|
||||||
|
@Override
|
||||||
|
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent data) {
|
||||||
|
final MagicPermanent blocked = permanent.getBlockedCreature();
|
||||||
|
return (permanent == data &&
|
||||||
|
blocked.isValid() &&
|
||||||
|
(MagicColor.Blue.hasColor(blocked.getColorFlags(game)) ||
|
||||||
|
MagicColor.Black.hasColor(blocked.getColorFlags(game)))) ?
|
||||||
|
new MagicEvent(
|
||||||
|
permanent,
|
||||||
|
permanent.getController(),
|
||||||
|
new Object[]{permanent},
|
||||||
|
this,
|
||||||
|
permanent + " gets +3/+3 until end of turn."):
|
||||||
|
MagicEvent.NONE;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void executeEvent(
|
||||||
|
final MagicGame game,
|
||||||
|
final MagicEvent event,
|
||||||
|
final Object data[],
|
||||||
|
final Object[] choiceResults) {
|
||||||
|
game.doAction(new MagicChangeTurnPTAction(
|
||||||
|
(MagicPermanent)data[0],
|
||||||
|
3,
|
||||||
|
3));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
|
@ -30,7 +30,7 @@ public class Arcbound_Fiend {
|
||||||
new MagicMayChoice(
|
new MagicMayChoice(
|
||||||
player + " may move a +1/+1 counter from " +
|
player + " may move a +1/+1 counter from " +
|
||||||
"target creature onto " + permanent + ".",
|
"target creature onto " + permanent + ".",
|
||||||
MagicTargetChoice.NEG_TARGET_CREATURE),
|
MagicTargetChoice.NEG_TARGET_CREATURE_PLUSONE_COUNTER),
|
||||||
new Object[]{permanent},
|
new Object[]{permanent},
|
||||||
this,
|
this,
|
||||||
player + " may$ move a +1/+1 counter from " +
|
player + " may$ move a +1/+1 counter from " +
|
||||||
|
|
|
@ -154,6 +154,9 @@ public class MagicTargetChoice extends MagicChoice {
|
||||||
public static final MagicTargetChoice NEG_TARGET_CREATURE_POWER_4_OR_MORE =
|
public static final MagicTargetChoice NEG_TARGET_CREATURE_POWER_4_OR_MORE =
|
||||||
new MagicTargetChoice(MagicTargetFilter.TARGET_CREATURE_POWER_4_OR_MORE,true,MagicTargetHint.Negative,
|
new MagicTargetChoice(MagicTargetFilter.TARGET_CREATURE_POWER_4_OR_MORE,true,MagicTargetHint.Negative,
|
||||||
"target creature with power 4 or greater");
|
"target creature with power 4 or greater");
|
||||||
|
public static final MagicTargetChoice NEG_TARGET_CREATURE_PLUSONE_COUNTER =
|
||||||
|
new MagicTargetChoice(MagicTargetFilter.TARGET_CREATURE_PLUSONE_COUNTER,true,MagicTargetHint.Negative,
|
||||||
|
"target creature");
|
||||||
public static final MagicTargetChoice NEG_TARGET_CREATURE_WITH_FLYING=
|
public static final MagicTargetChoice NEG_TARGET_CREATURE_WITH_FLYING=
|
||||||
new MagicTargetChoice(MagicTargetFilter.TARGET_CREATURE_WITH_FLYING,true,MagicTargetHint.Negative,"target creature with flying");
|
new MagicTargetChoice(MagicTargetFilter.TARGET_CREATURE_WITH_FLYING,true,MagicTargetHint.Negative,"target creature with flying");
|
||||||
public static final MagicTargetChoice NEG_TARGET_CREATURE_WITHOUT_FLYING=
|
public static final MagicTargetChoice NEG_TARGET_CREATURE_WITHOUT_FLYING=
|
||||||
|
|
|
@ -4,6 +4,7 @@ import magic.model.MagicAbility;
|
||||||
import magic.model.MagicCard;
|
import magic.model.MagicCard;
|
||||||
import magic.model.MagicCardDefinition;
|
import magic.model.MagicCardDefinition;
|
||||||
import magic.model.MagicColor;
|
import magic.model.MagicColor;
|
||||||
|
import magic.model.MagicCounterType;
|
||||||
import magic.model.MagicGame;
|
import magic.model.MagicGame;
|
||||||
import magic.model.MagicPermanent;
|
import magic.model.MagicPermanent;
|
||||||
import magic.model.MagicPlayer;
|
import magic.model.MagicPlayer;
|
||||||
|
@ -1177,6 +1178,17 @@ public interface MagicTargetFilter {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
MagicTargetFilter TARGET_CREATURE_PLUSONE_COUNTER = new MagicTargetFilter() {
|
||||||
|
public boolean accept(final MagicGame game,final MagicPlayer player,final MagicTarget target) {
|
||||||
|
final MagicPermanent permanent = (MagicPermanent)target;
|
||||||
|
return permanent.isCreature(game) &&
|
||||||
|
permanent.getCounters(MagicCounterType.PlusOne) > 0;
|
||||||
|
}
|
||||||
|
public boolean acceptType(final MagicTargetType targetType) {
|
||||||
|
return targetType == MagicTargetType.Permanent;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
MagicTargetFilter TARGET_ATTACKING_CREATURE=new MagicTargetFilter() {
|
MagicTargetFilter TARGET_ATTACKING_CREATURE=new MagicTargetFilter() {
|
||||||
public boolean accept(final MagicGame game,final MagicPlayer player,final MagicTarget target) {
|
public boolean accept(final MagicGame game,final MagicPlayer player,final MagicTarget target) {
|
||||||
final MagicPermanent permanent=(MagicPermanent)target;
|
final MagicPermanent permanent=(MagicPermanent)target;
|
||||||
|
|
Loading…
Reference in New Issue