added Stingscourger and Subterranean Shambler

master
beholder 2011-11-07 08:50:22 +01:00
parent 2e7440152b
commit 320084404b
3 changed files with 157 additions and 0 deletions

View File

@ -24943,3 +24943,31 @@ cost={2}{G}
pt=3/4
ability=flash
timing=flash
>Stingscourger
url=http://magiccards.info/pc/en/107.html
image=http://magiccards.info/scans/en/pc/107.jpg
value=3
removal=2
rarity=C
type=Creature
subtype=Goblin,Warrior
color=r
converted=2
cost={1}{R}
pt=2/2
timing=main
>Subterranean Shambler
url=http://magiccards.info/ts/en/178.html
image=http://magiccards.info/scans/en/ts/178.jpg
value=3
removal=1
rarity=C
type=Creature
subtype=Elemental
color=r
converted=4
cost={3}{R}
pt=2/3
timing=main

View File

@ -0,0 +1,49 @@
package magic.card;
import magic.model.MagicGame;
import magic.model.MagicLocationType;
import magic.model.MagicPermanent;
import magic.model.MagicPlayer;
import magic.model.action.MagicPermanentAction;
import magic.model.action.MagicRemoveFromPlayAction;
import magic.model.choice.MagicTargetChoice;
import magic.model.event.MagicEvent;
import magic.model.target.MagicBounceTargetPicker;
import magic.model.trigger.MagicEchoTrigger;
import magic.model.trigger.MagicWhenComesIntoPlayTrigger;
public class Stingscourger {
public static final MagicEchoTrigger T1 = new MagicEchoTrigger("{3}{R}");
public static final MagicWhenComesIntoPlayTrigger T2 = new MagicWhenComesIntoPlayTrigger() {
@Override
public MagicEvent executeTrigger(
final MagicGame game,
final MagicPermanent permanent,
final MagicPlayer player) {
return new MagicEvent(
permanent,
player,
MagicTargetChoice.TARGET_CREATURE_YOUR_OPPONENT_CONTROLS,
MagicBounceTargetPicker.getInstance(),
MagicEvent.NO_DATA,
this,
"Return target creature$ your opponent " +
"controls to its owner's hand.");
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object data[],
final Object[] choiceResults) {
event.processTargetPermanent(game,choiceResults,0,new MagicPermanentAction() {
public void doAction(final MagicPermanent creature) {
game.doAction(new MagicRemoveFromPlayAction(
creature,
MagicLocationType.OwnersHand));
}
});
}
};
}

View File

@ -0,0 +1,80 @@
package magic.card;
import java.util.Collection;
import magic.model.MagicDamage;
import magic.model.MagicGame;
import magic.model.MagicPermanent;
import magic.model.MagicPlayer;
import magic.model.MagicSource;
import magic.model.action.MagicDealDamageAction;
import magic.model.event.MagicEvent;
import magic.model.target.MagicTarget;
import magic.model.target.MagicTargetFilter;
import magic.model.trigger.MagicEchoTrigger;
import magic.model.trigger.MagicWhenComesIntoPlayTrigger;
import magic.model.trigger.MagicWhenLeavesPlayTrigger;
public class Subterranean_Shambler {
public static final MagicEchoTrigger T1 = new MagicEchoTrigger();
public static final MagicWhenComesIntoPlayTrigger T2 = new MagicWhenComesIntoPlayTrigger() {
@Override
public MagicEvent executeTrigger(
final MagicGame game,
final MagicPermanent permanent,
final MagicPlayer player) {
return new MagicEvent(
permanent,
player,
new Object[]{permanent,player},
this,
permanent + " deals 1 damage to each creature without flying.");
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object data[],
final Object[] choiceResults) {
final MagicSource source = (MagicSource)data[0];
final Collection<MagicTarget> creatures =
game.filterTargets((MagicPlayer)data[1],MagicTargetFilter.TARGET_CREATURE_WITHOUT_FLYING);
for (final MagicTarget creature : creatures) {
final MagicDamage damage = new MagicDamage(source,creature,1,false);
game.doAction(new MagicDealDamageAction(damage));
}
}
};
public static final MagicWhenLeavesPlayTrigger T3 = new MagicWhenLeavesPlayTrigger() {
@Override
public MagicEvent executeTrigger(
final MagicGame game,
final MagicPermanent permanent,
final MagicPermanent data) {
return (permanent == data) ?
new MagicEvent(
permanent,
permanent.getController(),
new Object[]{permanent,permanent.getController()},
this,
permanent + " deals 1 damage to each creature without flying.") :
MagicEvent.NONE;
}
@Override
public void executeEvent(
final MagicGame game,
final MagicEvent event,
final Object[] data,
final Object[] choiceResults) {
final MagicSource source = (MagicSource)data[0];
final Collection<MagicTarget> creatures =
game.filterTargets((MagicPlayer)data[1],MagicTargetFilter.TARGET_CREATURE_WITHOUT_FLYING);
for (final MagicTarget creature : creatures) {
final MagicDamage damage = new MagicDamage(source,creature,1,false);
game.doAction(new MagicDealDamageAction(damage));
}
}
};
}