Fix bugs and indentation.

master
Bilbo 2018-10-29 21:21:35 +01:00 committed by Melvin Zhang
parent de848bd7f2
commit 73ec24e8e5
12 changed files with 62 additions and 87 deletions

View File

@ -1,14 +1,14 @@
[
new MagicPlaneswalkerActivation(-3) {
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
public MagicEvent getPermanentEvent(final MagicPermanent source, final MagicPayedCost payedCost) {
return new MagicEvent(
source,
NEG_TARGET_CREATURE,
MagicExileTargetPicker.create(),
this,
"PN untaps target creature\$ and gains control of it until end of turn. " +
"That creature gains haste until end of turn. "+
"That creature gains haste until end of turn. " +
"Sacrifice it at the beginning of the next end step if it has converted mana cost 3 or less."
);
}
@ -16,18 +16,18 @@
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPermanent(game, {
game.doAction(new GainControlAction(event.getPlayer(),it,MagicStatic.UntilEOT));
game.doAction(new GainControlAction(event.getPlayer(), it, MagicStatic.UntilEOT));
game.doAction(new UntapAction(it));
game.doAction(new GainAbilityAction(it,MagicAbility.Haste));
game.doAction(new GainAbilityAction(it, MagicAbility.Haste));
if (it.getConvertedCost() <= 3) {
game.doAction(new AddTriggerAction(it, AtEndOfTurnTrigger.Sacrifice));
game.doAction(new AddTriggerAction(it, AtEndOfTurnTrigger.Sacrifice));
}
});
}
},
new MagicPlaneswalkerActivation(-8) {
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source,final MagicPayedCost payedCost) {
public MagicEvent getPermanentEvent(final MagicPermanent source, final MagicPayedCost payedCost) {
return new MagicEvent(
source,
this,
@ -38,9 +38,9 @@
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
final MagicPlayer player = event.getPlayer();
final int amount=CARD_FROM_GRAVEYARD.filter(event.getSource().getOpponent()).size();
game.logAppendValue(player,amount);
game.doAction(new ChangeLifeAction(player.getOpponent(),-amount));
final int amount = CARD_FROM_GRAVEYARD.filter(player.getOpponent()).size();
game.logAppendValue(player, amount);
game.doAction(new ChangeLifeAction(player.getOpponent(), -amount));
}
}
]

View File

