add Soul of Ravnica to incomplete

unable to get graveyard activation to function
master
ShawnieBoy 2015-05-27 15:02:52 +01:00
parent e2a0a0917f
commit a737ced111
1 changed files with 90 additions and 0 deletions

View File

@ -0,0 +1,90 @@
[
new MagicCardAbilityActivation(
[MagicCondition.GRAVEYARD_CONDITION],
new MagicActivationHints(MagicTiming.Draw),
"Draw"
) {
@Override
public Iterable<MagicEvent> getCostEvent(final MagicCard source) {
return [
new MagicPayManaCostEvent(source, "{5}{U}{U}"),
new MagicExileSelfEvent(source, MagicLocationType.Graveyard)
];
}
@Override
public MagicEvent getEvent(final MagicSource source) {
return new MagicEvent(
source,
new MagicEventAction() {
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
final MagicAbilityOnStack abilityOnStack = new MagicAbilityOnStack(
MagicCardAbilityActivation.this,
getCardEvent(event.getCard(), game.getPayedCost())
);
game.doAction(new PutItemOnStackAction(abilityOnStack));
}
},
""
);
}
@Override
public MagicEvent getCardEvent(final MagicCard source, final MagicPayedCost payedCost) {
return new MagicEvent(
source,
this,
"PN draws a card for each color among permanents he or she controls."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
final MagicPlayer player = event.getPlayer();
int amount = 0;
for (final MagicColor color : MagicColor.values()) {
if (player.controlsPermanent(color)) {
amount++;
}
}
game.logAppendValue(player, amount);
game.doAction(new DrawAction(event.getPlayer(), amount));
}
},
new MagicPermanentActivation(
new MagicActivationHints(MagicTiming.Draw),
"Draw"
) {
@Override
public Iterable<MagicEvent> getCostEvent(final MagicPermanent source) {
return [
new MagicPayManaCostEvent(source, "{5}{U}{U}")
];
}
public MagicEvent getPermanentEvent(final MagicPermanent source, final MagicPayedCost payedCost) {
return new MagicEvent(
source,
this,
"PN draws a card for each color among permanents he or she controls."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
final MagicPlayer player = event.getPlayer();
int amount = 0;
for (final MagicColor color : MagicColor.values()) {
if (player.controlsPermanent(color)) {
amount++;
}
}
game.logAppendValue(player, amount);
game.doAction(new DrawAction(event.getPlayer(), amount));
}
}
]