mirror of
https://github.com/correl/mage.git
synced 2025-03-17 17:00:08 -09:00
Refactored more subtypes usages to enum
This commit is contained in:
parent
245bf2f2df
commit
c33fe6a7e5
31 changed files with 40 additions and 29 deletions
|
@ -195,7 +195,7 @@ class AshiokNightmareWeaverAddTypeEffect extends ContinuousEffectImpl {
|
|||
switch (layer) {
|
||||
case TypeChangingEffects_4:
|
||||
if (sublayer == SubLayer.NA) {
|
||||
creature.getSubtype(game).add("Nightmare");
|
||||
creature.getSubtype(game).add(SubType.NIGHTMARE);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -100,7 +100,7 @@ class BloodMoonEffect extends ContinuousEffectImpl {
|
|||
// So the ability removing has to be done before Layer 6
|
||||
land.removeAllAbilities(source.getSourceId(), game);
|
||||
land.getSubtype(game).removeAll(SubType.getLandTypes(false));
|
||||
land.getSubtype(game).add("Mountain");
|
||||
land.getSubtype(game).add(SubType.MOUNTAIN);
|
||||
break;
|
||||
case AbilityAddingRemovingEffects_6:
|
||||
land.addAbility(new RedManaAbility(), source.getSourceId(), game);
|
||||
|
|
|
@ -113,7 +113,7 @@ class BludgeonBrawlAddSubtypeEffect extends ContinuousEffectImpl {
|
|||
List<Permanent> permanents = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), game);
|
||||
for (Permanent permanent : permanents) {
|
||||
if (permanent != null) {
|
||||
permanent.getSubtype(game).add("Equipment");
|
||||
permanent.getSubtype(game).add(SubType.EQUIPMENT);
|
||||
affectedPermanents.add(permanent.getId());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -119,7 +119,7 @@ class CaptivatingVampireEffect extends ContinuousEffectImpl {
|
|||
case TypeChangingEffects_4:
|
||||
if (sublayer == SubLayer.NA) {
|
||||
if (!permanent.hasSubtype(SubType.VAMPIRE, game)) {
|
||||
permanent.getSubtype(game).add("Vampire");
|
||||
permanent.getSubtype(game).add(SubType.VAMPIRE);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -116,7 +116,7 @@ class CelestialDawnToPlainsEffect extends ContinuousEffectImpl {
|
|||
break;
|
||||
case TypeChangingEffects_4:
|
||||
land.getSubtype(game).clear();
|
||||
land.getSubtype(game).add("Plains");
|
||||
land.getSubtype(game).add(SubType.PLAINS);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -90,7 +90,7 @@ class ChimericCoilsEffect extends ContinuousEffectImpl {
|
|||
case TypeChangingEffects_4:
|
||||
if (sublayer == SubLayer.NA) {
|
||||
permanent.addCardType(CardType.CREATURE);
|
||||
permanent.getSubtype(game).add("Construct");
|
||||
permanent.getSubtype(game).add(SubType.CONSTRUCT);
|
||||
}
|
||||
break;
|
||||
case PTChangingEffects_7:
|
||||
|
|
|
@ -85,7 +85,7 @@ class ChimericStaffEffect extends ContinuousEffectImpl {
|
|||
case TypeChangingEffects_4:
|
||||
if (sublayer == SubLayer.NA) {
|
||||
permanent.addCardType(CardType.CREATURE);
|
||||
permanent.getSubtype(game).add("Construct");
|
||||
permanent.getSubtype(game).add(SubType.CONSTRUCT);
|
||||
}
|
||||
break;
|
||||
case PTChangingEffects_7:
|
||||
|
|
|
@ -106,7 +106,7 @@ public class Conversion extends CardImpl {
|
|||
break;
|
||||
case TypeChangingEffects_4:
|
||||
land.getSubtype(game).clear();
|
||||
land.getSubtype(game).add("Plains");
|
||||
land.getSubtype(game).add(SubType.PLAINS);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -95,6 +95,7 @@ class ConvincingMirageContinousEffect extends ContinuousEffectImpl {
|
|||
@Override
|
||||
public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) {
|
||||
Permanent enchantment = game.getPermanent(source.getSourceId());
|
||||
// TODO fix to use SubType enum
|
||||
String choice = (String) game.getState().getValue(source.getSourceId().toString() + ChooseBasicLandTypeEffect.VALUE_KEY);
|
||||
if (enchantment != null && enchantment.getAttachedTo() != null && choice != null) {
|
||||
Permanent land = game.getPermanent(enchantment.getAttachedTo());
|
||||
|
|
|
@ -112,7 +112,7 @@ public class DragonsoulKnight extends CardImpl {
|
|||
case TypeChangingEffects_4:
|
||||
if (sublayer == SubLayer.NA) {
|
||||
permanent.getSubtype(game).clear();
|
||||
permanent.getSubtype(game).add("Dragon");
|
||||
permanent.getSubtype(game).add(SubType.DRAGON);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -135,6 +135,7 @@ class ElsewhereFlaskContinuousEffect extends ContinuousEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) {
|
||||
// TODO fix to use SubType enum
|
||||
String choice = (String) game.getState().getValue(source.getSourceId().toString() + "_ElsewhereFlask");
|
||||
if (choice != null) {
|
||||
for (Iterator<MageObjectReference> it = affectedObjectList.iterator(); it.hasNext();) {
|
||||
|
|
|
@ -42,6 +42,7 @@ import mage.cards.CardSetInfo;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.TargetController;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterCreatureCard;
|
||||
|
@ -114,7 +115,7 @@ class GodPharaohsGiftEffect extends OneShotEffect {
|
|||
token.getToughness().modifyBaseValue(4);
|
||||
token.getColor(game).setColor(ObjectColor.BLACK);
|
||||
token.getSubtype(game).clear();
|
||||
token.getSubtype(game).add("Zombie");
|
||||
token.getSubtype(game).add(SubType.ZOMBIE);
|
||||
if (token.putOntoBattlefield(1, game, source.getSourceId(), source.getControllerId())) {
|
||||
Permanent tokenPermanent = game.getPermanent(token.getLastAddedToken());
|
||||
if (tokenPermanent != null) {
|
||||
|
|
|
@ -153,7 +153,7 @@ class GrimoireOfTheDeadEffect2 extends ContinuousEffectImpl {
|
|||
break;
|
||||
case TypeChangingEffects_4:
|
||||
if (sublayer == SubLayer.NA) {
|
||||
permanent.getSubtype(game).add("Zombie");
|
||||
permanent.getSubtype(game).add(SubType.ZOMBIE);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -38,6 +38,7 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterCreatureCard;
|
||||
import mage.game.Game;
|
||||
|
@ -106,7 +107,7 @@ class HourOfEternityEffect extends OneShotEffect {
|
|||
token.getToughness().modifyBaseValue(4);
|
||||
token.getColor(game).setColor(ObjectColor.BLACK);
|
||||
token.getSubtype(game).clear();
|
||||
token.getSubtype(game).add("Zombie");
|
||||
token.getSubtype(game).add(SubType.ZOMBIE);
|
||||
token.putOntoBattlefield(1, game, source.getSourceId(), source.getControllerId());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,6 +35,7 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.game.permanent.token.Token;
|
||||
import mage.target.common.TargetLandPermanent;
|
||||
|
||||
|
@ -68,7 +69,7 @@ class HydroformToken extends Token {
|
|||
public HydroformToken() {
|
||||
super("", "3/3 Elemental creature with flying");
|
||||
this.cardType.add(CardType.CREATURE);
|
||||
this.getSubtype(null).add("Elemental");
|
||||
this.getSubtype(null).add(SubType.ELEMENTAL);
|
||||
|
||||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(3);
|
||||
|
|
|
@ -121,7 +121,7 @@ class IgnitionTeamToken extends Token {
|
|||
public IgnitionTeamToken() {
|
||||
super("", "4/4 red Elemental creature");
|
||||
this.cardType.add(CardType.CREATURE);
|
||||
this.getSubtype(null).add("Elemental");
|
||||
this.getSubtype(null).add(SubType.ELEMENTAL);
|
||||
this.color.setRed(true);
|
||||
|
||||
this.power = new MageInt(4);
|
||||
|
|
|
@ -36,6 +36,7 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
|
@ -92,8 +93,8 @@ class KinTreeInvocationCreateTokenEffect extends OneShotEffect {
|
|||
}
|
||||
|
||||
SubTypeList list = new SubTypeList();
|
||||
list.add("Spirit");
|
||||
list.add("Warrior");
|
||||
list.add(SubType.SPIRIT);
|
||||
list.add(SubType.WARRIOR);
|
||||
ObjectColor objectColor = new ObjectColor();
|
||||
objectColor.setBlack(true);
|
||||
objectColor.setGreen(true);
|
||||
|
|
|
@ -106,7 +106,7 @@ public class MagusOfTheMoon extends CardImpl {
|
|||
// So the ability removing has to be done before Layer 6
|
||||
land.removeAllAbilities(source.getSourceId(), game);
|
||||
land.getSubtype(game).removeAll(SubType.getLandTypes(false));
|
||||
land.getSubtype(game).add("Mountain");
|
||||
land.getSubtype(game).add(SubType.MOUNTAIN);
|
||||
break;
|
||||
case AbilityAddingRemovingEffects_6:
|
||||
land.addAbility(new RedManaAbility(), source.getSourceId(), game);
|
||||
|
|
|
@ -204,8 +204,8 @@ class NecromancyChangeAbilityEffect extends ContinuousEffectImpl implements Sour
|
|||
switch (layer) {
|
||||
case TypeChangingEffects_4:
|
||||
if (sublayer == SubLayer.NA) {
|
||||
if (!permanent.getSubtype(game).contains("Aura")) {
|
||||
permanent.getSubtype(game).add("Aura");
|
||||
if (!permanent.getSubtype(game).contains(SubType.AURA)) {
|
||||
permanent.getSubtype(game).add(SubType.AURA);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -112,7 +112,7 @@ public class ParagonOfTheAmesha extends CardImpl {
|
|||
case TypeChangingEffects_4:
|
||||
if (sublayer == SubLayer.NA) {
|
||||
permanent.getSubtype(game).clear();
|
||||
permanent.getSubtype(game).add("Angel");
|
||||
permanent.getSubtype(game).add(SubType.ANGEL);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -105,6 +105,7 @@ class PhantasmalTerrainContinuousEffect extends ContinuousEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) {
|
||||
// TODO fix to use SubType enum
|
||||
Permanent enchantment = game.getPermanent(source.getSourceId());
|
||||
String choice = (String) game.getState().getValue(source.getSourceId().toString() + ChooseBasicLandTypeEffect.VALUE_KEY);
|
||||
if (enchantment != null && enchantment.getAttachedTo() != null && choice != null) {
|
||||
|
|
|
@ -40,6 +40,7 @@ import mage.constants.Duration;
|
|||
import mage.constants.Layer;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubLayer;
|
||||
import mage.constants.SubType;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
|
@ -108,7 +109,7 @@ class PolymorphistsJestEffect extends ContinuousEffectImpl {
|
|||
case TypeChangingEffects_4:
|
||||
if (sublayer == SubLayer.NA) {
|
||||
permanent.getSubtype(game).clear();
|
||||
permanent.getSubtype(game).add("Frog");
|
||||
permanent.getSubtype(game).add(SubType.FROG);
|
||||
}
|
||||
|
||||
break;
|
||||
|
|
|
@ -56,7 +56,7 @@ public class RazakethTheFoulblooded extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{B}{B}{B}");
|
||||
|
||||
addSuperType(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.DEMON.getDescription());
|
||||
this.subtype.add(SubType.DEMON);
|
||||
this.power = new MageInt(8);
|
||||
this.toughness = new MageInt(8);
|
||||
|
||||
|
|
|
@ -103,6 +103,7 @@ class RealmwrightEffect2 extends ContinuousEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) {
|
||||
// TODO fix to use SubType enum
|
||||
Player you = game.getPlayer(source.getControllerId());
|
||||
List<Permanent> lands = game.getBattlefield().getAllActivePermanents(new FilterControlledLandPermanent(), source.getControllerId(), game);
|
||||
String choice = (String) game.getState().getValue(source.getSourceId().toString() + ChooseBasicLandTypeEffect.VALUE_KEY);
|
||||
|
|
|
@ -118,7 +118,7 @@ class SarkhanTheDragonspeakerEffect extends ContinuousEffectImpl {
|
|||
permanent.getCardType().clear();
|
||||
permanent.addCardType(CardType.CREATURE);
|
||||
permanent.getSubtype(game).clear();
|
||||
permanent.getSubtype(game).add("Dragon");
|
||||
permanent.getSubtype(game).add(SubType.DRAGON);
|
||||
permanent.getSuperType().clear();
|
||||
permanent.addSuperType(SuperType.LEGENDARY);
|
||||
}
|
||||
|
|
|
@ -116,8 +116,8 @@ class SealockMonsterBecomesIslandTargetEffect extends ContinuousEffectImpl {
|
|||
}
|
||||
break;
|
||||
case TypeChangingEffects_4:
|
||||
if (!land.getSubtype(game).contains("Island")) {
|
||||
land.getSubtype(game).add("Island");
|
||||
if (!land.getSubtype(game).contains(SubType.ISLAND)) {
|
||||
land.getSubtype(game).add(SubType.ISLAND);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -98,7 +98,7 @@ public class SlumberingTora extends CardImpl {
|
|||
case TypeChangingEffects_4:
|
||||
if (sublayer == SubLayer.NA) {
|
||||
permanent.addCardType(CardType.CREATURE);
|
||||
permanent.getSubtype(game).add("Cat");
|
||||
permanent.getSubtype(game).add(SubType.CAT);
|
||||
}
|
||||
break;
|
||||
case PTChangingEffects_7:
|
||||
|
|
|
@ -122,7 +122,7 @@ class BecomesColorlessForestLandEffect extends ContinuousEffectImpl {
|
|||
permanent.getCardType().clear();
|
||||
permanent.addCardType(CardType.LAND);
|
||||
permanent.getSubtype(game).clear();
|
||||
permanent.getSubtype(game).add("Forest");
|
||||
permanent.getSubtype(game).add(SubType.FOREST);
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -114,8 +114,8 @@ class StormtideLeviathanEffect extends ContinuousEffectImpl {
|
|||
for (Permanent land : game.getBattlefield().getActivePermanents(new FilterLandPermanent(), source.getControllerId(), game)) {
|
||||
switch (layer) {
|
||||
case TypeChangingEffects_4:
|
||||
if (!land.getSubtype(game).contains("Island")) {
|
||||
land.getSubtype(game).add("Island");
|
||||
if (!land.getSubtype(game).contains(SubType.ISLAND)) {
|
||||
land.getSubtype(game).add(SubType.ISLAND);
|
||||
}
|
||||
break;
|
||||
case AbilityAddingRemovingEffects_6:
|
||||
|
|
|
@ -145,6 +145,7 @@ class TerraformerContinuousEffect extends ContinuousEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) {
|
||||
// TODO fix to use SubType enum
|
||||
String choice = (String) game.getState().getValue(source.getSourceId().toString() + "_Terraformer");
|
||||
if (choice != null) {
|
||||
for (Iterator<MageObjectReference> it = affectedObjectList.iterator(); it.hasNext();) {
|
||||
|
|
|
@ -141,6 +141,7 @@ class VisionCharmEffect extends ContinuousEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean apply(Layer layer, SubLayer sublayer, Ability source, Game game) {
|
||||
// TODO fix to use SubType enum
|
||||
for (Iterator<MageObjectReference> it = affectedObjectList.iterator(); it.hasNext();) {
|
||||
Permanent land = it.next().getPermanent(game);
|
||||
if (land != null) {
|
||||
|
|
Loading…
Add table
Reference in a new issue