From 06ed6cbd2abd034a3a2ab3aef01ddf9188ebea36 Mon Sep 17 00:00:00 2001 From: North Date: Fri, 12 Aug 2011 23:05:35 +0300 Subject: [PATCH] Reffactored cards. Fixed Enchanted condition. --- .../mage/sets/dissension/FlaringFlameKin.java | 28 ++++++---------- .../sets/dissension/FreewindEquenaut.java | 2 +- .../mage/sets/guildpact/SkyriderTrainee.java | 2 +- .../src/mage/sets/magic2012/GriffinRider.java | 28 +++++++--------- .../src/mage/sets/magic2012/ThranGolem.java | 32 ++++++------------- .../src/mage/sets/ravnika/GateHound.java | 2 +- .../sets/scarsofmirrodin/SunspearShikari.java | 31 ++++++++---------- .../sets/worldwake/KitesailApprentice.java | 15 ++++++--- .../mage/sets/worldwake/SejiriMerfolk.java | 12 +++---- .../mage/sets/zendikar/GuulDrazVampire.java | 17 +++++----- .../abilities/condition/common/Enchanted.java | 2 +- 11 files changed, 70 insertions(+), 101 deletions(-) diff --git a/Mage.Sets/src/mage/sets/dissension/FlaringFlameKin.java b/Mage.Sets/src/mage/sets/dissension/FlaringFlameKin.java index 3bd4b44a75c..2808db955cf 100644 --- a/Mage.Sets/src/mage/sets/dissension/FlaringFlameKin.java +++ b/Mage.Sets/src/mage/sets/dissension/FlaringFlameKin.java @@ -33,11 +33,11 @@ import mage.Constants.Duration; import mage.Constants.Rarity; import mage.Constants.Zone; import mage.MageInt; +import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.Enchanted; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalContinousEffect; +import mage.abilities.decorator.ConditionalStaticAbility; import mage.abilities.effects.common.continious.BoostSourceEffect; import mage.abilities.effects.common.continious.GainAbilitySourceEffect; import mage.abilities.keyword.TrampleAbility; @@ -49,6 +49,8 @@ import mage.cards.CardImpl; */ public class FlaringFlameKin extends CardImpl { + private static final String rule = "As long as {this} is enchanted, it gets +2/+2, has trample, and has \"{R}: {this} gets +1/+0 until end of turn.\""; + public FlaringFlameKin(UUID ownerId) { super(ownerId, 62, "Flaring Flame-Kin", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{R}"); this.expansionSetCode = "DIS"; @@ -59,25 +61,13 @@ public class FlaringFlameKin extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(2); - // As long as Flaring Flame-Kin is enchanted, it gets +2/+2, has trample, and has "{R}: Flaring Flame-Kin gets +1/+0 until end of turn." - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, - new ConditionalContinousEffect( - new BoostSourceEffect(3, 3, Duration.WhileOnBattlefield), - new Enchanted(), - "As long as {this} is enchanted, it gets +2/+2"))); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, - new ConditionalContinousEffect( - new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield), - new Enchanted(), - "As long as {this} is enchanted, it has trample"))); - SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, + Ability ability = new ConditionalStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield), Enchanted.getInstance(), rule); + ability.addEffect(new GainAbilitySourceEffect(TrampleAbility.getInstance())); + SimpleActivatedAbility grantedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}")); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, - new ConditionalContinousEffect( - new GainAbilitySourceEffect(ability, Duration.WhileOnBattlefield), - new Enchanted(), - "As long as {this} is enchanted, it has \"{tap}: {this} gets +1/+0 until end of turn\""))); + ability.addEffect(new GainAbilitySourceEffect(grantedAbility)); + this.addAbility(ability); } public FlaringFlameKin(final FlaringFlameKin card) { diff --git a/Mage.Sets/src/mage/sets/dissension/FreewindEquenaut.java b/Mage.Sets/src/mage/sets/dissension/FreewindEquenaut.java index 947c6c4c4b0..0e1b26ffae2 100644 --- a/Mage.Sets/src/mage/sets/dissension/FreewindEquenaut.java +++ b/Mage.Sets/src/mage/sets/dissension/FreewindEquenaut.java @@ -78,7 +78,7 @@ public class FreewindEquenaut extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect( new GainAbilitySourceEffect(ability, Duration.WhileOnBattlefield), - new Enchanted(), + Enchanted.getInstance(), "As long as {this} is enchanted, it has \"{tap}: {this} deals 2 damage to target attacking or blocking creature\""))); } diff --git a/Mage.Sets/src/mage/sets/guildpact/SkyriderTrainee.java b/Mage.Sets/src/mage/sets/guildpact/SkyriderTrainee.java index 2c012fc6ef6..262d368011a 100644 --- a/Mage.Sets/src/mage/sets/guildpact/SkyriderTrainee.java +++ b/Mage.Sets/src/mage/sets/guildpact/SkyriderTrainee.java @@ -59,7 +59,7 @@ public class SkyriderTrainee extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect( new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield), - new Enchanted(), + Enchanted.getInstance(), "{this} has flying as long as it's enchanted"))); } diff --git a/Mage.Sets/src/mage/sets/magic2012/GriffinRider.java b/Mage.Sets/src/mage/sets/magic2012/GriffinRider.java index c8fcacd8a37..8ff59a3837c 100644 --- a/Mage.Sets/src/mage/sets/magic2012/GriffinRider.java +++ b/Mage.Sets/src/mage/sets/magic2012/GriffinRider.java @@ -34,9 +34,9 @@ import mage.Constants.Duration; import mage.Constants.Rarity; import mage.Constants.Zone; import mage.MageInt; -import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.Ability; import mage.abilities.condition.common.ControlsPermanent; -import mage.abilities.decorator.ConditionalContinousEffect; +import mage.abilities.decorator.ConditionalStaticAbility; import mage.abilities.effects.common.continious.BoostSourceEffect; import mage.abilities.effects.common.continious.GainAbilitySourceEffect; import mage.abilities.keyword.FlyingAbility; @@ -51,12 +51,13 @@ import mage.filter.common.FilterCreaturePermanent; */ public class GriffinRider extends CardImpl { - private static final FilterPermanent filterGriffinCard = new FilterCreaturePermanent(); + private static final String rule = "As long as you control a Griffin creature, {this} gets +3/+3 and has flying."; + private static final FilterPermanent filterGriffinCard = new FilterCreaturePermanent(); - static { - filterGriffinCard.getSubtype().add("Griffin"); - filterGriffinCard.setScopeSubtype(Filter.ComparisonScope.Any); - } + static { + filterGriffinCard.getSubtype().add("Griffin"); + filterGriffinCard.setScopeSubtype(Filter.ComparisonScope.Any); + } public GriffinRider(UUID ownerId) { super(ownerId, 20, "Griffin Rider", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{W}"); @@ -69,16 +70,9 @@ public class GriffinRider extends CardImpl { this.toughness = new MageInt(1); // As long as you control a Griffin creature, Griffin Rider gets +3/+3 and has flying. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, - new ConditionalContinousEffect( - new BoostSourceEffect(3, 3, Duration.WhileOnBattlefield), - new ControlsPermanent(filterGriffinCard), - "As long as you control a Griffin creature, {this} gets +3/+3"))); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, - new ConditionalContinousEffect( - new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield), - new ControlsPermanent(filterGriffinCard), - "As long as you control a Griffin creature, {this} has flying"))); + Ability ability = new ConditionalStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(3, 3, Duration.WhileOnBattlefield), new ControlsPermanent(filterGriffinCard), rule); + ability.addEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance())); + this.addAbility(ability); } public GriffinRider(final GriffinRider card) { diff --git a/Mage.Sets/src/mage/sets/magic2012/ThranGolem.java b/Mage.Sets/src/mage/sets/magic2012/ThranGolem.java index 2f2c1d0e703..70945b4211a 100644 --- a/Mage.Sets/src/mage/sets/magic2012/ThranGolem.java +++ b/Mage.Sets/src/mage/sets/magic2012/ThranGolem.java @@ -33,9 +33,9 @@ import mage.Constants.Duration; import mage.Constants.Rarity; import mage.Constants.Zone; import mage.MageInt; -import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.Ability; import mage.abilities.condition.common.Enchanted; -import mage.abilities.decorator.ConditionalContinousEffect; +import mage.abilities.decorator.ConditionalStaticAbility; import mage.abilities.effects.common.continious.BoostSourceEffect; import mage.abilities.effects.common.continious.GainAbilitySourceEffect; import mage.abilities.keyword.FirstStrikeAbility; @@ -49,6 +49,8 @@ import mage.cards.CardImpl; */ public class ThranGolem extends CardImpl { + private static final String rule = "As long as {this} is enchanted, it gets +2/+2 and has flying, first strike, and trample."; + public ThranGolem(UUID ownerId) { super(ownerId, 220, "Thran Golem", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{5}"); this.expansionSetCode = "M12"; @@ -57,27 +59,11 @@ public class ThranGolem extends CardImpl { this.power = new MageInt(3); this.toughness = new MageInt(3); - // As long as Thran Golem is enchanted, it gets +2/+2 and has flying, first strike, and trample. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, - new ConditionalContinousEffect( - new BoostSourceEffect(3, 3, Duration.WhileOnBattlefield), - new Enchanted(), - "As long as {this} is enchanted, it gets +2/+2"))); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, - new ConditionalContinousEffect( - new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield), - new Enchanted(), - "As long as {this} is enchanted, it has flying"))); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, - new ConditionalContinousEffect( - new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.WhileOnBattlefield), - new Enchanted(), - "As long as {this} is enchanted, it has first strike"))); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, - new ConditionalContinousEffect( - new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield), - new Enchanted(), - "As long as {this} is enchanted, it has trample"))); + Ability ability = new ConditionalStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield), Enchanted.getInstance(), rule); + ability.addEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance())); + ability.addEffect(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance())); + ability.addEffect(new GainAbilitySourceEffect(TrampleAbility.getInstance())); + this.addAbility(ability); } public ThranGolem(final ThranGolem card) { diff --git a/Mage.Sets/src/mage/sets/ravnika/GateHound.java b/Mage.Sets/src/mage/sets/ravnika/GateHound.java index 83863d2b022..5480829e25e 100644 --- a/Mage.Sets/src/mage/sets/ravnika/GateHound.java +++ b/Mage.Sets/src/mage/sets/ravnika/GateHound.java @@ -59,7 +59,7 @@ public class GateHound extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect( new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.WhileOnBattlefield, new FilterCreaturePermanent()), - new Enchanted(), + Enchanted.getInstance(), "Creatures you control have vigilance as long as {this} is enchanted"))); } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/SunspearShikari.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/SunspearShikari.java index c9e413fa264..bd28c802939 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/SunspearShikari.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/SunspearShikari.java @@ -25,19 +25,17 @@ * authors and should not be interpreted as representing official policies, either expressed * or implied, of BetaSteward_at_googlemail.com. */ - package mage.sets.scarsofmirrodin; import java.util.UUID; -import mage.Constants; import mage.Constants.CardType; import mage.Constants.Rarity; +import mage.Constants.Zone; import mage.MageInt; -import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.Ability; import mage.abilities.condition.common.Equipped; -import mage.abilities.decorator.ConditionalContinousEffect; -import mage.abilities.effects.ContinuousEffect; +import mage.abilities.decorator.ConditionalStaticAbility; import mage.abilities.effects.common.continious.GainAbilitySourceEffect; import mage.abilities.keyword.FirstStrikeAbility; import mage.abilities.keyword.LifelinkAbility; @@ -49,26 +47,24 @@ import mage.cards.CardImpl; */ public class SunspearShikari extends CardImpl { - private final static String TEXT = "As long as Sunspear Shikari is equipped, it has first strike"; - private final static String TEXT2 = "As long as Sunspear Shikari is equipped, it has lifelink"; + private final static String rule = "As long as {this} is equipped, it has first strike and lifelink."; - public SunspearShikari (UUID ownerId) { + public SunspearShikari(UUID ownerId) { super(ownerId, 23, "Sunspear Shikari", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{W}"); this.expansionSetCode = "SOM"; this.subtype.add("Cat"); this.subtype.add("Soldier"); - - this.color.setWhite(true); + + this.color.setWhite(true); this.power = new MageInt(2); - this.toughness = new MageInt(2); + this.toughness = new MageInt(2); - ContinuousEffect effect = new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Constants.Duration.WhileOnBattlefield); - this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new ConditionalContinousEffect(effect, Equipped.getInstance(), TEXT))); - ContinuousEffect effect2 = new GainAbilitySourceEffect(LifelinkAbility.getInstance(), Constants.Duration.WhileOnBattlefield); - this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new ConditionalContinousEffect(effect2, Equipped.getInstance(), TEXT2))); - } + Ability ability = new ConditionalStaticAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance()), Equipped.getInstance(), rule); + ability.addEffect(new GainAbilitySourceEffect(LifelinkAbility.getInstance())); + this.addAbility(ability); + } - public SunspearShikari (final SunspearShikari card) { + public SunspearShikari(final SunspearShikari card) { super(card); } @@ -76,5 +72,4 @@ public class SunspearShikari extends CardImpl { public SunspearShikari copy() { return new SunspearShikari(this); } - } diff --git a/Mage.Sets/src/mage/sets/worldwake/KitesailApprentice.java b/Mage.Sets/src/mage/sets/worldwake/KitesailApprentice.java index 9b319b6b555..3dca3dc508c 100644 --- a/Mage.Sets/src/mage/sets/worldwake/KitesailApprentice.java +++ b/Mage.Sets/src/mage/sets/worldwake/KitesailApprentice.java @@ -29,13 +29,14 @@ package mage.sets.worldwake; import java.util.UUID; -import mage.Constants; import mage.Constants.CardType; +import mage.Constants.Duration; import mage.Constants.Rarity; +import mage.Constants.Zone; import mage.MageInt; -import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.Ability; import mage.abilities.condition.common.Equipped; -import mage.abilities.decorator.ConditionalContinousEffect; +import mage.abilities.decorator.ConditionalStaticAbility; import mage.abilities.effects.common.continious.BoostSourceEffect; import mage.abilities.effects.common.continious.GainAbilitySourceEffect; import mage.abilities.keyword.FlyingAbility; @@ -47,17 +48,21 @@ import mage.cards.CardImpl; */ public class KitesailApprentice extends CardImpl { + private static final String rule = "As long as {this} is equipped, it gets +1/+1 and has flying."; + public KitesailApprentice(UUID ownerId) { super(ownerId, 10, "Kitesail Apprentice", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{W}"); this.expansionSetCode = "WWK"; this.subtype.add("Kor"); this.subtype.add("Soldier"); + this.color.setWhite(true); this.power = new MageInt(1); this.toughness = new MageInt(1); - this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostSourceEffect(1, 1, Constants.Duration.WhileOnBattlefield), Equipped.getInstance(), "As long as Kitesail Apprentice is equipped, it gets +1/+1"))); - this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new ConditionalContinousEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Constants.Duration.WhileOnBattlefield), Equipped.getInstance(), "As long as Kitesail Apprentice is equipped, it has flying"))); + Ability ability = new ConditionalStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield), Equipped.getInstance(), rule); + ability.addEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance())); + this.addAbility(ability); } public KitesailApprentice(final KitesailApprentice card) { diff --git a/Mage.Sets/src/mage/sets/worldwake/SejiriMerfolk.java b/Mage.Sets/src/mage/sets/worldwake/SejiriMerfolk.java index 2beb175401a..84300ccef77 100644 --- a/Mage.Sets/src/mage/sets/worldwake/SejiriMerfolk.java +++ b/Mage.Sets/src/mage/sets/worldwake/SejiriMerfolk.java @@ -51,11 +51,11 @@ import mage.filter.common.FilterLandPermanent; */ public class SejiriMerfolk extends CardImpl { - private static final String rule = "As long as you control a Plains, Sejiri Merfolk has first strike and lifelink."; - private static final FilterLandPermanent filter = new FilterLandPermanent("a Plains"); + private static final String rule = "As long as you control a Plains, {this} has first strike and lifelink."; + private static final FilterLandPermanent filter = new FilterLandPermanent("Plains"); static { - filter.getName().add("Plains"); + filter.getSubtype().add("Plains"); } public SejiriMerfolk(UUID ownerId) { @@ -68,9 +68,9 @@ public class SejiriMerfolk extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(1); - Ability ability = new ConditionalStaticAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(LifelinkAbility.getInstance()), new ControlsPermanent(filter), rule); - ability.addEffect(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance())); - this.addAbility(ability); + Ability ability = new ConditionalStaticAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(LifelinkAbility.getInstance()), new ControlsPermanent(filter), rule); + ability.addEffect(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance())); + this.addAbility(ability); } public SejiriMerfolk(final SejiriMerfolk card) { diff --git a/Mage.Sets/src/mage/sets/zendikar/GuulDrazVampire.java b/Mage.Sets/src/mage/sets/zendikar/GuulDrazVampire.java index 5f7b96dcca1..9ff3f90571c 100644 --- a/Mage.Sets/src/mage/sets/zendikar/GuulDrazVampire.java +++ b/Mage.Sets/src/mage/sets/zendikar/GuulDrazVampire.java @@ -33,10 +33,9 @@ import mage.Constants.Duration; import mage.Constants.Rarity; import mage.Constants.Zone; import mage.MageInt; -import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.Ability; import mage.abilities.condition.common.TenOrLessLife; -import mage.abilities.decorator.ConditionalContinousEffect; -import mage.abilities.effects.ContinuousEffect; +import mage.abilities.decorator.ConditionalStaticAbility; import mage.abilities.effects.common.continious.BoostSourceEffect; import mage.abilities.effects.common.continious.GainAbilitySourceEffect; import mage.abilities.keyword.IntimidateAbility; @@ -44,10 +43,12 @@ import mage.cards.CardImpl; /** * - * @author North, nantuko + * @author North */ public class GuulDrazVampire extends CardImpl { + private static final String rule = "As long as an opponent has 10 or less life, {this} gets +2/+1 and has intimidate."; + public GuulDrazVampire(UUID ownerId) { super(ownerId, 93, "Guul Draz Vampire", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{B}"); this.expansionSetCode = "ZEN"; @@ -58,11 +59,9 @@ public class GuulDrazVampire extends CardImpl { this.power = new MageInt(1); this.toughness = new MageInt(1); - ContinuousEffect effect = new GainAbilitySourceEffect(IntimidateAbility.getInstance(), Duration.WhileOnBattlefield); - SimpleStaticAbility ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(effect, new TenOrLessLife(TenOrLessLife.CheckType.AN_OPPONENT), "As long as an opponent has 10 or less life, Guul Draz Vampire has intimidate")); - ContinuousEffect effect2 = new BoostSourceEffect(2, 1, Duration.WhileOnBattlefield); - ability.addEffect(new ConditionalContinousEffect(effect2, new TenOrLessLife(TenOrLessLife.CheckType.AN_OPPONENT), "As long as an opponent has 10 or less life, Guul Draz Vampire gets +2/+1")); - this.addAbility(ability); + Ability ability = new ConditionalStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 1, Duration.WhileOnBattlefield), new TenOrLessLife(TenOrLessLife.CheckType.AN_OPPONENT), rule); + ability.addEffect(new GainAbilitySourceEffect(IntimidateAbility.getInstance())); + this.addAbility(ability); } public GuulDrazVampire(final GuulDrazVampire card) { diff --git a/Mage/src/mage/abilities/condition/common/Enchanted.java b/Mage/src/mage/abilities/condition/common/Enchanted.java index 9d7a4bfbfe3..a30ef97e00e 100644 --- a/Mage/src/mage/abilities/condition/common/Enchanted.java +++ b/Mage/src/mage/abilities/condition/common/Enchanted.java @@ -40,7 +40,7 @@ import mage.game.permanent.Permanent; */ public class Enchanted implements Condition { - private static Equipped fInstance = new Equipped(); + private static Enchanted fInstance = new Enchanted(); public static Condition getInstance() { return fInstance;