diff --git a/resources/magic/data/cards.txt b/resources/magic/data/cards.txt index fc469abf77..5fcc6f661c 100644 --- a/resources/magic/data/cards.txt +++ b/resources/magic/data/cards.txt @@ -4850,6 +4850,17 @@ converted=4 cost={2}{B}{B} timing=removal +>Plague Wind +image=http://magiccards.info/scans/en/10e/169.jpg +value=5 +removal=2 +rarity=R +type=Sorcery +color=b +converted=9 +cost={7}{B}{B} +timing=removal + >Scepter of Dominance image=http://magiccards.info/scans/en/cfx/17.jpg value=4 @@ -5986,6 +5997,18 @@ cost={1}{R}{R} pt=1/3 timing=main +>Orcish Artillery +image=http://magiccards.info/scans/en/10e/220.jpg +value=3 +rarity=U +type=Creature +subtype=Orc,Warrior +color=r +converted=3 +cost={1}{R}{R} +pt=1/3 +timing=main + >Stormfront Pegasus image=http://magiccards.info/scans/en/m11/34.jpg value=3 diff --git a/src/magic/card/Orcish_Artillery.java b/src/magic/card/Orcish_Artillery.java new file mode 100644 index 0000000000..7e29a70462 --- /dev/null +++ b/src/magic/card/Orcish_Artillery.java @@ -0,0 +1,59 @@ +package magic.card; + +import magic.model.MagicDamage; +import magic.model.MagicGame; +import magic.model.MagicPayedCost; +import magic.model.MagicPermanent; +import magic.model.MagicPlayer; +import magic.model.MagicSource; +import magic.model.action.MagicDealDamageAction; +import magic.model.action.MagicTargetAction; +import magic.model.choice.MagicTargetChoice; +import magic.model.condition.MagicCondition; +import magic.model.event.MagicActivationHints; +import magic.model.event.MagicEvent; +import magic.model.event.MagicPermanentActivation; +import magic.model.event.MagicTapEvent; +import magic.model.event.MagicTiming; +import magic.model.target.MagicDamageTargetPicker; +import magic.model.target.MagicTarget; + +public class Orcish_Artillery { + public static final MagicPermanentActivation A = new MagicPermanentActivation( + new MagicCondition[]{MagicCondition.CAN_TAP_CONDITION}, + new MagicActivationHints(MagicTiming.Removal), + "Damage") { + + @Override + public MagicEvent[] getCostEvent(final MagicSource source) { + return new MagicEvent[]{new MagicTapEvent((MagicPermanent)source)}; + } + + @Override + public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) { + final MagicPlayer player=source.getController(); + return new MagicEvent( + source, + player, + MagicTargetChoice.NEG_TARGET_CREATURE_OR_PLAYER, + new MagicDamageTargetPicker(2), + new Object[]{source,player}, + this, + source + " deals 2 damage to target creature or player$ and 3 damage to you."); + } + + @Override + public void executeEvent(final MagicGame game,final MagicEvent event,final Object[] data,final Object[] choiceResults) { + + final MagicSource source=(MagicSource)data[0]; + event.processTarget(game,choiceResults,0,new MagicTargetAction() { + public void doAction(final MagicTarget target) { + final MagicDamage damage1=new MagicDamage(source,target,2,false); + game.doAction(new MagicDealDamageAction(damage1)); + final MagicDamage damage2=new MagicDamage(source,(MagicTarget)data[1],3,false); + game.doAction(new MagicDealDamageAction(damage2)); + } + }); + } + }; +} diff --git a/src/magic/card/Plague_Wind.java b/src/magic/card/Plague_Wind.java new file mode 100644 index 0000000000..f3b627ff08 --- /dev/null +++ b/src/magic/card/Plague_Wind.java @@ -0,0 +1,45 @@ +package magic.card; + +import magic.model.MagicGame; +import magic.model.MagicPayedCost; +import magic.model.MagicPermanent; +import magic.model.MagicPermanentState; +import magic.model.action.MagicChangeStateAction; +import magic.model.action.MagicDestroyAction; +import magic.model.action.MagicMoveCardAction; +import magic.model.event.MagicEvent; +import magic.model.event.MagicSpellCardEvent; +import magic.model.stack.MagicCardOnStack; +import magic.model.target.MagicTarget; +import magic.model.target.MagicTargetFilter; + +import java.util.Collection; + +public class Plague_Wind { + public static final MagicSpellCardEvent S = new MagicSpellCardEvent() { + @Override + public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) { + return new MagicEvent( + cardOnStack.getCard(), + cardOnStack.getController(), + new Object[]{cardOnStack}, + this, + "Destroy all creatures you don't control. They can't be regenerated."); + } + @Override + public void executeEvent( + final MagicGame game, + final MagicEvent event, + final Object[] data, + final Object[] choiceResults) { + final MagicCardOnStack cardOnStack = (MagicCardOnStack)data[0]; + game.doAction(new MagicMoveCardAction(cardOnStack)); + final Collection targets = + game.filterTargets(cardOnStack.getController(),MagicTargetFilter.TARGET_CREATURE_YOUR_OPPONENT_CONTROLS); + for (final MagicTarget target : targets) { + game.doAction(new MagicChangeStateAction((MagicPermanent)target,MagicPermanentState.CannotBeRegenerated,true)); + game.doAction(new MagicDestroyAction((MagicPermanent)target)); + } + } + }; +}