diff --git a/resources/magic/data/cards.txt b/resources/magic/data/cards.txt index 81859d1536..11b14f3c69 100644 --- a/resources/magic/data/cards.txt +++ b/resources/magic/data/cards.txt @@ -11370,3 +11370,25 @@ cost={6} equip={6} given_pt=6/6 timing=equipment + +>Assault Strobe +image=http://magiccards.info/scans/en/som/82.jpg +value=2 +rarity=C +type=Sorcery +color=r +converted=1 +cost={R} +timing=block + +>Auriok Edgewright +image=http://magiccards.info/scans/en/som/3.jpg +value=2 +rarity=U +type=Creature +subtype=Human,Soldier +color=w +converted=2 +cost={W}{W} +pt=2/2 +timing=main diff --git a/src/magic/card/Assault_Strobe.java b/src/magic/card/Assault_Strobe.java new file mode 100644 index 0000000000..4bd4c59b56 --- /dev/null +++ b/src/magic/card/Assault_Strobe.java @@ -0,0 +1,45 @@ +package magic.card; + +import magic.model.MagicAbility; +import magic.model.MagicGame; +import magic.model.MagicPayedCost; +import magic.model.MagicPermanent; +import magic.model.MagicPlayer; +import magic.model.action.MagicMoveCardAction; +import magic.model.action.MagicPermanentAction; +import magic.model.action.MagicSetAbilityAction; +import magic.model.choice.MagicTargetChoice; +import magic.model.event.MagicEvent; +import magic.model.event.MagicSpellCardEvent; +import magic.model.stack.MagicCardOnStack; +import magic.model.target.MagicFirstStrikeTargetPicker; + +public class Assault_Strobe { + public static final MagicSpellCardEvent S = new MagicSpellCardEvent() { + @Override + public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) { + final MagicPlayer player = cardOnStack.getController(); + return new MagicEvent( + cardOnStack.getCard(), + player, + MagicTargetChoice.POS_TARGET_CREATURE, + MagicFirstStrikeTargetPicker.getInstance(), + new Object[]{cardOnStack}, + this, + "Target creature$ gains double strike until end of turn."); + } + @Override + public void executeEvent( + final MagicGame game, + final MagicEvent event, + final Object[] data, + final Object[] choiceResults) { + game.doAction(new MagicMoveCardAction((MagicCardOnStack)data[0])); + event.processTargetPermanent(game,choiceResults,0,new MagicPermanentAction() { + public void doAction(final MagicPermanent creature) { + game.doAction(new MagicSetAbilityAction(creature,MagicAbility.DoubleStrike)); + } + }); + } + }; +} diff --git a/src/magic/card/Auriok_Edgewright.java b/src/magic/card/Auriok_Edgewright.java new file mode 100644 index 0000000000..68f7ebc8fb --- /dev/null +++ b/src/magic/card/Auriok_Edgewright.java @@ -0,0 +1,19 @@ +package magic.card; + +import magic.model.MagicGame; +import magic.model.MagicPermanent; +import magic.model.MagicAbility; +import magic.model.MagicType; +import magic.model.mstatic.MagicLayer; +import magic.model.mstatic.MagicStatic; + +public class Auriok_Edgewright { + public static final MagicStatic S = new MagicStatic(MagicLayer.Ability) { + @Override + public long getAbilityFlags(final MagicGame game,final MagicPermanent permanent,final long flags) { + return permanent.getController().getNrOfPermanentsWithType(MagicType.Artifact,game) >= 3 ? + flags | MagicAbility.DoubleStrike.getMask() : + flags; + } + }; +}