mirror of
https://github.com/correl/mage.git
synced 2024-11-14 19:19:32 +00:00
[VOC] added tokens and images support
This commit is contained in:
parent
1fcdbe4b63
commit
424fc919a7
10 changed files with 47 additions and 32 deletions
|
@ -683,6 +683,14 @@ public class ScryfallImageSupportTokens {
|
|||
put("MID/Zombie/1", "https://api.scryfall.com/cards/tmid/5/en?format=image"); // decayed
|
||||
put("MID/Zombie/2", "https://api.scryfall.com/cards/tmid/15/en?format=image"); // menace
|
||||
|
||||
// VOC
|
||||
put("VOC/Angel", "https://api.scryfall.com/cards/tvoc/2/en?format=image");
|
||||
put("VOC/Bat", "https://api.scryfall.com/cards/tvoc/4/en?format=image");
|
||||
put("VOC/Clue", "https://api.scryfall.com/cards/tvoc/5/en?format=image");
|
||||
put("VOC/Spirit/1", "https://api.scryfall.com/cards/tvoc/1/en?format=image"); // 1/1
|
||||
put("VOC/Spirit/2", "https://api.scryfall.com/cards/tvoc/3/en?format=image"); // 3/3
|
||||
put("VOC/Thopter", "https://api.scryfall.com/cards/tvoc/6/en?format=image");
|
||||
|
||||
|
||||
// generate supported sets
|
||||
supportedSets.clear();
|
||||
|
|
|
@ -1635,4 +1635,12 @@
|
|||
|Generate|TOK:MID|Vampire|||HungryForMoreVampireToken|
|
||||
|Generate|TOK:MID|Wolf|||WolfToken|
|
||||
|Generate|TOK:MID|Zombie|1||ZombieDecayedToken|
|
||||
|Generate|TOK:MID|Zombie|2||ZombieMenaceToken|
|
||||
|Generate|TOK:MID|Zombie|2||ZombieMenaceToken|
|
||||
|
||||
# VOC
|
||||
|Generate|TOK:VOC|Angel|||AngelToken|
|
||||
|Generate|TOK:VOC|Bat|||BatToken|
|
||||
|Generate|TOK:VOC|Clue|||ClueArtifactToken|
|
||||
|Generate|TOK:VOC|Spirit|1||SpiritToken|
|
||||
|Generate|TOK:VOC|Spirit|2||AnotherSpiritToken|
|
||||
|Generate|TOK:VOC|Thopter|||ThopterColorlessToken|
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.cards.g;
|
||||
|
||||
import java.util.UUID;
|
||||
|
@ -34,6 +33,7 @@ public final class GeistOfSaintTraft extends CardImpl {
|
|||
|
||||
// Hexproof
|
||||
this.addAbility(HexproofAbility.getInstance());
|
||||
|
||||
// Whenever Geist of Saint Traft attacks, create a 4/4 white Angel creature token with flying tapped and attacking. Exile that token at end of combat.
|
||||
this.addAbility(new AttacksTriggeredAbility(new GeistOfSaintTraftEffect(), false));
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@ public final class OyobiWhoSplitTheHeavens extends CardImpl {
|
|||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(6);
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// Whenever you cast a Spirit or Arcane spell, create a 3/3 white Spirit creature token with flying.
|
||||
this.addAbility(new SpellCastControllerTriggeredAbility(new CreateTokenEffect(new AnotherSpiritToken()), StaticFilters.FILTER_SPIRIT_OR_ARCANE_CARD, false));
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ public final class AngelToken extends TokenImpl {
|
|||
addAbility(FlyingAbility.getInstance());
|
||||
|
||||
availableImageSetCodes = Arrays.asList("APC", "AVR", "C14", "C15", "C18", "CON", "DDQ", "GTC",
|
||||
"ISD", "M14", "MM3", "NEM", "OGW", "ORI", "PC2", "SCG", "SOI", "ZEN", "C20", "M21", "CMR", "AFC");
|
||||
"ISD", "M14", "MM3", "NEM", "OGW", "ORI", "PC2", "SCG", "SOI", "ZEN", "C20", "M21", "CMR", "AFC", "VOC");
|
||||
}
|
||||
|
||||
public AngelToken(final AngelToken token) {
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
|
||||
|
||||
package mage.game.permanent.token;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class AnotherSpiritToken extends TokenImpl {
|
||||
|
@ -19,8 +19,21 @@ public final class AnotherSpiritToken extends TokenImpl {
|
|||
subtype.add(SubType.SPIRIT);
|
||||
power = new MageInt(3);
|
||||
toughness = new MageInt(3);
|
||||
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
availableImageSetCodes = Arrays.asList("BOK", "VOC");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setExpansionSetCodeForImage(String code) {
|
||||
super.setExpansionSetCodeForImage(code);
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("VOC")) {
|
||||
setTokenType(2);
|
||||
}
|
||||
}
|
||||
|
||||
public AnotherSpiritToken(final AnotherSpiritToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ public final class BatToken extends TokenImpl {
|
|||
toughness = new MageInt(1);
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
availableImageSetCodes = Arrays.asList("GVL", "DDD", "GPT", "MMA", "M19", "MID");
|
||||
availableImageSetCodes = Arrays.asList("GVL", "DDD", "GPT", "MMA", "M19", "MID", "VOC");
|
||||
}
|
||||
|
||||
public BatToken(final BatToken token) {
|
||||
|
|
|
@ -29,7 +29,7 @@ public final class ClueArtifactToken extends TokenImpl {
|
|||
ability.addCost(cost);
|
||||
this.addAbility(ability);
|
||||
|
||||
availableImageSetCodes = Arrays.asList("C18", "SOI", "MH2", "AFC", "MID");
|
||||
availableImageSetCodes = Arrays.asList("C18", "SOI", "MH2", "AFC", "MID", "VOC");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -4,40 +4,21 @@ import mage.MageInt;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Loki
|
||||
*/
|
||||
public final class SpiritToken extends TokenImpl {
|
||||
|
||||
static final private List<String> tokenImageSets = new ArrayList<>();
|
||||
|
||||
static {
|
||||
tokenImageSets.addAll(Arrays.asList("CHK", "EMA", "C16", "C19"));
|
||||
}
|
||||
|
||||
public SpiritToken() {
|
||||
this(null, 0);
|
||||
}
|
||||
|
||||
public SpiritToken(String setCode) {
|
||||
this(setCode, 0);
|
||||
}
|
||||
|
||||
public SpiritToken(String setCode, int tokenType) {
|
||||
super("Spirit", "1/1 colorless Spirit creature token");
|
||||
availableImageSetCodes = tokenImageSets;
|
||||
setOriginalExpansionSetCode(setCode);
|
||||
if (tokenType > 0) {
|
||||
setTokenType(tokenType);
|
||||
}
|
||||
cardType.add(CardType.CREATURE);
|
||||
subtype.add(SubType.SPIRIT);
|
||||
power = new MageInt(1);
|
||||
toughness = new MageInt(1);
|
||||
|
||||
availableImageSetCodes = Arrays.asList("C19", "CHK", "EMA", "EXP", "SOK", "V12", "VOC");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -47,6 +28,10 @@ public final class SpiritToken extends TokenImpl {
|
|||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("BOK")) {
|
||||
setTokenType(2);
|
||||
}
|
||||
|
||||
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("EMA")) {
|
||||
setTokenType(2);
|
||||
}
|
||||
}
|
||||
|
||||
public SpiritToken(final SpiritToken token) {
|
||||
|
|
|
@ -24,7 +24,7 @@ public final class ThopterColorlessToken extends TokenImpl {
|
|||
addAbility(FlyingAbility.getInstance());
|
||||
|
||||
availableImageSetCodes = Arrays.asList("C18", "EXO", "KLD", "MBS", "ORI", "VMA", "M19", "ZNC",
|
||||
"KHC", "C21", "MH2", "AFC");
|
||||
"KHC", "C21", "MH2", "AFC", "VOC");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in a new issue