added Joint Assault and Kessig Malcontents

master
beholder 2012-06-14 10:32:43 +02:00
parent d96b1185b0
commit d54b607236
4 changed files with 130 additions and 0 deletions

View File

@ -0,0 +1,11 @@
name=Joint Assault
url=http://magiccards.info/avr/en/183.html
image=http://magiccards.info/scans/en/avr/183.jpg
value=2
rarity=C
type=Instant
color=g
converted=1
cost={G}
timing=pump
requires_card_code

View File

@ -0,0 +1,13 @@
name=Kessig Malcontents
url=http://magiccards.info/avr/en/142.html
image=http://magiccards.info/scans/en/avr/142.jpg
value=3
rarity=U
type=Creature
subtype=Human,Warrior
color=r
converted=3
cost={2}{R}
pt=3/1
timing=main
requires_card_code

View File

@ -0,0 +1,52 @@
package magic.card;
import magic.model.MagicGame;
import magic.model.MagicPayedCost;
import magic.model.MagicPermanent;
import magic.model.action.MagicChangeTurnPTAction;
import magic.model.action.MagicMoveCardAction;
import magic.model.action.MagicPermanentAction;
import magic.model.choice.MagicTargetChoice;
import magic.model.event.MagicEvent;
import magic.model.event.MagicSpellCardEvent;
import magic.model.stack.MagicCardOnStack;
import magic.model.target.MagicPumpTargetPicker;
public class Joint_Assault {
public static final MagicSpellCardEvent S = new MagicSpellCardEvent() {
@Override
public MagicEvent getEvent(
final MagicCardOnStack cardOnStack,
final MagicPayedCost payedCost) {
return new MagicEvent(
cardOnStack.getCard(),
cardOnStack.getController(),
MagicTargetChoice.POS_TARGET_CREATURE,
MagicPumpTargetPicker.create(),
new Object[]{cardOnStack},
this,
"Target creature$ gets +2/+2 until end of turn. " +
"If it's paired with a creature, that creature " +
"also gets +2/+2 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 MagicChangeTurnPTAction(creature,2,2));
if (creature.isPaired()) {
game.doAction(new MagicChangeTurnPTAction(
creature.getPairedCreature(),
2,
2));
}
}
});
}
};
}

View File

@ -0,0 +1,54 @@
package magic.card;
import magic.model.MagicDamage;
import magic.model.MagicGame;
import magic.model.MagicPermanent;
import magic.model.MagicPlayer;
import magic.model.MagicSubType;
import magic.model.action.MagicDealDamageAction;
import magic.model.action.MagicPlayerAction;
import magic.model.choice.MagicTargetChoice;
import magic.model.event.MagicEvent;
import magic.model.target.MagicDamageTargetPicker;
import magic.model.trigger.MagicWhenComesIntoPlayTrigger;
public class Kessig_Malcontents {
public static final MagicWhenComesIntoPlayTrigger T = new MagicWhenComesIntoPlayTrigger() {
@Override
public MagicEvent executeTrigger(
final MagicGame game,
final MagicPermanent permanent,
final MagicPlayer player) {
final int amount = player.getNrOfPermanentsWithSubType(MagicSubType.Human);
return new MagicEvent(
permanent,
player,
MagicTargetChoice.NEG_TARGET_PLAYER,
new MagicDamageTargetPicker(amount),
new Object[]{permanent},
this,
permanent + " deals damage to target player$ " +
"equal to the number of Humans " + player + " controls.");
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object data[],
final Object[] choiceResults) {
event.processTargetPlayer(game,choiceResults,0,new MagicPlayerAction() {
public void doAction(final MagicPlayer player) {
final int amount = event.getPlayer().getNrOfPermanentsWithSubType(MagicSubType.Human);
final MagicDamage damage = new MagicDamage(
event.getSource(),
player,
amount,
false);
game.doAction(new MagicDealDamageAction(damage));
}
});
}
};
}