Minor legibility & misc edits

This commit is contained in:
L_J 2018-12-24 02:28:55 +01:00 committed by GitHub
parent 3ff42d737d
commit f855c6b2c7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -166,8 +166,7 @@ class UrzaAcademyHeadmasterRandomEffect extends OneShotEffect {
@Override
public boolean apply(Game game, Ability source) {
Player controller = game.getPlayer(source.getControllerId());
Permanent sourcePermanent = game.getPermanentOrLKIBattlefield(source.getSourceId());
if (controller != null && sourcePermanent != null) {
if (controller != null) {
int result = RandomUtil.nextInt(20) + 1;
List<Effect> effects = new ArrayList<>();
Target target = null;
@ -177,8 +176,7 @@ class UrzaAcademyHeadmasterRandomEffect extends OneShotEffect {
// ABILITY +1
case 1:
switch (result) {
// AJANI STEADFAST 1
case 1:
case 1: // AJANI STEADFAST 1
sb.append("Until end of turn, up to one target creature gets +1/+1 and gains first strike, vigilance, and lifelink.");
effects.add(new BoostTargetEffect(1, 1, Duration.EndOfTurn));
effects.add(new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn));
@ -186,341 +184,280 @@ class UrzaAcademyHeadmasterRandomEffect extends OneShotEffect {
effects.add(new GainAbilityTargetEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn));
target = new TargetCreaturePermanent(0, 1);
break;
// AJANI MENTOR OF HEROES 1
case 2:
case 2: // AJANI MENTOR OF HEROES 1
sb.append("Distribute three +1/+1 counters among one, two, or three target creatures you control.");
effects.add(new DistributeCountersEffect(CounterType.P1P1, 3, false, "one, two, or three target creatures you control"));
target = new TargetCreaturePermanentAmount(3, filter1);
break;
// NICOL BOLAS PLANESWALKER 1
case 3:
case 3: // NICOL BOLAS PLANESWALKER 1
sb.append("Destroy target noncreature permanent.");
effects.add(new DestroyTargetEffect());
target = new TargetPermanent(filter2);
break;
// CHANDRA FLAMECALLER 1
case 4:
case 4: // CHANDRA FLAMECALLER 1
sb.append("Create two 3/1 red Elemental creature tokens with haste. Exile them at the beginning of the next end step.");
effects.add(new mage.cards.c.ChandraFlamecaller(controller.getId(), setInfo).getAbilities().get(2).getEffects().get(0));
break;
// ELSPETH SUNS CHAMPION 1
case 5:
case 5: // ELSPETH SUNS CHAMPION 1
sb.append("Create three 1/1 white Soldier creature tokens.");
effects.add(new CreateTokenEffect(new SoldierToken(), 3));
break;
// GARRUK APEX PREDATOR 2
case 6:
case 6: // GARRUK APEX PREDATOR 2
sb.append("Create a 3/3 black Beast creature token with deathtouch.");
effects.add(new CreateTokenEffect(new GarrukApexPredatorBeastToken()));
break;
// GARRUK CALLER OF BEASTS 1
case 7:
case 7: // GARRUK CALLER OF BEASTS 1
sb.append("Reveal the top five cards of your library. Put all creature cards revealed this way into your hand and the rest on the bottom of your library in any order.");
effects.add(new RevealLibraryPutIntoHandEffect(5, new FilterCreatureCard("creature cards"), Zone.LIBRARY));
break;
// GIDEON JURA 1
case 8:
case 8: // GIDEON JURA 1
sb.append("During target opponents next turn, creatures that player controls attack Urza if able.");
effects.add(new mage.cards.g.GideonJura(controller.getId(), setInfo).getAbilities().get(2).getEffects().get(0));
target = new TargetOpponent();
break;
// GIDEON CHAMPION OF JUSTICE 1
case 9:
case 9: // GIDEON CHAMPION OF JUSTICE 1
sb.append("Put a loyalty counter on Urza for each creature target opponent controls.");
effects.add(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(0), new PermanentsTargetOpponentControlsCount(new FilterCreaturePermanent()), true));
target = new TargetOpponent();
break;
// JACE ARCHITECT OF THOUGHT 1
case 10:
case 10: // JACE ARCHITECT OF THOUGHT 1
sb.append("Until your next turn, whenever a creature an opponent controls attacks, it gets -1/-0 until end of turn.");
effects.add(new mage.cards.j.JaceArchitectOfThought(controller.getId(), setInfo).getAbilities().get(2).getEffects().get(0));
break;
// KARN LIBERATED 1
case 11:
case 11: // KARN LIBERATED 1
sb.append("Target player exiles a card from his or her hand.");
effects.add(new ExileFromZoneTargetEffect(Zone.HAND, null, "", new FilterCard()));
target = new TargetPlayer();
break;
// NISSA SAGE ANIMIST 1
case 12:
case 12: // NISSA SAGE ANIMIST 1
sb.append("Reveal the top card of your library. If its a land card, put it onto the battlefield. Otherwise, put it into your hand.");
effects.add(new mage.cards.n.NissaSageAnimist(controller.getId(), setInfo).getAbilities().get(2).getEffects().get(0));
break;
// NISSA WORLDWAKER 1
case 13:
case 13: // NISSA WORLDWAKER 1
sb.append("Target land you control becomes a 4/4 Elemental creature with trample. Its still a land.");
effects.add(new mage.cards.n.NissaWorldwaker(controller.getId(), setInfo).getAbilities().get(2).getEffects().get(0));
target = new TargetPermanent(new FilterControlledLandPermanent());
break;
// SARKHAN UNBROKEN 1
case 14:
case 14: // SARKHAN UNBROKEN 1
sb.append("Draw a card, then add one mana of any color to your mana pool.");
effects.add(new mage.cards.s.SarkhanUnbroken(controller.getId(), setInfo).getAbilities().get(2).getEffects().get(0));
break;
// SARKHAN THE DRAGONSPEAKER 1
case 15:
case 15: // SARKHAN THE DRAGONSPEAKER 1
sb.append("Until end of turn, Urza becomes a legendary 4/4 red Dragon creature with flying, indestructible, and haste. (He doesnt lose loyalty while hes not a planeswalker.)");
effects.add(new mage.cards.s.SarkhanTheDragonspeaker(controller.getId(), setInfo).getAbilities().get(2).getEffects().get(0));
break;
// SORIN SOLEMN VISITOR 1
case 16:
case 16: // SORIN SOLEMN VISITOR 1
sb.append("Until your next turn, creatures you control get +1/+0 and gain lifelink.");
effects.add(new BoostControlledEffect(1, 0, Duration.UntilYourNextTurn, StaticFilters.FILTER_PERMANENT_CREATURES));
effects.add(new GainAbilityControlledEffect(LifelinkAbility.getInstance(), Duration.UntilYourNextTurn, StaticFilters.FILTER_PERMANENT_CREATURES));
break;
// TEZZERET AGENT OF BOLAS 1
case 17:
case 17: // TEZZERET AGENT OF BOLAS 1
sb.append("Look at the top five cards of your library. You may reveal an artifact card from among them and put it into your hand. Put the rest on the bottom of your library in any order.");
effects.add(new LookLibraryAndPickControllerEffect(5, 1, new FilterArtifactCard(), true));
break;
// UGIN 1
case 18:
case 18: // UGIN 1
sb.append("Urza deals 3 damage to any target.");
effects.add(new DamageTargetEffect(3));
target = new TargetAnyTarget();
break;
// VRASKA 1
case 19:
case 19: // VRASKA 1
sb.append("Until your next turn, whenever a creature deals combat damage to Urza, destroy that creature.");
effects.add(new mage.cards.v.VraskaTheUnseen(controller.getId(), setInfo).getAbilities().get(2).getEffects().get(0));
break;
// (altered) XENAGOS 1
case 20:
case 20: // (altered) XENAGOS 1
sb.append("Add X mana in any combination of colors to your mana pool, where X is the number of creatures you control.");
effects.add(new UrzaAcademyHeadmasterManaEffect());
break;
}
break;
// ABILITY -1
case 2:
switch (result) {
// (altered) CHANDRA FLAMECALLER 3
case 1:
case 1: // (altered) CHANDRA FLAMECALLER 3
sb.append("Urza deals 3 damage to each creature.");
effects.add(new DamageAllEffect(3, StaticFilters.FILTER_PERMANENT_CREATURE));
break;
// NICOL BOLAS PLANESWALKER 2
case 2:
case 2: // NICOL BOLAS PLANESWALKER 2
sb.append("Gain control of target creature.");
effects.add(new GainControlTargetEffect(Duration.Custom));
target = new TargetCreaturePermanent();
break;
// (double) SORIN MARKOV 1
case 3:
case 3: // (double) SORIN MARKOV 1
sb.append("Urza deals 4 damage to target creature or player and you gain 4 life.");
effects.add(new DamageTargetEffect(4));
effects.add(new GainLifeEffect(4));
target = new TargetAnyTarget();
break;
// GARRUK APEX PREDATOR 3
case 4:
case 4: // GARRUK APEX PREDATOR 3
sb.append("Destroy target creature. You gain life equal to its toughness.");
effects.add(new DestroyTargetEffect());
effects.add(new mage.cards.g.GarrukApexPredator(controller.getId(), setInfo).getAbilities().get(4).getEffects().get(1));
target = new TargetCreaturePermanent();
break;
// GIDEON ALLY OF ZENDIKAR 3
case 5:
case 5: // GIDEON ALLY OF ZENDIKAR 3
sb.append("You get an emblem with “Creatures you control get +1/+1.”");
effects.add(new GetEmblemEffect(new GideonAllyOfZendikarEmblem()));
break;
// (altered) GARRUK CALLER OF BEASTS 2
case 6:
case 6: // (altered) GARRUK CALLER OF BEASTS 2
sb.append("You may put a creature card from your hand onto the battlefield.");
effects.add(new PutCardFromHandOntoBattlefieldEffect(new FilterCreatureCard()));
break;
// (altered) JACE THE MIND SCULPTOR 2
case 7:
case 7: // (altered) JACE THE MIND SCULPTOR 2
sb.append("Draw three cards, then put a card from your hand on top of your library.");
effects.add(new UrzaAcademyHeadmasterBrainstormEffect());
break;
// JACE MEMORY ADEPT 2
case 8:
case 8: // JACE MEMORY ADEPT 2
sb.append("Target player puts the top ten cards of his or her library into his or her graveyard.");
effects.add(new PutLibraryIntoGraveTargetEffect(10));
target = new TargetPlayer();
break;
// JACE ARCHITECT OF THOUGHT 2
case 9:
case 9: // JACE ARCHITECT OF THOUGHT 2
sb.append("Reveal the top five cards of your library. An opponent separates those cards into two piles. Put one pile into your hand and the other on the bottom of your library in any order.");
effects.add(new mage.cards.j.JaceArchitectOfThought(controller.getId(), setInfo).getAbilities().get(3).getEffects().get(0));
break;
// KARN LIBERATED 2
case 10:
case 10: // KARN LIBERATED 2
sb.append("Exile target permanent.");
effects.add(new ExileTargetEffect());
target = new TargetPermanent();
break;
// (altered) GARRUK CALLER OF BEASTS 1
case 11:
case 11: // (altered) GARRUK CALLER OF BEASTS 1
sb.append("Reveal the top five cards of your library. You may put all creature cards and/or land cards from among them into your hand. Put the rest into your graveyard.");
effects.add(new RevealLibraryPutIntoHandEffect(5, filter3, Zone.LIBRARY));
break;
// (altered) LILIANA VESS 2
case 12:
case 12: // (altered) LILIANA VESS 2
sb.append("Search your library for a card and put that card into your hand. Then shuffle your library.");
effects.add(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(new FilterCard("a card")), false, true));
break;
// (double) LILIANA OF THE VEIL 2
case 13:
case 13: // (double) LILIANA OF THE VEIL 2
sb.append("Target player sacrifices two creatures.");
effects.add(new SacrificeEffect(StaticFilters.FILTER_PERMANENT_CREATURE, 2, "Target player"));
target = new TargetPlayer();
break;
// OB NIXILIS OF THE BLACK OATH 2
case 14:
case 14: // OB NIXILIS OF THE BLACK OATH 2
sb.append("Create a 5/5 black Demon creature token with flying. You lose 2 life.");
effects.add(new CreateTokenEffect(new DemonToken()));
effects.add(new LoseLifeSourceControllerEffect(2));
break;
// (gold) SARKHAN UNBROKEN 2
case 15:
case 15: // (gold) SARKHAN UNBROKEN 2
sb.append("Create a 4/4 gold Dragon creature token with flying.");
effects.add(new CreateTokenEffect(new DragonTokenGold(), 1));
break;
// SORIN MARKOV 2
case 16:
case 16: // SORIN MARKOV 2
sb.append("Target players life total becomes 10.");
effects.add(new mage.cards.s.SorinMarkov(controller.getId(), setInfo).getAbilities().get(3).getEffects().get(0));
target = new TargetPlayer();
break;
// VRASKA 2
case 17:
case 17: // VRASKA 2
sb.append("Destroy target nonland permanent.");
effects.add(new DestroyTargetEffect());
target = new TargetNonlandPermanent();
break;
// UNIQUE
case 18:
case 18: // UNIQUE
sb.append("Return target permanent from a graveyard to the battlefield under your control.");
effects.add(new ReturnFromGraveyardToBattlefieldTargetEffect());
target = new TargetCardInGraveyard(new FilterPermanentCard());
break;
// (double) GARRUK WILDSPEAKER 2
case 19:
case 19: // (double) GARRUK WILDSPEAKER 2
sb.append("Create two 3/3 green Beast creature tokens.");
effects.add(new CreateTokenEffect(new BeastToken(), 2));
break;
// UNIQUE
case 20:
case 20: // UNIQUE
sb.append("Draw four cards and discard two cards.");
effects.add(new DrawCardSourceControllerEffect(4));
effects.add(new DiscardControllerEffect(2));
break;
}
break;
// ABILITY -6
case 3:
switch (result) {
// NICOL BOLAS PLANESWALKER 3
case 1:
case 1: // NICOL BOLAS PLANESWALKER 3
sb.append("Urza deals 7 damage to target player. That player discards seven cards, then sacrifices seven permanents.");
effects.add(new DamageTargetEffect(7));
effects.add(new DiscardTargetEffect(7));
effects.add(new SacrificeEffect(new FilterPermanent(), 7, "then"));
target = new TargetPlayerOrPlaneswalker();
break;
// AJANI STEADFAST 3
case 2:
case 2: // AJANI STEADFAST 3
sb.append("You get an emblem with “If a source would deal damage to you or a planeswalker you control, prevent all but 1 of that damage.”");
effects.add(new GetEmblemEffect(new AjaniSteadfastEmblem()));
break;
// AJANI VENGEANT 3
case 3:
case 3: // AJANI VENGEANT 3
sb.append("Destroy all lands target player controls.");
effects.add(new DestroyAllControlledTargetEffect(new FilterLandPermanent()));
target = new TargetPlayer();
break;
// AJANI CALLER OF THE PRIDE 3
case 4:
case 4: // AJANI CALLER OF THE PRIDE 3
sb.append("Create X 2/2 white Cat creature tokens, where X is your life total.");
effects.add(new CreateTokenEffect(new CatToken(), new ControllerLifeCount()));
break;
// AJANI MENTOR OF HEROES 3
case 5:
case 5: // AJANI MENTOR OF HEROES 3
sb.append("You gain 100 life.");
effects.add(new GainLifeEffect(100));
break;
// CHANDRA NALAAR 3
case 6:
case 6: // CHANDRA NALAAR 3
sb.append("Urza deals 10 damage to target player and each creature he or she controls.");
effects.add(new DamageTargetEffect(10));
effects.add(new DamageAllControlledTargetEffect(10, new FilterCreaturePermanent()));
target = new TargetPlayerOrPlaneswalker();
break;
// DOMRI RADE 3
case 7:
case 7: // DOMRI RADE 3
sb.append("You get an emblem with “Creatures you control have double strike, trample, hexproof, and haste.”");
effects.add(new GetEmblemEffect(new DomriRadeEmblem()));
break;
// ELSPETH KNIGHT ERRANT 3
case 8:
case 8: // ELSPETH KNIGHT ERRANT 3
sb.append("You get an emblem with “Artifacts, creatures, enchantments, and lands you control have indestructible.”");
effects.add(new GetEmblemEffect(new ElspethKnightErrantEmblem()));
break;
// GARRUK PRIMAL HUNTER 3
case 9:
case 9: // GARRUK PRIMAL HUNTER 3
sb.append("Create a 6/6 green Wurm creature token for each land you control.");
effects.add(new CreateTokenEffect(new WurmToken(), new PermanentsOnBattlefieldCount(new FilterControlledLandPermanent())));
break;
// JACE THE LIVING GUILDPACT 3
case 10:
case 10: // JACE THE LIVING GUILDPACT 3
sb.append("Each player shuffles his or her hand and graveyard into his or her library. You draw seven cards.");
effects.add(new ShuffleHandGraveyardAllEffect());
effects.add(new DrawCardSourceControllerEffect(7));
break;
// SORIN LORD OF INNISTRAD 3
case 11:
case 11: // SORIN LORD OF INNISTRAD 3
sb.append("Destroy up to three target creatures and/or other planeswalkers. Return each card put into a graveyard this way to the battlefield under your control.");
effects.add(new mage.cards.s.SorinLordOfInnistrad(controller.getId(), setInfo).getAbilities().get(4).getEffects().get(0));
target = new TargetPermanent(0, 3, filter4, false);
break;
// VENSER 3
case 12:
case 12: // VENSER 3
sb.append("You get an emblem with “Whenever you cast a spell, exile target permanent.”");
effects.add(new GetEmblemEffect(new VenserTheSojournerEmblem()));
break;
// KIORA MASTER OF THE DEPTHS 3
case 13:
case 13: // KIORA MASTER OF THE DEPTHS 3
sb.append("You get an emblem with “Whenever a creature enters the battlefield under your control, you may have it fight target creature.” Then create three 8/8 blue Octopus creature tokens.");
effects.add(new CreateTokenEffect(new OctopusToken(), 3));
effects.add(new GetEmblemEffect(new KioraMasterOfTheDepthsEmblem()));
break;
// SORIN MARKOV 3
case 14:
case 14: // SORIN MARKOV 3
sb.append("You control target player during that players next turn.");
effects.add(new ControlTargetPlayerNextTurnEffect());
target = new TargetPlayer();
break;
// JACE THE MIND SCULPTOR 4
case 15:
case 15: // JACE THE MIND SCULPTOR 4
sb.append("Exile all cards from target players library, then that player shuffles his or her hand into his or her library.");
effects.add(new mage.cards.j.JaceTheMindSculptor(controller.getId(), setInfo).getAbilities().get(5).getEffects().get(0));
target = new TargetPlayer();
break;
// VRASKA 3
case 16:
case 16: // VRASKA 3
sb.append("Create three 1/1 black Assassin creature tokens with “Whenever this creature deals combat damage to a player, that player loses the game.”");
effects.add(new CreateTokenEffect(new AssassinToken()));
break;
// LILIANA VESS 3
case 17:
case 17: // LILIANA VESS 3
sb.append("Put all creature cards from all graveyards onto the battlefield under your control.");
effects.add(new mage.cards.l.LilianaVess(controller.getId(), setInfo).getAbilities().get(4).getEffects().get(0));
break;
// NISSA VOICE OF ZENDIKAR 3
case 18:
case 18: // NISSA VOICE OF ZENDIKAR 3
sb.append("You gain X life and draw X cards, where X is the number of lands you control.");
effects.add(new GainLifeEffect(new PermanentsOnBattlefieldCount(new FilterControlledLandPermanent())));
effects.add(new DrawCardSourceControllerEffect(new PermanentsOnBattlefieldCount(new FilterControlledLandPermanent())));
break;
// RAL ZAREK 3
case 19:
case 19: // RAL ZAREK 3
sb.append("Flip five coins. Take an extra turn after this one for each coin that comes up heads.");
effects.add(new mage.cards.r.RalZarek(controller.getId(), setInfo).getAbilities().get(4).getEffects().get(0));
break;
// UGIN 3
case 20:
case 20: // UGIN 3
sb.append("You gain 7 life, draw seven cards, then put up to seven permanent cards from your hand onto the battlefield.");
effects.add(new mage.cards.u.UginTheSpiritDragonEffect3());
}
@ -543,8 +480,8 @@ class UrzaAcademyHeadmasterRandomEffect extends OneShotEffect {
effect.apply(game, source);
}
}
return true;
}
return true;
}
return false;
}