added Hamlet Captain and Hollowhenge Scavenger

master
beholder 2011-09-28 17:03:18 +02:00
parent 07d8212e59
commit 97d59c21c9
4 changed files with 141 additions and 0 deletions

View File

@ -4417,6 +4417,30 @@ converted=4
cost={4}
timing=artifact
>Hamlet Captain
image=http://magiccards.info/scans/en/isd/187.jpg
value=2
rarity=U
type=Creature
subtype=Human,Warrior
color=g
converted=2
cost={1}{G}
pt=2/2
timing=main
>Hollowhenge Scavenger
image=http://magiccards.info/scans/en/isd/188.jpg
value=4
rarity=U
type=Creature
subtype=Elemental
color=g
converted=5
cost={3}{G}{G}
pt=4/5
timing=main
>Morkrut Banshee
image=http://magiccards.info/scans/en/isd/110.jpg
value=4

View File

@ -0,0 +1,74 @@
package magic.card;
import java.util.Collection;
import magic.model.MagicGame;
import magic.model.MagicPermanent;
import magic.model.MagicPlayer;
import magic.model.action.MagicChangeTurnPTAction;
import magic.model.event.MagicEvent;
import magic.model.target.MagicTarget;
import magic.model.target.MagicTargetFilter;
import magic.model.trigger.MagicWhenAttacksTrigger;
import magic.model.trigger.MagicWhenBlocksTrigger;
public class Hamlet_Captain {
public static final MagicWhenAttacksTrigger T1 = new MagicWhenAttacksTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent creature) {
return (permanent == creature) ?
new MagicEvent(
permanent,
permanent.getController(),
new Object[]{permanent,permanent.getController()},
this,
"Other Human creatures you control get +1/+1 until end of turn."):
MagicEvent.NONE;
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object data[],
final Object[] choiceResults) {
final Collection<MagicTarget> targets =
game.filterTargets((MagicPlayer)data[1],MagicTargetFilter.TARGET_HUMAN_YOU_CONTROL);
for (final MagicTarget target : targets) {
final MagicPermanent creature = (MagicPermanent)target;
if (creature != (MagicPermanent)data[0]) {
game.doAction(new MagicChangeTurnPTAction(creature,1,1));
}
}
}
};
public static final MagicWhenBlocksTrigger T2 = new MagicWhenBlocksTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent creature) {
return (permanent == creature) ?
new MagicEvent(
permanent,
permanent.getController(),
new Object[]{permanent,permanent.getController()},
this,
"Other Human creatures you control get +1/+1 until end of turn."):
MagicEvent.NONE;
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object data[],
final Object[] choiceResults) {
final Collection<MagicTarget> targets =
game.filterTargets((MagicPlayer)data[1],MagicTargetFilter.TARGET_HUMAN_YOU_CONTROL);
for (final MagicTarget target : targets) {
final MagicPermanent creature = (MagicPermanent)target;
if (creature != (MagicPermanent)data[0]) {
game.doAction(new MagicChangeTurnPTAction(creature,1,1));
}
}
}
};
}

View File

@ -0,0 +1,32 @@
package magic.card;
import magic.model.MagicGame;
import magic.model.MagicPlayer;
import magic.model.MagicPermanent;
import magic.model.action.MagicChangeLifeAction;
import magic.model.event.MagicEvent;
import magic.model.trigger.MagicWhenComesIntoPlayTrigger;
public class Hollowhenge_Scavenger {
public static final MagicWhenComesIntoPlayTrigger T = new MagicWhenComesIntoPlayTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent, final MagicPlayer player) {
return game.getCreatureDiedThisTurn() ?
new MagicEvent(
permanent,
player,
new Object[]{player},
this,
player + " gains 5 life.") :
MagicEvent.NONE;
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object data[],
final Object[] choiceResults) {
game.doAction(new MagicChangeLifeAction((MagicPlayer)data[0],5));
}
};
}

View File

@ -707,6 +707,17 @@ public interface MagicTargetFilter {
}
};
MagicTargetFilter TARGET_HUMAN_YOU_CONTROL = new MagicTargetFilter() {
public boolean accept(final MagicGame game,final MagicPlayer player,final MagicTarget target) {
return target.getController() == player &&
((MagicPermanent)target).isCreature(game) &&
((MagicPermanent)target).hasSubType(MagicSubType.Human,game);
}
public boolean acceptType(final MagicTargetType targetType) {
return targetType == MagicTargetType.Permanent;
}
};
MagicTargetFilter TARGET_NONHUMAN_CREATURE = new MagicTargetFilter() {
public boolean accept(final MagicGame game,final MagicPlayer player,final MagicTarget target) {
return !((MagicPermanent)target).hasSubType(MagicSubType.Human,game);