@ -6,7 +6,7 @@
otherPermanent.isCreature() &&
otherPermanent.isFriend(permanent)) {
final int amount = permanent.getCounters(MagicCounterType.PlusOne);
if (amount > 0 ) {
if (amount > 0) {
game.doAction(new ChangeCountersAction(permanent.getController(), otherPermanent, MagicCounterType.PlusOne, amount));
game.logAppendMessage(
permanent.getController(),

View File

@ -1,16 +1,16 @@
def action = {
final MagicGame game, final MagicEvent event ->
event.processTargetPlayer(game, {
final MagicPlayer player = event.getPlayer();
final int BC = BLACK_CREATURE_YOU_CONTROL.filter(player).size();
game.logAppendValue(player,BC)
for (int i = 0; i < BC; i++) {
game.addEvent(new MagicSacrificePermanentEvent(event.getSource(), it, SACRIFICE_CREATURE));
}
final int RC = RED_CREATURE_YOU_CONTROL.filter(player).size();
game.logAppendValue(player,RC)
for (int i = 0; i < RC; i++) {
game.addEvent(new MagicSacrificePermanentEvent(event.getSource(), it, SACRIFICE_LAND));
event.processTargetPlayer(game, {
final MagicPlayer player = event.getPlayer();
final int BC = BLACK_CREATURE_YOU_CONTROL.filter(player).size();
game.logAppendValue(player,BC)
for (int i = 0; i < BC; i++) {
game.addEvent(new MagicSacrificePermanentEvent(event.getSource(), it, SACRIFICE_CREATURE));
}
final int RC = RED_CREATURE_YOU_CONTROL.filter(player).size();
game.logAppendValue(player,RC)
for (int i = 0; i < RC; i++) {
game.addEvent(new MagicSacrificePermanentEvent(event.getSource(), it, SACRIFICE_LAND));
}
});
}
@ -18,7 +18,7 @@ def action = {
[
new MagicSpellCardEvent() {
@Override
public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) {
public MagicEvent getEvent(final MagicCardOnStack cardOnStack, final MagicPayedCost payedCost) {
return new MagicEvent(
cardOnStack,
this,
@ -28,13 +28,13 @@ def action = {
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
game.doAction(new PlayTokensAction(event.getPlayer(), CardDefinitions.getToken("5/5 black and red Elemental creature token"), 1));
game.doAction(new PutItemOnStackAction(new MagicTriggerOnStack(new MagicEvent(
game.addEvent(new MagicEvent(
event.getSource(),
TARGET_OPPONENT,
action,
"Target opponent\$ sacrifices a creature for each black creature PN control, "+
"Target opponent\$ sacrifices a creature for each black creature PN control, " +
"then sacrifices a land for each red creature PN control."
))));
));
}
}
]

View File

@ -1,13 +1,13 @@
[
new OtherSpellIsCastTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent, final MagicCardOnStack cardOnStack) {
public MagicEvent executeTrigger(final MagicGame game, final MagicPermanent permanent, final MagicCardOnStack cardOnStack) {
return (game.getSpellsCast() == 3) ?
new MagicEvent(
permanent,
cardOnStack,
this,
"Whenever the fourth spell of a turn is cast, flip SN."
"Flip SN."
)
:
MagicEvent.NONE;
@ -18,4 +18,3 @@
}
}
]

View File

@ -7,7 +7,7 @@
permanent,
cardOnStack,
this,
"Whenever an opponent casts his or her first spell each turn, counter that spell.RN"
"Counter RN."
)
:
MagicEvent.NONE;
@ -18,5 +18,3 @@
}
}
]

View File

@ -3,21 +3,20 @@ def choice = MagicTargetChoice.Positive("another target creature you control")
[
new AtBeginOfCombatTrigger() {
@Override
public boolean accept(final MagicPermanent permanent, final MagicPlayer turnPlayer) {
return permanent.getController().getExperience() > 0;
public boolean accept(final MagicPermanent permanent, final MagicPlayer attackingPlayer) {
return (permanent.getController().getExperience() > 0) && (permanent.getController() == attackingPlayer);
}
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent, final MagicPlayer attackingPlayer) {
return permanent.getController() == attackingPlayer ?
new MagicEvent(
permanent,
choice,
this,
"PN puts X +1/+1 counters on another target creature he or she control\$, where X is the number of experience counters PN have."
):
MagicEvent.NONE;
public MagicEvent executeTrigger(final MagicGame game, final MagicPermanent permanent, final MagicPlayer attackingPlayer) {
return new MagicEvent(
permanent,
choice,
this,
"PN puts X +1/+1 counters on another target creature he or she control\$, where X is the number of experience counters PN has."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPermanent(game, {

View File

@ -14,7 +14,7 @@
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPermanent(game, {
game.doAction(new ChangeCountersAction(event.getPlayer(),it, MagicCounterType.MinusOne, event.getRefInt()));
game.doAction(new ChangeCountersAction(event.getPlayer(), it, MagicCounterType.MinusOne, event.getRefInt()));
});
}
}

View File

@ -1,7 +1,7 @@
[
new AttacksTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent creature) {
public MagicEvent executeTrigger(final MagicGame game, final MagicPermanent permanent, final MagicPermanent creature) {
return permanent.isEnemy(creature) && permanent.hasAbility(MagicAbility.Defender) ?
new MagicEvent(
permanent,
@ -13,8 +13,8 @@
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
final MagicPermanent perm = event.getPermanent();
game.doAction(new LoseAbilityAction(perm,MagicAbility.Defender, MagicStatic.Forever));
game.doAction(new GainAbilityAction(perm,MagicAbility.Trample, MagicStatic.Forever));
game.doAction(new LoseAbilityAction(perm, MagicAbility.Defender, MagicStatic.Forever));
game.doAction(new GainAbilityAction(perm, MagicAbility.Trample, MagicStatic.Forever));
}
}
]

View File

@ -1,24 +1,3 @@
def trigger = new AtEndOfTurnTrigger() {
@Override
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPlayer eotPlayer) {
return new MagicEvent(
permanent,
this,
"Exile SN."
);
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
game.doAction(new RemoveFromPlayAction(event.getPermanent(), MagicLocationType.Exile));
}
}
def playMod = {
final MagicPermanent perm ->
final MagicGame game = perm.getGame();
game.doAction(new AddTurnTriggerAction(perm, trigger));
}
[
new AtYourUpkeepTrigger() {
@Override
@ -29,19 +8,19 @@ def playMod = {
permanent,
counters,
this,
"PN remove all charge counters from SN and creates RN 3/1 red Elemental creature tokens with haste. "+
"PN remove all charge counters from SN and creates RN 3/1 red Elemental creature tokens with haste. " +
"Exile them at the beginning of the next end step."
) :
MagicEvent.NONE;
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
game.doAction(new ChangeCountersAction(event.getPlayer(),event.getPermanent(),MagicCounterType.Charge,-event.getRefInt()));
game.doAction(new ChangeCountersAction(event.getPlayer(),event.getPermanent(),MagicCounterType.Charge,-event.getRefInt()));
event.getRefInt().times {
game.doAction(new PlayTokenAction(
event.getPlayer(),
CardDefinitions.getToken("3/1 red Elemental creature token with haste"),
playMod
MagicPlayMod.EXILE_AT_END_OF_TURN
));
}
}

View File

@ -1,9 +1,9 @@
def action = {
final MagicGame game, final MagicEvent event ->
final int hand = event.getPlayer().getHandSize();
if (hand == 0) {
game.doAction(new FlipAction(event.getPermanent()));
}
final int hand = event.getPlayer().getHandSize();
if (hand == 0) {
game.doAction(new FlipAction(event.getPermanent()));
}
}
[
@ -30,8 +30,8 @@ def action = {
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPlayer(game,{
game.addEvent(new MagicDiscardEvent(event.getSource(),it));
event.processTargetPlayer(game, {
game.addEvent(new MagicDiscardEvent(event.getSource(), it));
game.addEvent(new MagicEvent(
event.getSource(),
it,

View File

@ -1,6 +1,6 @@
def action = {
final MagicGame game, final MagicEvent event ->
if (event.isYes()) {
if (event.isYes()) {
for (final MagicPlayer player : game.getAPNAP()) {
final int x = event.getCardOnStack().getX();
game.doAction(new PlayTokensAction(player, CardDefinitions.getToken("1/1 red Elemental creature token with haste"), x));
@ -12,7 +12,7 @@ def action = {
new MagicSpellCardEvent() {
@Override
public MagicEvent getEvent(final MagicCardOnStack cardOnStack, final MagicPayedCost payedCost) {
final int x=payedCost.getX();
final int x = payedCost.getX();
return new MagicEvent(
cardOnStack,
this,
@ -22,8 +22,8 @@ def action = {
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
final int x = event.getCardOnStack().getX();
game.doAction(new PlayTokensAction(event.getPlayer(), CardDefinitions.getToken("1/1 red Elemental creature token with haste"), x));
game.addEvent(new MagicEvent(event.getSource(), event.cardOnStack.getOpponent(), new MagicMayChoice("Create tokens?"), action,
game.doAction(new PlayTokensAction(event.getPlayer(), CardDefinitions.getToken("1/1 red Elemental creature token with haste"), x));
game.addEvent(new MagicEvent(event.getSource(), event.cardOnStack.getOpponent(), new MagicMayChoice("Create tokens?"), action,
"PN may\$ creates " + x + " 1/1 red Elemental creature tokens with haste. " +
"If PN does, " + event.getPlayer() + " creates " + x + " 1/1 red Elemental creature tokens with haste."
));

View File

@ -13,14 +13,14 @@
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
final MagicColor color=event.getChosenColor();
final MagicPermanentList all = new MagicPermanentList();
PERMANENT.filter(event) each {
if (it.hasColor(color)) {
all.add(it);
}
final MagicColor color = event.getChosenColor();
final MagicPermanentList all = new MagicPermanentList();
PERMANENT.filter(event) each {
if (it.hasColor(color)) {
all.add(it);
}
game.doAction(new RemoveAllFromPlayAction(all, MagicLocationType.OwnersHand));
}
game.doAction(new RemoveAllFromPlayAction(all, MagicLocationType.OwnersHand));
}
}
]