[RNA] added tokens and download support from scryfall;

This commit is contained in:
Oleg Agafonov 2019-01-12 21:13:56 +04:00
parent 5a91494be3
commit 1b55cbd44c
15 changed files with 140 additions and 62 deletions

View file

@ -0,0 +1,26 @@
package mage.game.permanent.token;
import mage.MageInt;
import mage.constants.CardType;
import mage.constants.SubType;
public final class BiogenicOozeToken extends TokenImpl {
public BiogenicOozeToken() {
super("Ooze", "2/2 green Ooze creature token");
cardType.add(CardType.CREATURE);
subtype.add(SubType.OOZE);
color.setGreen(true);
this.power = new MageInt(2);
this.toughness = new MageInt(2);
setOriginalExpansionSetCode("RNA");
}
public BiogenicOozeToken(final BiogenicOozeToken token) {
super(token);
}
public BiogenicOozeToken copy() {
return new BiogenicOozeToken(this);
}
}

View file

@ -1,17 +1,15 @@
package mage.game.permanent.token;
import mage.MageInt;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.util.RandomUtil;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.MageInt;
import mage.util.RandomUtil;
/**
*
* @author LevelX2
*/
public final class CentaurToken extends TokenImpl {
@ -19,13 +17,16 @@ public final class CentaurToken extends TokenImpl {
final static private List<String> tokenImageSets = new ArrayList<>();
static {
tokenImageSets.addAll(Arrays.asList("RTR", "MM3"));
tokenImageSets.addAll(Arrays.asList("RTR", "MM3", "RNA"));
}
public CentaurToken() {
super("Centaur", "3/3 green Centaur creature token");
cardType.add(CardType.CREATURE);
setTokenType(RandomUtil.nextInt(2) +1); // randomly take image 1 or 2
availableImageSetCodes = tokenImageSets;
if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("RNA")) {
setTokenType(RandomUtil.nextInt(2) + 1); // randomly take image 1 or 2
}
color.setGreen(true);
subtype.add(SubType.CENTAUR);
power = new MageInt(3);

View file

@ -1,19 +1,16 @@
package mage.game.permanent.token;
import mage.MageInt;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.MageInt;
/**
*
* @author spjspj
*/
public final class FrogLizardToken extends TokenImpl {
public FrogLizardToken() {
super("Frog Lizard", "3/3 green Frog Lizard creature token");
this.setOriginalExpansionSetCode("GTC");
cardType.add(CardType.CREATURE);
color.setGreen(true);

View file

@ -1,16 +1,15 @@
package mage.game.permanent.token;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import mage.MageInt;
import mage.abilities.keyword.HasteAbility;
import mage.constants.CardType;
import mage.constants.SubType;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
*
* @author North
*/
public final class GoblinToken extends TokenImpl {
@ -20,7 +19,7 @@ public final class GoblinToken extends TokenImpl {
static {
tokenImageSets.addAll(Arrays.asList("10E", "ALA", "SOM", "M10", "NPH", "M13", "RTR",
"MMA", "M15", "C14", "KTK", "EVG", "DTK", "ORI", "DDG", "DDN", "DD3EVG", "MM2",
"MM3", "EMA", "C16", "DOM", "ANA"));
"MM3", "EMA", "C16", "DOM", "ANA", "RNA"));
}
public GoblinToken(boolean withHaste) {

View file

@ -1,14 +1,12 @@
package mage.game.permanent.token;
import java.util.Arrays;
import mage.MageInt;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.MageInt;
import java.util.Arrays;
/**
*
* @author LoneFox
*/
public final class HumanToken extends TokenImpl {
@ -20,7 +18,7 @@ public final class HumanToken extends TokenImpl {
subtype.add(SubType.HUMAN);
power = new MageInt(1);
toughness = new MageInt(1);
availableImageSetCodes.addAll(Arrays.asList("DKA", "AVR", "FNMP"));
availableImageSetCodes.addAll(Arrays.asList("DKA", "AVR", "FNMP", "RNA"));
}
public HumanToken(final HumanToken token) {
@ -28,7 +26,7 @@ public final class HumanToken extends TokenImpl {
}
@Override
public HumanToken copy() {
public HumanToken copy() {
return new HumanToken(this);
}

View file

@ -1,4 +1,3 @@
package mage.game.permanent.token;
import mage.MageInt;
@ -16,6 +15,7 @@ public final class MesmerizingBenthidToken extends TokenImpl {
super("Illusion", "0/2 blue Illusion creature token with \"Whenever this creature blocks a creature, that creature doesn't untap during its controller's next untap step.\"");
cardType.add(CardType.CREATURE);
color.setBlue(true);
setOriginalExpansionSetCode("RNA");
subtype.add(SubType.ILLUSION);
power = new MageInt(0);

View file

@ -1,14 +1,14 @@
package mage.game.permanent.token;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import mage.MageInt;
import mage.abilities.keyword.FlyingAbility;
import mage.constants.CardType;
import mage.constants.SubType;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* @author nantuko
*/
@ -17,7 +17,8 @@ public final class SpiritWhiteToken extends TokenImpl {
final static private List<String> tokenImageSets = new ArrayList<>();
static {
tokenImageSets.addAll(Arrays.asList("AVR", "C14", "CNS", "DDC", "DDK", "FRF", "ISD", "KTK", "M15", "MM2", "SHM", "SOI", "EMA", "C16", "MM3", "CMA", "E01", "ANA"));
tokenImageSets.addAll(Arrays.asList("AVR", "C14", "CNS", "DDC", "DDK", "FRF", "ISD", "KTK", "M15", "MM2", "SHM",
"SOI", "EMA", "C16", "MM3", "CMA", "E01", "ANA", "RNA"));
}
public SpiritWhiteToken() {

View file

@ -1,9 +1,5 @@
package mage.game.permanent.token;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.UUID;
import mage.MageObject;
import mage.MageObjectImpl;
import mage.abilities.Ability;
@ -18,6 +14,11 @@ import mage.game.permanent.PermanentToken;
import mage.players.Player;
import mage.util.RandomUtil;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.UUID;
public abstract class TokenImpl extends MageObjectImpl implements Token {
protected String description;
@ -241,6 +242,8 @@ public abstract class TokenImpl extends MageObjectImpl implements Token {
@Override
public void setOriginalExpansionSetCode(String originalExpansionSetCode) {
// TODO: remove original set code at all... token image must be takes by card source or by latest set (on null source)
// TODO: if set have same tokens then selects it by random
this.originalExpansionSetCode = originalExpansionSetCode;
setTokenDescriptor();
}

View file

@ -1,9 +1,5 @@
package mage.game.permanent.token;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import mage.abilities.Ability;
import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.costs.common.TapSourceCost;
@ -13,8 +9,11 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
*
* @author TheElk801
*/
public final class TreasureToken extends TokenImpl {
@ -22,7 +21,7 @@ public final class TreasureToken extends TokenImpl {
final static private List<String> tokenImageSets = new ArrayList<>();
static {
tokenImageSets.addAll(Arrays.asList("XLN"));
tokenImageSets.addAll(Arrays.asList("XLN", "RNA"));
}
public TreasureToken() {

View file

@ -0,0 +1,34 @@
package mage.game.permanent.token;
import mage.MageInt;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.VigilanceAbility;
import mage.constants.CardType;
import mage.constants.SubType;
/**
* @author JayDi85
*/
public final class WardenSphinxToken extends TokenImpl {
public WardenSphinxToken() {
super("Sphinx", "4/4 white and blue Sphinx creature token with flying and vigilance");
this.setOriginalExpansionSetCode("RNA");
color.setWhite(true);
color.setBlue(true);
cardType.add(CardType.CREATURE);
subtype.add(SubType.SPHINX);
power = new MageInt(4);
toughness = new MageInt(4);
this.addAbility(FlyingAbility.getInstance());
this.addAbility(VigilanceAbility.getInstance());
}
public WardenSphinxToken(final WardenSphinxToken token) {
super(token);
}
public WardenSphinxToken copy() {
return new WardenSphinxToken(this);
}
}

View file

@ -1,17 +1,15 @@
package mage.game.permanent.token;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import mage.MageInt;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.util.RandomUtil;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
*
* @author BetaSteward_at_googlemail.com
*/
public final class ZombieToken extends TokenImpl {
@ -20,7 +18,7 @@ public final class ZombieToken extends TokenImpl {
static {
tokenImageSets.addAll(Arrays.asList("10E", "M10", "M11", "M12", "M13", "M14", "M15", "MBS", "ALA", "ISD", "C14", "C15", "C16", "C17", "CNS",
"MMA", "BNG", "KTK", "DTK", "ORI", "OGW", "SOI", "EMN", "EMA", "MM3", "AKH", "CMA", "E01"));
"MMA", "BNG", "KTK", "DTK", "ORI", "OGW", "SOI", "EMN", "EMA", "MM3", "AKH", "CMA", "E01", "RNA"));
}
public ZombieToken() {