reworked Clairvoyance and Infuse, better this way
parent
8f78918b57
commit
72c2495e2c
|
@ -1,3 +1,21 @@
|
|||
def MagicAtUpkeepTrigger cantrip(final MagicEvent event) {
|
||||
return new MagicAtUpkeepTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPlayer upkeepPlayer) {
|
||||
return new MagicEvent(
|
||||
event.getSource(),
|
||||
event.getPlayer(),
|
||||
{
|
||||
final MagicGame game2, final MagicEvent event2 ->
|
||||
game2.doAction(new MagicDrawAction(event2.getPlayer()));
|
||||
game2.doAction(new MagicRemoveTriggerAction(this));
|
||||
},
|
||||
"PN draws a card"
|
||||
);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
[
|
||||
new MagicSpellCardEvent() {
|
||||
@Override
|
||||
|
@ -11,30 +29,12 @@
|
|||
);
|
||||
}
|
||||
@Override
|
||||
public void executeEvent(final MagicGame outerGame, final MagicEvent outerEvent) {
|
||||
MagicPlayer outerPlayer = outerEvent.getPlayer();
|
||||
MagicSource outerSource = outerEvent.getSource();
|
||||
outerEvent.processTargetPlayer(outerGame, {
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPlayer(game, {
|
||||
MagicPlayer player ->
|
||||
outerGame.doAction(new MagicRevealAction(player.getHand()));
|
||||
game.doAction(new MagicRevealAction(player.getHand()));
|
||||
});
|
||||
outerGame.doAction(new MagicAddTriggerAction(new MagicAtUpkeepTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPlayer upkeepPlayer) {
|
||||
new MagicEvent(
|
||||
outerSource,
|
||||
outerPlayer,
|
||||
this,
|
||||
"PN draws a card"
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new MagicDrawAction(outerPlayer));
|
||||
game.doAction(new MagicRemoveTriggerAction(this));
|
||||
}
|
||||
}));
|
||||
game.doAction(new MagicAddTriggerAction(cantrip(event)));
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -1,3 +1,21 @@
|
|||
def MagicAtUpkeepTrigger cantrip(final MagicEvent event) {
|
||||
return new MagicAtUpkeepTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPlayer upkeepPlayer) {
|
||||
return new MagicEvent(
|
||||
event.getSource(),
|
||||
event.getPlayer(),
|
||||
{
|
||||
final MagicGame game2, final MagicEvent event2 ->
|
||||
game2.doAction(new MagicDrawAction(event2.getPlayer()));
|
||||
game2.doAction(new MagicRemoveTriggerAction(this));
|
||||
},
|
||||
"PN draws a card"
|
||||
);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
def ARTIFACT_CREATURE_OR_LAND = new MagicPermanentFilterImpl() {
|
||||
public boolean accept(final MagicGame game,final MagicPlayer player,final MagicPermanent target) {
|
||||
return target.isLand() || target.isCreature() || target.isArtifact();
|
||||
|
@ -8,6 +26,7 @@ def TARGET_ARTIFACT_CREATURE_OR_LAND = new MagicTargetChoice(
|
|||
ARTIFACT_CREATURE_OR_LAND,
|
||||
"target artifact, creature or land"
|
||||
);
|
||||
|
||||
[
|
||||
new MagicSpellCardEvent() {
|
||||
@Override
|
||||
|
@ -21,30 +40,12 @@ def TARGET_ARTIFACT_CREATURE_OR_LAND = new MagicTargetChoice(
|
|||
);
|
||||
}
|
||||
@Override
|
||||
public void executeEvent(final MagicGame outerGame, final MagicEvent outerEvent) {
|
||||
MagicPlayer outerPlayer = outerEvent.getPlayer();
|
||||
MagicSource outerSource = outerEvent.getSource();
|
||||
outerEvent.processTargetPermanent(outerGame, {
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPermanent(game, {
|
||||
MagicPermanent permanent ->
|
||||
outerGame.doAction(new MagicUntapAction(permanent));
|
||||
game.doAction(new MagicUntapAction(permanent));
|
||||
});
|
||||
outerGame.doAction(new MagicAddTriggerAction(new MagicAtUpkeepTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPlayer upkeepPlayer) {
|
||||
new MagicEvent(
|
||||
outerSource,
|
||||
outerPlayer,
|
||||
this,
|
||||
"PN draws a card"
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new MagicDrawAction(outerPlayer));
|
||||
game.doAction(new MagicRemoveTriggerAction(this));
|
||||
}
|
||||
}));
|
||||
game.doAction(new MagicAddTriggerAction(cantrip(event)));
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
Loading…
Reference in New Issue