mirror of
https://github.com/correl/mage.git
synced 2024-11-28 19:19:55 +00:00
[AFC] added tokens and images support
This commit is contained in:
parent
3f21c35955
commit
0cb9266a15
14 changed files with 50 additions and 11 deletions
|
@ -637,6 +637,19 @@ public class ScryfallImageSupportTokens {
|
||||||
put("AFR/Emblem Zariel, Archduke of Avernus", "https://api.scryfall.com/cards/tafr/19/en?format=image");
|
put("AFR/Emblem Zariel, Archduke of Avernus", "https://api.scryfall.com/cards/tafr/19/en?format=image");
|
||||||
put("AFR/Zombie", "https://api.scryfall.com/cards/tafr/9/en?format=image");
|
put("AFR/Zombie", "https://api.scryfall.com/cards/tafr/9/en?format=image");
|
||||||
|
|
||||||
|
// AFC
|
||||||
|
put("AFC/Angel", "https://api.scryfall.com/cards/tafc/1/en?format=image");
|
||||||
|
put("AFC/Beast", "https://api.scryfall.com/cards/tafc/7/en?format=image");
|
||||||
|
put("AFC/Clue", "https://api.scryfall.com/cards/tafc/10/en?format=image");
|
||||||
|
put("AFC/Dragon Spirit", "https://api.scryfall.com/cards/tafc/9/en?format=image");
|
||||||
|
put("AFC/Dragon", "https://api.scryfall.com/cards/tafc/6/en?format=image");
|
||||||
|
put("AFC/Illusion", "https://api.scryfall.com/cards/tafc/3/en?format=image");
|
||||||
|
put("AFC/Knight", "https://api.scryfall.com/cards/tafc/2/en?format=image");
|
||||||
|
put("AFC/Rat", "https://api.scryfall.com/cards/tafc/5/en?format=image");
|
||||||
|
put("AFC/Saproling", "https://api.scryfall.com/cards/tafc/8/en?format=image");
|
||||||
|
put("AFC/Servo", "https://api.scryfall.com/cards/tafc/11/en?format=image");
|
||||||
|
put("AFC/Thopter", "https://api.scryfall.com/cards/tafc/12/en?format=image");
|
||||||
|
|
||||||
// generate supported sets
|
// generate supported sets
|
||||||
supportedSets.clear();
|
supportedSets.clear();
|
||||||
for (String cardName : this.keySet()) {
|
for (String cardName : this.keySet()) {
|
||||||
|
|
|
@ -1590,3 +1590,17 @@
|
||||||
|Generate|TOK:AFR|Vecna|||VecnaToken|
|
|Generate|TOK:AFR|Vecna|||VecnaToken|
|
||||||
|Generate|TOK:AFR|Wolf|||WolfToken|
|
|Generate|TOK:AFR|Wolf|||WolfToken|
|
||||||
|Generate|TOK:AFR|Zombie|||ZombieToken|
|
|Generate|TOK:AFR|Zombie|||ZombieToken|
|
||||||
|
|
||||||
|
# AFC
|
||||||
|
|Generate|TOK:AFC|Angel|||AngelToken|
|
||||||
|
|Generate|TOK:AFC|Beast|||BeastToken|
|
||||||
|
# no need tokens for Eternalize ability, but scryfall have it: https://scryfall.com/card/tafc/4/champion-of-wits
|
||||||
|
|Generate|TOK:AFC|Clue|||ClueArtifactToken|
|
||||||
|
|Generate|TOK:AFC|Dragon|||DragonToken2|
|
||||||
|
|Generate|TOK:AFC|Dragon Spirit|||VrondissRageOfAncientsToken|
|
||||||
|
|Generate|TOK:AFC|Illusion|||MinnWilyIllusionistToken|
|
||||||
|
|Generate|TOK:AFC|Knight|||KnightToken|
|
||||||
|
|Generate|TOK:AFC|Rat|||RatToken|
|
||||||
|
|Generate|TOK:AFC|Saproling|||SaprolingToken|
|
||||||
|
|Generate|TOK:AFC|Servo|||ServoToken|
|
||||||
|
|Generate|TOK:AFC|Thopter|||ThopterColorlessToken|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
package mage.cards.m;
|
package mage.cards.m;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
@ -26,8 +25,10 @@ public final class MoonsilverSpear extends CardImpl {
|
||||||
|
|
||||||
// Equipped creature has first strike.
|
// Equipped creature has first strike.
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.EQUIPMENT)));
|
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.EQUIPMENT)));
|
||||||
|
|
||||||
// Whenever equipped creature attacks, create a 4/4 white Angel creature token with flying.
|
// Whenever equipped creature attacks, create a 4/4 white Angel creature token with flying.
|
||||||
this.addAbility(new AttacksAttachedTriggeredAbility(new CreateTokenEffect(new AngelToken())));
|
this.addAbility(new AttacksAttachedTriggeredAbility(new CreateTokenEffect(new AngelToken())));
|
||||||
|
|
||||||
// Equip {4}
|
// Equip {4}
|
||||||
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(4)));
|
this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(4)));
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,10 +16,11 @@ public final class AngelToken extends TokenImpl {
|
||||||
subtype.add(SubType.ANGEL);
|
subtype.add(SubType.ANGEL);
|
||||||
power = new MageInt(4);
|
power = new MageInt(4);
|
||||||
toughness = new MageInt(4);
|
toughness = new MageInt(4);
|
||||||
|
|
||||||
addAbility(FlyingAbility.getInstance());
|
addAbility(FlyingAbility.getInstance());
|
||||||
|
|
||||||
availableImageSetCodes = Arrays.asList("APC", "AVR", "C14", "C15", "C18", "CON", "DDQ", "GTC",
|
availableImageSetCodes = Arrays.asList("APC", "AVR", "C14", "C15", "C18", "CON", "DDQ", "GTC",
|
||||||
"ISD", "M14", "MM3", "NEM", "OGW", "ORI", "PC2", "SCG", "SOI", "ZEN", "C20", "M21", "CMR");
|
"ISD", "M14", "MM3", "NEM", "OGW", "ORI", "PC2", "SCG", "SOI", "ZEN", "C20", "M21", "CMR", "AFC");
|
||||||
}
|
}
|
||||||
|
|
||||||
public AngelToken(final AngelToken token) {
|
public AngelToken(final AngelToken token) {
|
||||||
|
|
|
@ -22,7 +22,7 @@ public final class BeastToken extends TokenImpl {
|
||||||
|
|
||||||
availableImageSetCodes = Arrays.asList("5DN", "C14", "C16", "C19", "CMA", "CMD", "CN2", "GVL",
|
availableImageSetCodes = Arrays.asList("5DN", "C14", "C16", "C19", "CMA", "CMD", "CN2", "GVL",
|
||||||
"DD3C", "DD3GVL", "DDD", "DDL", "DST", "E01", "EVE", "LRW", "M10", "M11", "M12",
|
"DD3C", "DD3GVL", "DDD", "DDL", "DST", "E01", "EVE", "LRW", "M10", "M11", "M12",
|
||||||
"M13", "M14", "M15", "MM3", "NPH", "PC2", "USG", "M19", "IKO", "M21", "CMR", "C21");
|
"M13", "M14", "M15", "MM3", "NPH", "PC2", "USG", "M19", "IKO", "M21", "CMR", "C21", "AFC");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -29,7 +29,7 @@ public final class ClueArtifactToken extends TokenImpl {
|
||||||
ability.addCost(cost);
|
ability.addCost(cost);
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
availableImageSetCodes = Arrays.asList("C18", "SOI", "MH2");
|
availableImageSetCodes = Arrays.asList("C18", "SOI", "MH2", "AFC");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -22,7 +22,7 @@ public final class DragonToken2 extends TokenImpl {
|
||||||
|
|
||||||
addAbility(FlyingAbility.getInstance());
|
addAbility(FlyingAbility.getInstance());
|
||||||
|
|
||||||
availableImageSetCodes = Arrays.asList("10E", "BFZ", "C15", "C19", "CMA", "CMD", "ONS", "ROE", "SCG", "WWK", "M19", "KHM");
|
availableImageSetCodes = Arrays.asList("10E", "BFZ", "C15", "C19", "CMA", "CMD", "ONS", "ROE", "SCG", "WWK", "M19", "KHM", "AFC");
|
||||||
}
|
}
|
||||||
|
|
||||||
public DragonToken2(final DragonToken2 token) {
|
public DragonToken2(final DragonToken2 token) {
|
||||||
|
|
|
@ -23,7 +23,7 @@ public final class KnightToken extends TokenImpl {
|
||||||
toughness = new MageInt(2);
|
toughness = new MageInt(2);
|
||||||
this.addAbility(VigilanceAbility.getInstance());
|
this.addAbility(VigilanceAbility.getInstance());
|
||||||
|
|
||||||
availableImageSetCodes = Arrays.asList("C13", "C15", "CMA", "DGM", "ORI", "RTR", "M19", "ELD", "M21");
|
availableImageSetCodes = Arrays.asList("C13", "C15", "CMA", "DGM", "ORI", "RTR", "M19", "ELD", "M21", "AFC");
|
||||||
}
|
}
|
||||||
|
|
||||||
public KnightToken(final KnightToken token) {
|
public KnightToken(final KnightToken token) {
|
||||||
|
|
|
@ -13,6 +13,8 @@ import mage.filter.FilterPermanent;
|
||||||
import mage.filter.common.FilterControlledPermanent;
|
import mage.filter.common.FilterControlledPermanent;
|
||||||
import mage.filter.predicate.mageobject.AnotherPredicate;
|
import mage.filter.predicate.mageobject.AnotherPredicate;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
|
@ -36,6 +38,8 @@ public final class MinnWilyIllusionistToken extends TokenImpl {
|
||||||
addAbility(new SimpleStaticAbility(new BoostSourceEffect(
|
addAbility(new SimpleStaticAbility(new BoostSourceEffect(
|
||||||
xValue, StaticValue.get(0), Duration.WhileOnBattlefield
|
xValue, StaticValue.get(0), Duration.WhileOnBattlefield
|
||||||
).setText("this creature gets +1/+0 for each other Illusion you control")));
|
).setText("this creature gets +1/+0 for each other Illusion you control")));
|
||||||
|
|
||||||
|
availableImageSetCodes = Arrays.asList("AFC");
|
||||||
}
|
}
|
||||||
|
|
||||||
public MinnWilyIllusionistToken(final MinnWilyIllusionistToken token) {
|
public MinnWilyIllusionistToken(final MinnWilyIllusionistToken token) {
|
||||||
|
|
|
@ -19,7 +19,7 @@ public final class RatToken extends TokenImpl {
|
||||||
power = new MageInt(1);
|
power = new MageInt(1);
|
||||||
toughness = new MageInt(1);
|
toughness = new MageInt(1);
|
||||||
|
|
||||||
availableImageSetCodes = Arrays.asList("C17", "CHK", "GTC", "SHM", "ELD", "ZNC");
|
availableImageSetCodes = Arrays.asList("C17", "CHK", "GTC", "SHM", "ELD", "ZNC", "AFC");
|
||||||
}
|
}
|
||||||
|
|
||||||
public RatToken(final RatToken token) {
|
public RatToken(final RatToken token) {
|
||||||
|
|
|
@ -46,7 +46,8 @@ public final class SaprolingToken extends TokenImpl {
|
||||||
"ZNC",
|
"ZNC",
|
||||||
"CMR",
|
"CMR",
|
||||||
"TSR",
|
"TSR",
|
||||||
"C21"
|
"C21",
|
||||||
|
"AFC"
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ public final class ServoToken extends TokenImpl {
|
||||||
power = new MageInt(1);
|
power = new MageInt(1);
|
||||||
toughness = new MageInt(1);
|
toughness = new MageInt(1);
|
||||||
|
|
||||||
availableImageSetCodes = Arrays.asList("C18", "KLD", "WAR", "KHC");
|
availableImageSetCodes = Arrays.asList("C18", "KLD", "WAR", "KHC", "AFC");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -24,7 +24,7 @@ public final class ThopterColorlessToken extends TokenImpl {
|
||||||
addAbility(FlyingAbility.getInstance());
|
addAbility(FlyingAbility.getInstance());
|
||||||
|
|
||||||
availableImageSetCodes = Arrays.asList("C18", "EXO", "KLD", "MBS", "ORI", "VMA", "M19", "ZNC",
|
availableImageSetCodes = Arrays.asList("C18", "EXO", "KLD", "MBS", "ORI", "VMA", "M19", "ZNC",
|
||||||
"KHC", "C21", "MH2");
|
"KHC", "C21", "MH2", "AFC");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -9,6 +9,8 @@ import mage.constants.Zone;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.events.GameEvent;
|
import mage.game.events.GameEvent;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
public final class VrondissRageOfAncientsToken extends TokenImpl {
|
public final class VrondissRageOfAncientsToken extends TokenImpl {
|
||||||
|
|
||||||
public VrondissRageOfAncientsToken() {
|
public VrondissRageOfAncientsToken() {
|
||||||
|
@ -20,7 +22,10 @@ public final class VrondissRageOfAncientsToken extends TokenImpl {
|
||||||
subtype.add(SubType.SPIRIT);
|
subtype.add(SubType.SPIRIT);
|
||||||
power = new MageInt(5);
|
power = new MageInt(5);
|
||||||
toughness = new MageInt(4);
|
toughness = new MageInt(4);
|
||||||
|
|
||||||
this.addAbility(new VrondissRageOfAncientsTokenTriggeredAbility());
|
this.addAbility(new VrondissRageOfAncientsTokenTriggeredAbility());
|
||||||
|
|
||||||
|
availableImageSetCodes = Arrays.asList("AFC");
|
||||||
}
|
}
|
||||||
|
|
||||||
public VrondissRageOfAncientsToken(final VrondissRageOfAncientsToken token) {
|
public VrondissRageOfAncientsToken(final VrondissRageOfAncientsToken token) {
|
||||||
|
|
Loading…
Reference in a new issue