added Griselbrand

master
melvin 2012-08-27 13:27:24 +08:00
parent 7712d1b6fe
commit dfd66420d8
3 changed files with 66 additions and 4 deletions

View File

@ -0,0 +1,12 @@
name=Griselbrand
url=http://magiccards.info/avr/en/106.html
image=http://magiccards.info/scans/en/avr/106.jpg
value=4.564
rarity=M
type=Legendary,Creature
subtype=Demon
cost={4}{B}{B}{B}{B}
pt=7/7
timing=main
ability=flying,lifelink
requires_card_code

View File

@ -0,0 +1,44 @@
package magic.card;
import magic.model.MagicGame;
import magic.model.MagicPayedCost;
import magic.model.MagicPermanent;
import magic.model.MagicSource;
import magic.model.action.MagicDrawAction;
import magic.model.condition.MagicCondition;
import magic.model.event.MagicActivationHints;
import magic.model.event.MagicEvent;
import magic.model.event.MagicPayLifeEvent;
import magic.model.event.MagicPermanentActivation;
import magic.model.event.MagicPlayAbilityEvent;
import magic.model.event.MagicTiming;
public class Griselbrand {
public static final MagicPermanentActivation A = new MagicPermanentActivation(
new MagicCondition[]{MagicCondition.SEVEN_LIFE_CONDITION},
new MagicActivationHints(MagicTiming.Draw),
"Draw") {
@Override
public MagicEvent[] getCostEvent(final MagicSource source) {
return new MagicEvent[]{
new MagicPayLifeEvent(source,source.getController(),7),
};
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
return new MagicEvent(
source,
source.getController(),
MagicEvent.NO_DATA,
this,
"Draw seven cards");
}
@Override
public void executeEvent(final MagicGame game,final MagicEvent event,final Object[] data,final Object[] choiceResults) {
game.doAction(new MagicDrawAction(event.getPlayer(),7));
}
};
}

View File

@ -54,25 +54,31 @@ public interface MagicCondition {
MagicCondition ONE_LIFE_CONDITION=new MagicCondition() {
public boolean accept(final MagicGame game,final MagicSource source) {
return source.getController().getLife()>0;
return source.getController().getLife() >= 1;
}
};
MagicCondition TWO_LIFE_CONDITION=new MagicCondition() {
public boolean accept(final MagicGame game,final MagicSource source) {
return source.getController().getLife()>1;
return source.getController().getLife() >= 2;
}
};
MagicCondition SEVEN_LIFE_CONDITION=new MagicCondition() {
public boolean accept(final MagicGame game,final MagicSource source) {
return source.getController().getLife() >= 7;
}
};
MagicCondition HAS_CARD_CONDITION=new MagicCondition() {
public boolean accept(final MagicGame game,final MagicSource source) {
return source.getController().getHandSize()>0;
return source.getController().getHandSize() >= 1;
}
};
MagicCondition HAS_TWO_CARDS_CONDITION = new MagicCondition() {
public boolean accept(final MagicGame game,final MagicSource source) {
return source.getController().getHandSize() > 1;
return source.getController().getHandSize() >= 2;
}
};