added Vedalken Ghoul and Venom
parent
0a26905173
commit
0033fef612
|
@ -15004,3 +15004,28 @@ converted=3
|
|||
cost={2}{G}
|
||||
pt=2/2
|
||||
timing=main
|
||||
|
||||
>Vedalken Ghoul
|
||||
url=http://magiccards.info/arb/en/32.html
|
||||
image=http://magiccards.info/scans/en/arb/32.jpg
|
||||
value=2
|
||||
rarity=C
|
||||
type=Creature
|
||||
subtype=Vedalken,Zombie
|
||||
color=ub
|
||||
converted=2
|
||||
cost={U}{B}
|
||||
pt=1/1
|
||||
timing=main
|
||||
|
||||
>Venom
|
||||
url=http://magiccards.info/5e/en/198.html
|
||||
image=http://magiccards.info/scans/en/5e/198.jpg
|
||||
value=3
|
||||
rarity=C
|
||||
type=Enchantment
|
||||
subtype=Aura
|
||||
color=g
|
||||
converted=3
|
||||
cost={1}{G}{G}
|
||||
timing=aura
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
package magic.card;
|
||||
|
||||
import magic.model.MagicGame;
|
||||
import magic.model.MagicPermanent;
|
||||
import magic.model.MagicPlayer;
|
||||
import magic.model.action.MagicChangeLifeAction;
|
||||
import magic.model.event.MagicEvent;
|
||||
import magic.model.trigger.MagicWhenBecomesBlockedTrigger;
|
||||
|
||||
public class Vedalken_Ghoul {
|
||||
public static final MagicWhenBecomesBlockedTrigger T = new MagicWhenBecomesBlockedTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent data) {
|
||||
final MagicPlayer player = permanent.getController();
|
||||
return (permanent == data ) ?
|
||||
new MagicEvent(
|
||||
permanent,
|
||||
player,
|
||||
new Object[]{game.getOpponent(player)},
|
||||
this,
|
||||
game.getOpponent(player) + " loses 4 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],-4));
|
||||
}
|
||||
};
|
||||
}
|
|
@ -0,0 +1,86 @@
|
|||
package magic.card;
|
||||
|
||||
import magic.model.MagicGame;
|
||||
import magic.model.MagicPermanent;
|
||||
import magic.model.MagicPermanentList;
|
||||
import magic.model.MagicPermanentState;
|
||||
import magic.model.MagicSubType;
|
||||
import magic.model.action.MagicChangeStateAction;
|
||||
import magic.model.choice.MagicTargetChoice;
|
||||
import magic.model.event.MagicEvent;
|
||||
import magic.model.event.MagicPlayAuraEvent;
|
||||
import magic.model.event.MagicSpellCardEvent;
|
||||
import magic.model.target.MagicPumpTargetPicker;
|
||||
import magic.model.trigger.MagicWhenBecomesBlockedTrigger;
|
||||
import magic.model.trigger.MagicWhenBlocksTrigger;
|
||||
|
||||
public class Venom {
|
||||
public static final MagicSpellCardEvent S = new MagicPlayAuraEvent(
|
||||
MagicTargetChoice.POS_TARGET_CREATURE,
|
||||
MagicPumpTargetPicker.getInstance());
|
||||
|
||||
public static final MagicWhenBecomesBlockedTrigger T1 = new MagicWhenBecomesBlockedTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent creature) {
|
||||
final MagicPermanent enchantedCreature = permanent.getEnchantedCreature();
|
||||
if (creature == enchantedCreature) {
|
||||
final MagicPermanentList plist = new MagicPermanentList();
|
||||
for (final MagicPermanent blocker : enchantedCreature.getBlockingCreatures()) {
|
||||
if (!blocker.hasSubType(MagicSubType.Wall,game)) {
|
||||
plist.add(blocker);
|
||||
}
|
||||
}
|
||||
if (!plist.isEmpty()) {
|
||||
return new MagicEvent(
|
||||
permanent,
|
||||
permanent.getController(),
|
||||
new Object[]{plist},
|
||||
this,
|
||||
plist.size() > 1 ?
|
||||
"Destroy blocking non-Wall creatures at end of combat." :
|
||||
"Destroy " + plist.get(0) + " at end of combat.");
|
||||
}
|
||||
}
|
||||
return MagicEvent.NONE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeEvent(
|
||||
final MagicGame game,
|
||||
final MagicEvent event,
|
||||
final Object data[],
|
||||
final Object[] choiceResults) {
|
||||
final MagicPermanentList plist = (MagicPermanentList)data[0];
|
||||
for (final MagicPermanent blocker : plist) {
|
||||
game.doAction(new MagicChangeStateAction(blocker,MagicPermanentState.DestroyAtEndOfCombat,true));
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
public static final MagicWhenBlocksTrigger T2 = new MagicWhenBlocksTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent data) {
|
||||
final MagicPermanent enchantedCreature = permanent.getEnchantedCreature();
|
||||
final MagicPermanent blocked = enchantedCreature.getBlockedCreature();
|
||||
return (enchantedCreature == data &&
|
||||
blocked.isValid() &&
|
||||
!blocked.hasSubType(MagicSubType.Wall,game)) ?
|
||||
new MagicEvent(
|
||||
permanent,
|
||||
permanent.getController(),
|
||||
new Object[]{blocked},
|
||||
this,
|
||||
"Destroy " + blocked + " at end of combat."):
|
||||
MagicEvent.NONE;
|
||||
}
|
||||
@Override
|
||||
public void executeEvent(
|
||||
final MagicGame game,
|
||||
final MagicEvent event,
|
||||
final Object data[],
|
||||
final Object[] choiceResults) {
|
||||
final MagicPermanent creature = (MagicPermanent)data[0];
|
||||
game.doAction(new MagicChangeStateAction(creature,MagicPermanentState.DestroyAtEndOfCombat,true));
|
||||
}
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue