Change tribal card type to kindred, update viashino and naga (#12271)

* change tribal card type to kindred

* update viashino to lizard

* update naga to snake
This commit is contained in:
Evan Kranzler 2024-06-08 13:55:52 -04:00 committed by GitHub
parent 40a1fc6c23
commit cdf91e66fb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
177 changed files with 200 additions and 213 deletions

View file

@ -251,12 +251,12 @@ public interface MageObject extends MageItem, Serializable, Copyable<MageObject>
return getCardType(game).contains(CardType.PLANESWALKER);
}
default boolean isTribal() {
return isTribal(null);
default boolean isKindred() {
return isKindred(null);
}
default boolean isTribal(Game game) {
return getCardType(game).contains(CardType.TRIBAL);
default boolean isKindred(Game game) {
return getCardType(game).contains(CardType.KINDRED);
}
default boolean isBattle() {
@ -567,10 +567,10 @@ public interface MageObject extends MageItem, Serializable, Copyable<MageObject>
}
default boolean shareCreatureTypes(Game game, MageObject otherCard) {
if (!isCreature(game) && !isTribal(game)) {
if (!isCreature(game) && !isKindred(game)) {
return false;
}
if (!otherCard.isCreature(game) && !otherCard.isTribal(game)) {
if (!otherCard.isCreature(game) && !otherCard.isKindred(game)) {
return false;
}
boolean isAllA = this.isAllCreatureTypes(game);

View file

@ -366,12 +366,12 @@ public abstract class MageObjectImpl implements MageObject {
@Override
public void setIsAllCreatureTypes(boolean value) {
this.getSubtype().setIsAllCreatureTypes(value && (this.isTribal() || this.isCreature()));
this.getSubtype().setIsAllCreatureTypes(value && (this.isKindred() || this.isCreature()));
}
@Override
public void setIsAllCreatureTypes(Game game, boolean value) {
this.getSubtype(game).setIsAllCreatureTypes(value && (this.isTribal(game) || this.isCreature(game)));
this.getSubtype(game).setIsAllCreatureTypes(value && (this.isKindred(game) || this.isCreature(game)));
}
@Override

View file

@ -62,7 +62,7 @@ public class LoseCreatureTypeSourceEffect extends ContinuousEffectImpl {
return false;
}
permanent.removeCardType(game, CardType.CREATURE);
if (!permanent.isTribal(game)) {
if (!permanent.isKindred(game)) {
permanent.removeAllCreatureTypes(game);
}
if (permanent.isAttacking() || permanent.getBlocking() > 0) {

View file

@ -25,7 +25,7 @@ public enum CardType {
PLANESWALKER("Planeswalker", true, true),
SCHEME("Scheme", false, false),
SORCERY("Sorcery", false, true),
TRIBAL("Tribal", false, false),
KINDRED("Kindred", false, false),
VANGUARD("Vanguard", false, false);
private final String text;

View file

@ -62,7 +62,7 @@ public enum SubType {
POWERSTONE("Powerstone", SubTypeSet.ArtifactType),
TREASURE("Treasure", SubTypeSet.ArtifactType),
VEHICLE("Vehicle", SubTypeSet.ArtifactType),
// 205.3m : Creatures and tribals share their lists of subtypes; these subtypes are called creature types.
// 205.3m : Creatures and kindreds share their lists of subtypes; these subtypes are called creature types.
// A
ADVISOR("Advisor", SubTypeSet.CreatureType),
AETHERBORN("Aetherborn", SubTypeSet.CreatureType),
@ -278,7 +278,6 @@ public enum SubType {
MYR("Myr", SubTypeSet.CreatureType),
MYSTIC("Mystic", SubTypeSet.CreatureType),
// N
NAGA("Naga", SubTypeSet.CreatureType),
NAUTILUS("Nautilus", SubTypeSet.CreatureType),
NAUTOLAN("Nautolan", SubTypeSet.CreatureType, true), // Star Wars
NECRON("Necron", SubTypeSet.CreatureType),
@ -413,7 +412,6 @@ public enum SubType {
VAMPIRE("Vampire", SubTypeSet.CreatureType),
VARMINT("Varmint", SubTypeSet.CreatureType),
VEDALKEN("Vedalken", SubTypeSet.CreatureType),
VIASHINO("Viashino", SubTypeSet.CreatureType),
VILLAIN("Villain", SubTypeSet.CreatureType, true), // Unstable
VOLVER("Volver", SubTypeSet.CreatureType),
// W
@ -650,7 +648,7 @@ public enum SubType {
public boolean canGain(Game game, MageObject mageObject) {
switch (subTypeSet) {
case CreatureType:
return mageObject.isCreature(game) || mageObject.isTribal(game);
return mageObject.isCreature(game) || mageObject.isKindred(game);
case BasicLandType:
case NonBasicLandType:
return mageObject.isLand(game);