Tweak the Pillar of the Paruns format (#11197)

This commit is contained in:
Susucre 2023-09-25 04:09:38 +02:00 committed by GitHub
parent 1a13dcd091
commit 1acb1d6c9a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 95 additions and 10 deletions

View file

@ -537,6 +537,9 @@ public class ScryfallImageSupportCards {
add("LCC"); // Lost Caverns of Ixalan Commander
add("REX"); // Jurassic World Collection
add("SPG"); // Special Guests
// Custom sets using Scryfall images - must provide a direct link for each card in directDownloadLinks
add("CALC"); // Custom Alchemized versions of existing cards
}
};
@ -1003,6 +1006,9 @@ public class ScryfallImageSupportCards {
put("PMEI/Jamuraan Lion/10*", "https://api.scryfall.com/cards/pmei/10★/");
// PRES
put("PRES/Lathliss, Dragon Queen/149*", "https://api.scryfall.com/cards/pres/149★/");
// CALC -- custom alchemy version of cards.
put("CALC/C-Pillar of the Paruns", "https://api.scryfall.com/cards/dis/176/");
}
};

View file

@ -32,9 +32,10 @@ import java.util.UUID;
* To summarize, this uses the default rules for a 1v1 limited match,
* with two additional custom rules: <p>
* -> At the beginning of each player's first main phase, that player
* conjure into play a Pillar of the Paruns. This does count as a
* land drop for the turn. <p>
* -> The starting hand size is 6, not 7.
* conjure into play a custom version of Pillar of the Paruns. This
* does count as a land drop for the turn. The custom Pillar has
* hexproof and gain "{T}: add {1}."<p>
* -> The starting hand size is 6, and the starting life count is 25.
* <p> <p>
* I did took the inspiration for the mode from this cube list (not
* sure it is the original source for the idea, but i did not found
@ -49,7 +50,7 @@ import java.util.UUID;
public class CustomPillarOfTheParunsDuel extends GameImpl {
public CustomPillarOfTheParunsDuel(MultiplayerAttackOption attackOption, RangeOfInfluence range, Mulligan mulligan) {
super(attackOption, range, mulligan, 20, 40, 6);
super(attackOption, range, mulligan, 25, 40, 6);
}
@Override
@ -57,7 +58,10 @@ public class CustomPillarOfTheParunsDuel extends GameImpl {
super.init(choosingPlayerId);
getPlayers().forEach((playerId, p) -> {
addDelayedTriggeredAbility(new AtTheBeginOfPlayerFirstMainPhase(playerId, "Pillar of the Paruns"), null);
addDelayedTriggeredAbility(
new AtTheBeginOfPlayerFirstMainPhase(playerId, "C-Pillar of the Paruns"),
null // TODO: Not sure how to mock something to be displayed instead.
);
});
state.getTurnMods().add(new TurnMod(startingPlayerId).withSkipStep(PhaseStep.DRAW));

View file

@ -0,0 +1,46 @@
package mage.cards.p;
import mage.abilities.keyword.HexproofAbility;
import mage.abilities.mana.ColorlessManaAbility;
import mage.abilities.mana.ConditionalAnyColorManaAbility;
import mage.abilities.mana.conditional.ConditionalSpellManaBuilder;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.StaticFilters;
import java.util.UUID;
/**
* Custom version of Pillar of the Paruns.
* Tweaked for the needs of the Pillar of the Paruns custom mode.
*
* Has Hexproof and "{T}: Add {1}"
*
* @author Susucr
*/
public final class PillarOfTheParunsCustom extends CardImpl {
public PillarOfTheParunsCustom(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
// Custom: Hexproof
this.addAbility(HexproofAbility.getInstance());
// Custom: {T}: Add {1}
this.addAbility(new ColorlessManaAbility());
// {T}: Add one mana of any color. Spend this mana only to cast a multicolored spell.
this.addAbility(new ConditionalAnyColorManaAbility(1, new ConditionalSpellManaBuilder(StaticFilters.FILTER_SPELL_A_MULTICOLORED)));
}
private PillarOfTheParunsCustom(final PillarOfTheParunsCustom card) {
super(card);
}
@Override
public PillarOfTheParunsCustom copy() {
return new PillarOfTheParunsCustom(this);
}
}

View file

@ -0,0 +1,29 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
* Custom version of the official cards.
* Similar to Alchemy tweaks of cards.
* @author Susucr
*/
public final class CustomAlchemy extends ExpansionSet {
private static final CustomAlchemy instance = new CustomAlchemy();
public static CustomAlchemy getInstance() {
return instance;
}
private CustomAlchemy() {
super("Custom Alchemy", "CALC", ExpansionSet.buildDate(2023, 9, 24), SetType.CUSTOM_SET);
this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("C-Pillar of the Paruns", 1, Rarity.SPECIAL, mage.cards.p.PillarOfTheParunsCustom.class));
}
}