diff --git a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/GameStateEvaluator2.java b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/GameStateEvaluator2.java index 5b51bad6bfe..1093420e55a 100644 --- a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/GameStateEvaluator2.java +++ b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/GameStateEvaluator2.java @@ -11,6 +11,8 @@ import mage.players.Player; import org.apache.log4j.Logger; import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.Effect; /** * @author nantuko @@ -105,7 +107,22 @@ public final class GameStateEvaluator2 { } public static int evaluatePermanent(Permanent permanent, Game game) { - int value = ArtificialScoringSystem.getFixedPermanentScore(game, permanent) + // prevent AI from attaching bad auras to its own permanents ex: Brainwash and Demonic Torment (no immediate penalty on the battlefield) + int value = 0; + if (!permanent.getAttachments().isEmpty()) { + for (UUID attachmentId : permanent.getAttachments()) { + Permanent attachment = game.getPermanent(attachmentId); + for (Ability a : attachment.getAbilities(game)) { + for (Effect e : a.getEffects()) { + if (!e.getOutcome().isGood() + && attachment.getControllerId().equals(permanent.getControllerId())) { + value -= 1000; // seems to work well ; -300 is not effective enough + } + } + } + } + } + value += ArtificialScoringSystem.getFixedPermanentScore(game, permanent) + ArtificialScoringSystem.getVariablePermanentScore(game, permanent); return value; } @@ -113,10 +130,12 @@ public final class GameStateEvaluator2 { public static int evaluateCreature(Permanent creature, Game game) { int value = ArtificialScoringSystem.getFixedPermanentScore(game, creature) + ArtificialScoringSystem.getVariablePermanentScore(game, creature); + System.out.println("The VALUE is : " + value); return value; } public static class PlayerEvaluateScore { + private int playerLifeScore = 0; private int playerHandScore = 0; private int playerPermanentsScore = 0; @@ -132,7 +151,7 @@ public final class GameStateEvaluator2 { } public PlayerEvaluateScore(int playerLifeScore, int playerHandScore, int playerPermanentsScore, - int opponentLifeScore, int opponentHandScore, int opponentPermanentsScore) { + int opponentLifeScore, int opponentHandScore, int opponentPermanentsScore) { this.playerLifeScore = playerLifeScore; this.playerHandScore = playerHandScore; this.playerPermanentsScore = playerPermanentsScore; @@ -170,27 +189,27 @@ public final class GameStateEvaluator2 { } public String getPlayerInfoFull() { - return "Life:" + playerLifeScore + - ", Hand:" + playerHandScore + - ", Perm:" + playerPermanentsScore; + return "Life:" + playerLifeScore + + ", Hand:" + playerHandScore + + ", Perm:" + playerPermanentsScore; } public String getPlayerInfoShort() { - return "L:" + playerLifeScore + - ",H:" + playerHandScore + - ",P:" + playerPermanentsScore; + return "L:" + playerLifeScore + + ",H:" + playerHandScore + + ",P:" + playerPermanentsScore; } public String getOpponentInfoFull() { - return "Life:" + opponentLifeScore + - ", Hand:" + opponentHandScore + - ", Perm:" + opponentPermanentsScore; + return "Life:" + opponentLifeScore + + ", Hand:" + opponentHandScore + + ", Perm:" + opponentPermanentsScore; } public String getOpponentInfoShort() { - return "L:" + opponentLifeScore + - ",H:" + opponentHandScore + - ",P:" + opponentPermanentsScore; + return "L:" + opponentLifeScore + + ",H:" + opponentHandScore + + ",P:" + opponentPermanentsScore; } } } diff --git a/Mage.Sets/src/mage/cards/b/BanewaspAffliction.java b/Mage.Sets/src/mage/cards/b/BanewaspAffliction.java index 14811f1de62..3139c0d03f5 100644 --- a/Mage.Sets/src/mage/cards/b/BanewaspAffliction.java +++ b/Mage.Sets/src/mage/cards/b/BanewaspAffliction.java @@ -29,7 +29,7 @@ public final class BanewaspAffliction extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.Benefit)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/b/BrandOfIllOmen.java b/Mage.Sets/src/mage/cards/b/BrandOfIllOmen.java index 2c00bfbcf22..f90e192ab39 100644 --- a/Mage.Sets/src/mage/cards/b/BrandOfIllOmen.java +++ b/Mage.Sets/src/mage/cards/b/BrandOfIllOmen.java @@ -33,7 +33,7 @@ public final class BrandOfIllOmen extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/c/CageOfHands.java b/Mage.Sets/src/mage/cards/c/CageOfHands.java index 25f2d8cacf8..6dca8d7f163 100644 --- a/Mage.Sets/src/mage/cards/c/CageOfHands.java +++ b/Mage.Sets/src/mage/cards/c/CageOfHands.java @@ -31,7 +31,7 @@ public final class CageOfHands extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.Neutral)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/c/CastIntoDarkness.java b/Mage.Sets/src/mage/cards/c/CastIntoDarkness.java index d4d0c54ca65..89ed547abb3 100644 --- a/Mage.Sets/src/mage/cards/c/CastIntoDarkness.java +++ b/Mage.Sets/src/mage/cards/c/CastIntoDarkness.java @@ -29,7 +29,7 @@ public final class CastIntoDarkness extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/c/CompulsoryRest.java b/Mage.Sets/src/mage/cards/c/CompulsoryRest.java index a04c371b035..463fae03926 100644 --- a/Mage.Sets/src/mage/cards/c/CompulsoryRest.java +++ b/Mage.Sets/src/mage/cards/c/CompulsoryRest.java @@ -38,7 +38,7 @@ public final class CompulsoryRest extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/c/Crystallization.java b/Mage.Sets/src/mage/cards/c/Crystallization.java index 9bed0cecae4..fd33661b067 100644 --- a/Mage.Sets/src/mage/cards/c/Crystallization.java +++ b/Mage.Sets/src/mage/cards/c/Crystallization.java @@ -30,7 +30,7 @@ public final class Crystallization extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.Removal)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); this.addAbility(new EnchantAbility(auraTarget)); // Enchanted creature can't attack or block. diff --git a/Mage.Sets/src/mage/cards/c/CurseOfChaos.java b/Mage.Sets/src/mage/cards/c/CurseOfChaos.java index 96e86414286..0f36025cf9d 100644 --- a/Mage.Sets/src/mage/cards/c/CurseOfChaos.java +++ b/Mage.Sets/src/mage/cards/c/CurseOfChaos.java @@ -14,7 +14,6 @@ import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; -import mage.game.events.GameEvent.EventType; import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.TargetPlayer; diff --git a/Mage.Sets/src/mage/cards/c/CurseOfFoolsWisdom.java b/Mage.Sets/src/mage/cards/c/CurseOfFoolsWisdom.java index 304a4cbcc09..1dd3b97e076 100644 --- a/Mage.Sets/src/mage/cards/c/CurseOfFoolsWisdom.java +++ b/Mage.Sets/src/mage/cards/c/CurseOfFoolsWisdom.java @@ -37,7 +37,7 @@ public final class CurseOfFoolsWisdom extends CardImpl { // Enchant player TargetPlayer auraTarget = new TargetPlayer(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/c/CurseOfOblivion.java b/Mage.Sets/src/mage/cards/c/CurseOfOblivion.java index f66502b321c..685bb82b450 100644 --- a/Mage.Sets/src/mage/cards/c/CurseOfOblivion.java +++ b/Mage.Sets/src/mage/cards/c/CurseOfOblivion.java @@ -25,7 +25,7 @@ public final class CurseOfOblivion extends CardImpl { // Enchant player TargetPlayer auraTarget = new TargetPlayer(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/c/CurseOfStalkedPrey.java b/Mage.Sets/src/mage/cards/c/CurseOfStalkedPrey.java index b762d079b99..6995a92e38b 100644 --- a/Mage.Sets/src/mage/cards/c/CurseOfStalkedPrey.java +++ b/Mage.Sets/src/mage/cards/c/CurseOfStalkedPrey.java @@ -17,7 +17,6 @@ import mage.counters.CounterType; import mage.game.Game; import mage.game.events.DamagedPlayerEvent; import mage.game.events.GameEvent; -import mage.game.events.GameEvent.EventType; import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.TargetPlayer; @@ -37,7 +36,7 @@ public final class CurseOfStalkedPrey extends CardImpl { // Enchant player TargetPlayer auraTarget = new TargetPlayer(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/c/CurseOfTheBloodyTome.java b/Mage.Sets/src/mage/cards/c/CurseOfTheBloodyTome.java index 0be4a5f5829..72a37f24396 100644 --- a/Mage.Sets/src/mage/cards/c/CurseOfTheBloodyTome.java +++ b/Mage.Sets/src/mage/cards/c/CurseOfTheBloodyTome.java @@ -27,7 +27,7 @@ public final class CurseOfTheBloodyTome extends CardImpl { // Enchant player TargetPlayer auraTarget = new TargetPlayer(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/c/CurseOfThePiercedHeart.java b/Mage.Sets/src/mage/cards/c/CurseOfThePiercedHeart.java index d2bf520e4ce..64e99750d21 100644 --- a/Mage.Sets/src/mage/cards/c/CurseOfThePiercedHeart.java +++ b/Mage.Sets/src/mage/cards/c/CurseOfThePiercedHeart.java @@ -35,7 +35,7 @@ public final class CurseOfThePiercedHeart extends CardImpl { // Enchant player TargetPlayer auraTarget = new TargetPlayer(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/d/DarksteelMutation.java b/Mage.Sets/src/mage/cards/d/DarksteelMutation.java index 88fb4d30fd6..e5caf70495f 100644 --- a/Mage.Sets/src/mage/cards/d/DarksteelMutation.java +++ b/Mage.Sets/src/mage/cards/d/DarksteelMutation.java @@ -33,7 +33,7 @@ public final class DarksteelMutation extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/d/DeadWeight.java b/Mage.Sets/src/mage/cards/d/DeadWeight.java index 2c9ef43090c..a4198a02117 100644 --- a/Mage.Sets/src/mage/cards/d/DeadWeight.java +++ b/Mage.Sets/src/mage/cards/d/DeadWeight.java @@ -31,7 +31,7 @@ public final class DeadWeight extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.Neutral)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); // Enchanted creature gets -2/-2. diff --git a/Mage.Sets/src/mage/cards/d/DeathWatch.java b/Mage.Sets/src/mage/cards/d/DeathWatch.java index a2657aad06f..10f47029ace 100644 --- a/Mage.Sets/src/mage/cards/d/DeathWatch.java +++ b/Mage.Sets/src/mage/cards/d/DeathWatch.java @@ -32,7 +32,7 @@ public final class DeathWatch extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/d/DeepFreeze.java b/Mage.Sets/src/mage/cards/d/DeepFreeze.java index 05d49f626a3..9ed5206e539 100644 --- a/Mage.Sets/src/mage/cards/d/DeepFreeze.java +++ b/Mage.Sets/src/mage/cards/d/DeepFreeze.java @@ -35,7 +35,7 @@ public final class DeepFreeze extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/d/DemonicTorment.java b/Mage.Sets/src/mage/cards/d/DemonicTorment.java index ea68db88be5..543c929f584 100644 --- a/Mage.Sets/src/mage/cards/d/DemonicTorment.java +++ b/Mage.Sets/src/mage/cards/d/DemonicTorment.java @@ -28,7 +28,7 @@ public final class DemonicTorment extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); // Enchanted creature can't attack. diff --git a/Mage.Sets/src/mage/cards/d/Despondency.java b/Mage.Sets/src/mage/cards/d/Despondency.java index 749ec8fa54a..1c64c029276 100644 --- a/Mage.Sets/src/mage/cards/d/Despondency.java +++ b/Mage.Sets/src/mage/cards/d/Despondency.java @@ -31,7 +31,7 @@ public final class Despondency extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/d/DetainmentSpell.java b/Mage.Sets/src/mage/cards/d/DetainmentSpell.java index 8b14769ec6d..0dcd4bc8711 100644 --- a/Mage.Sets/src/mage/cards/d/DetainmentSpell.java +++ b/Mage.Sets/src/mage/cards/d/DetainmentSpell.java @@ -32,7 +32,7 @@ public final class DetainmentSpell extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/d/DreadfulApathy.java b/Mage.Sets/src/mage/cards/d/DreadfulApathy.java index 98d26844167..5072ad56b24 100644 --- a/Mage.Sets/src/mage/cards/d/DreadfulApathy.java +++ b/Mage.Sets/src/mage/cards/d/DreadfulApathy.java @@ -32,7 +32,7 @@ public final class DreadfulApathy extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/d/Dwindle.java b/Mage.Sets/src/mage/cards/d/Dwindle.java index 8f2fdeb1a6f..ad646d3e556 100644 --- a/Mage.Sets/src/mage/cards/d/Dwindle.java +++ b/Mage.Sets/src/mage/cards/d/Dwindle.java @@ -32,7 +32,7 @@ public final class Dwindle extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/f/FlowstoneBlade.java b/Mage.Sets/src/mage/cards/f/FlowstoneBlade.java index afb695abae5..f5cda71dbf7 100644 --- a/Mage.Sets/src/mage/cards/f/FlowstoneBlade.java +++ b/Mage.Sets/src/mage/cards/f/FlowstoneBlade.java @@ -31,7 +31,7 @@ public final class FlowstoneBlade extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.Copy)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/f/Frogify.java b/Mage.Sets/src/mage/cards/f/Frogify.java index 8e2bbdf416e..ac66fbc8ad9 100644 --- a/Mage.Sets/src/mage/cards/f/Frogify.java +++ b/Mage.Sets/src/mage/cards/f/Frogify.java @@ -30,7 +30,7 @@ public final class Frogify extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/h/HeliodsPunishment.java b/Mage.Sets/src/mage/cards/h/HeliodsPunishment.java index 4d316821c78..6ee39f8054e 100644 --- a/Mage.Sets/src/mage/cards/h/HeliodsPunishment.java +++ b/Mage.Sets/src/mage/cards/h/HeliodsPunishment.java @@ -35,7 +35,7 @@ public final class HeliodsPunishment extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/i/Ichthyomorphosis.java b/Mage.Sets/src/mage/cards/i/Ichthyomorphosis.java index f73d379c5dc..d85ef4a11d6 100644 --- a/Mage.Sets/src/mage/cards/i/Ichthyomorphosis.java +++ b/Mage.Sets/src/mage/cards/i/Ichthyomorphosis.java @@ -31,7 +31,7 @@ public final class Ichthyomorphosis extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/i/ImprisonedInTheMoon.java b/Mage.Sets/src/mage/cards/i/ImprisonedInTheMoon.java index f501e911c3f..a584cbc0173 100644 --- a/Mage.Sets/src/mage/cards/i/ImprisonedInTheMoon.java +++ b/Mage.Sets/src/mage/cards/i/ImprisonedInTheMoon.java @@ -39,7 +39,7 @@ public final class ImprisonedInTheMoon extends CardImpl { // Enchant creature, land, or planeswalker TargetPermanent auraTarget = new TargetPermanent(filter); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.Benefit)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/k/KasminasTransmutation.java b/Mage.Sets/src/mage/cards/k/KasminasTransmutation.java index 5da9ec4ae3c..611da46136b 100644 --- a/Mage.Sets/src/mage/cards/k/KasminasTransmutation.java +++ b/Mage.Sets/src/mage/cards/k/KasminasTransmutation.java @@ -31,7 +31,7 @@ public final class KasminasTransmutation extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/k/KenrithsTransformation.java b/Mage.Sets/src/mage/cards/k/KenrithsTransformation.java index 7d975e4398f..1aaef198bd3 100644 --- a/Mage.Sets/src/mage/cards/k/KenrithsTransformation.java +++ b/Mage.Sets/src/mage/cards/k/KenrithsTransformation.java @@ -32,7 +32,7 @@ public final class KenrithsTransformation extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/k/KirtarsDesire.java b/Mage.Sets/src/mage/cards/k/KirtarsDesire.java index 4d83b319a5c..7496520be38 100644 --- a/Mage.Sets/src/mage/cards/k/KirtarsDesire.java +++ b/Mage.Sets/src/mage/cards/k/KirtarsDesire.java @@ -29,7 +29,7 @@ public final class KirtarsDesire extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/l/LawmagesBinding.java b/Mage.Sets/src/mage/cards/l/LawmagesBinding.java index e7be08c88f9..fb6fac14478 100644 --- a/Mage.Sets/src/mage/cards/l/LawmagesBinding.java +++ b/Mage.Sets/src/mage/cards/l/LawmagesBinding.java @@ -33,7 +33,7 @@ public final class LawmagesBinding extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/m/ManaclesOfDecay.java b/Mage.Sets/src/mage/cards/m/ManaclesOfDecay.java index 0378c314f43..1e755df1264 100644 --- a/Mage.Sets/src/mage/cards/m/ManaclesOfDecay.java +++ b/Mage.Sets/src/mage/cards/m/ManaclesOfDecay.java @@ -30,7 +30,7 @@ public final class ManaclesOfDecay extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/m/Mourning.java b/Mage.Sets/src/mage/cards/m/Mourning.java index a8d08667ba0..51219e2464e 100644 --- a/Mage.Sets/src/mage/cards/m/Mourning.java +++ b/Mage.Sets/src/mage/cards/m/Mourning.java @@ -29,7 +29,7 @@ public final class Mourning extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/m/MysticSubdual.java b/Mage.Sets/src/mage/cards/m/MysticSubdual.java index 20a84400348..5313ffb6169 100644 --- a/Mage.Sets/src/mage/cards/m/MysticSubdual.java +++ b/Mage.Sets/src/mage/cards/m/MysticSubdual.java @@ -33,7 +33,7 @@ public final class MysticSubdual extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/n/NettlingCurse.java b/Mage.Sets/src/mage/cards/n/NettlingCurse.java index cd3124dde54..62e7268a850 100644 --- a/Mage.Sets/src/mage/cards/n/NettlingCurse.java +++ b/Mage.Sets/src/mage/cards/n/NettlingCurse.java @@ -30,7 +30,7 @@ public final class NettlingCurse extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/o/OneThousandLashes.java b/Mage.Sets/src/mage/cards/o/OneThousandLashes.java index 1f00503ccbc..f7f1119cc5f 100644 --- a/Mage.Sets/src/mage/cards/o/OneThousandLashes.java +++ b/Mage.Sets/src/mage/cards/o/OneThousandLashes.java @@ -33,7 +33,7 @@ public final class OneThousandLashes extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/o/OneWithTheStars.java b/Mage.Sets/src/mage/cards/o/OneWithTheStars.java index 7c3213b7fc7..1b641db4363 100644 --- a/Mage.Sets/src/mage/cards/o/OneWithTheStars.java +++ b/Mage.Sets/src/mage/cards/o/OneWithTheStars.java @@ -38,7 +38,7 @@ public final class OneWithTheStars extends CardImpl { // Enchant creature or enchantment TargetPermanent auraTarget = new TargetPermanent(filter); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/p/PiousInterdiction.java b/Mage.Sets/src/mage/cards/p/PiousInterdiction.java index fbf5e461444..ce7769ef551 100644 --- a/Mage.Sets/src/mage/cards/p/PiousInterdiction.java +++ b/Mage.Sets/src/mage/cards/p/PiousInterdiction.java @@ -33,7 +33,7 @@ public final class PiousInterdiction extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/SensoryDeprivation.java b/Mage.Sets/src/mage/cards/s/SensoryDeprivation.java index ce088cef5f5..5180cdccec6 100644 --- a/Mage.Sets/src/mage/cards/s/SensoryDeprivation.java +++ b/Mage.Sets/src/mage/cards/s/SensoryDeprivation.java @@ -30,7 +30,7 @@ public final class SensoryDeprivation extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); this.addAbility(new EnchantAbility(auraTarget)); // Enchanted creature gets -3/-0. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(-3, 0, Duration.WhileOnBattlefield))); diff --git a/Mage.Sets/src/mage/cards/s/Sicken.java b/Mage.Sets/src/mage/cards/s/Sicken.java index 2a01fb18c32..cd5ec50c84b 100644 --- a/Mage.Sets/src/mage/cards/s/Sicken.java +++ b/Mage.Sets/src/mage/cards/s/Sicken.java @@ -29,7 +29,7 @@ public final class Sicken extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.Neutral)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); // Enchanted creature gets -2/-2. diff --git a/Mage.Sets/src/mage/cards/s/SinkingFeeling.java b/Mage.Sets/src/mage/cards/s/SinkingFeeling.java index f2bfb76758a..29ca330c5ac 100644 --- a/Mage.Sets/src/mage/cards/s/SinkingFeeling.java +++ b/Mage.Sets/src/mage/cards/s/SinkingFeeling.java @@ -38,7 +38,7 @@ public final class SinkingFeeling extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/SkyTether.java b/Mage.Sets/src/mage/cards/s/SkyTether.java index 2fece4bef9e..67241bcf697 100644 --- a/Mage.Sets/src/mage/cards/s/SkyTether.java +++ b/Mage.Sets/src/mage/cards/s/SkyTether.java @@ -29,7 +29,7 @@ public final class SkyTether extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/Slimebind.java b/Mage.Sets/src/mage/cards/s/Slimebind.java index a4efe694f8d..987053ccb7c 100644 --- a/Mage.Sets/src/mage/cards/s/Slimebind.java +++ b/Mage.Sets/src/mage/cards/s/Slimebind.java @@ -32,7 +32,7 @@ public final class Slimebind extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/Sluggishness.java b/Mage.Sets/src/mage/cards/s/Sluggishness.java index cbb2c022262..c5a6ade1337 100644 --- a/Mage.Sets/src/mage/cards/s/Sluggishness.java +++ b/Mage.Sets/src/mage/cards/s/Sluggishness.java @@ -33,7 +33,7 @@ public final class Sluggishness extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/Snowblind.java b/Mage.Sets/src/mage/cards/s/Snowblind.java index b2fc2f0cebc..1d778329253 100644 --- a/Mage.Sets/src/mage/cards/s/Snowblind.java +++ b/Mage.Sets/src/mage/cards/s/Snowblind.java @@ -32,7 +32,7 @@ public final class Snowblind extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/SoulBleed.java b/Mage.Sets/src/mage/cards/s/SoulBleed.java index d4fa84fe99f..ebd90c5c724 100644 --- a/Mage.Sets/src/mage/cards/s/SoulBleed.java +++ b/Mage.Sets/src/mage/cards/s/SoulBleed.java @@ -30,7 +30,7 @@ public final class SoulBleed extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); this.addAbility(new EnchantAbility(auraTarget)); // At the beginning of the upkeep of enchanted creature's controller, that player loses 1 life. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(1), TargetController.CONTROLLER_ATTACHED_TO, false, true)); diff --git a/Mage.Sets/src/mage/cards/s/SpectralGrasp.java b/Mage.Sets/src/mage/cards/s/SpectralGrasp.java index d54c7ed41cc..c61773ba515 100644 --- a/Mage.Sets/src/mage/cards/s/SpectralGrasp.java +++ b/Mage.Sets/src/mage/cards/s/SpectralGrasp.java @@ -40,7 +40,7 @@ public final class SpectralGrasp extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/SpiritShackle.java b/Mage.Sets/src/mage/cards/s/SpiritShackle.java index 31226b8d92f..fb032517936 100644 --- a/Mage.Sets/src/mage/cards/s/SpiritShackle.java +++ b/Mage.Sets/src/mage/cards/s/SpiritShackle.java @@ -30,7 +30,7 @@ public final class SpiritShackle extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/SpontaneousMutation.java b/Mage.Sets/src/mage/cards/s/SpontaneousMutation.java index eefea56e6ec..43b95787e61 100644 --- a/Mage.Sets/src/mage/cards/s/SpontaneousMutation.java +++ b/Mage.Sets/src/mage/cards/s/SpontaneousMutation.java @@ -36,7 +36,7 @@ public final class SpontaneousMutation extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/StabWound.java b/Mage.Sets/src/mage/cards/s/StabWound.java index fec36bcfd21..10b7b71cce6 100644 --- a/Mage.Sets/src/mage/cards/s/StabWound.java +++ b/Mage.Sets/src/mage/cards/s/StabWound.java @@ -37,7 +37,7 @@ public final class StabWound extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/t/TemporalIsolation.java b/Mage.Sets/src/mage/cards/t/TemporalIsolation.java index 8d0dcfd8018..612c5431479 100644 --- a/Mage.Sets/src/mage/cards/t/TemporalIsolation.java +++ b/Mage.Sets/src/mage/cards/t/TemporalIsolation.java @@ -36,7 +36,7 @@ public final class TemporalIsolation extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); // Enchanted creature has shadow. diff --git a/Mage.Sets/src/mage/cards/t/TighteningCoils.java b/Mage.Sets/src/mage/cards/t/TighteningCoils.java index 83d0ab2725d..9f79b3bbe52 100644 --- a/Mage.Sets/src/mage/cards/t/TighteningCoils.java +++ b/Mage.Sets/src/mage/cards/t/TighteningCoils.java @@ -34,7 +34,7 @@ public final class TighteningCoils extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/t/Torture.java b/Mage.Sets/src/mage/cards/t/Torture.java index 588509fa783..097bac595c6 100644 --- a/Mage.Sets/src/mage/cards/t/Torture.java +++ b/Mage.Sets/src/mage/cards/t/Torture.java @@ -25,22 +25,18 @@ import mage.target.common.TargetCreaturePermanent; */ public final class Torture extends CardImpl { - private static final String rule = "Testing rules"; - public Torture(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); this.subtype.add(SubType.AURA); - // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); // {1}{B}: Put a -1/-1 counter on enchanted creature. - //this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersAttachedEffect(CounterType.M1M1.createInstance(), rule), new ManaCostsImpl<>("{[1}{B}}"))); this.addAbility(new SimpleActivatedAbility( Zone.BATTLEFIELD, new AddCountersAttachedEffect(CounterType.M1M1.createInstance(),"enchanted creature"), diff --git a/Mage.Sets/src/mage/cards/v/VolrathsCurse.java b/Mage.Sets/src/mage/cards/v/VolrathsCurse.java index 35b7b3049f1..4bd242be624 100644 --- a/Mage.Sets/src/mage/cards/v/VolrathsCurse.java +++ b/Mage.Sets/src/mage/cards/v/VolrathsCurse.java @@ -41,7 +41,7 @@ public final class VolrathsCurse extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/w/WitheringHex.java b/Mage.Sets/src/mage/cards/w/WitheringHex.java index d9b154e8cb5..b05e0558442 100644 --- a/Mage.Sets/src/mage/cards/w/WitheringHex.java +++ b/Mage.Sets/src/mage/cards/w/WitheringHex.java @@ -37,7 +37,7 @@ public final class WitheringHex extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability);