From e7e290e78701b41dd3be7cbe5d60fe6a8ee1c99c Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 25 Dec 2015 11:45:55 +0100 Subject: [PATCH] * Archfiend of Depravity - Outcome tweaked for AI behaviour. --- .../fatereforged/ArchfiendOfDepravity.java | 4 ++-- .../test/AI/basic/TargetsAreChosenTest.java | 20 +++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/Mage.Sets/src/mage/sets/fatereforged/ArchfiendOfDepravity.java b/Mage.Sets/src/mage/sets/fatereforged/ArchfiendOfDepravity.java index 9e10fd5987a..5fbe74b132a 100644 --- a/Mage.Sets/src/mage/sets/fatereforged/ArchfiendOfDepravity.java +++ b/Mage.Sets/src/mage/sets/fatereforged/ArchfiendOfDepravity.java @@ -61,7 +61,7 @@ public class ArchfiendOfDepravity extends CardImpl { // Flying this.addAbility(FlyingAbility.getInstance()); - + // At the beginning of each opponent's end step, that player chooses up to two creatures he or she controls, then sacrifices the rest. this.addAbility(new BeginningOfEndStepTriggeredAbility(new ArchfiendOfDepravityEffect(), TargetController.OPPONENT, false)); } @@ -79,7 +79,7 @@ public class ArchfiendOfDepravity extends CardImpl { class ArchfiendOfDepravityEffect extends OneShotEffect { public ArchfiendOfDepravityEffect() { - super(Outcome.Detriment); + super(Outcome.Benefit); // AI should select two creatures if possible so it has to be a benefit this.staticText = "that player chooses up to two creatures he or she controls, then sacrifices the rest"; } diff --git a/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetsAreChosenTest.java b/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetsAreChosenTest.java index 4859e3af03f..07e7c6991b8 100644 --- a/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetsAreChosenTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/AI/basic/TargetsAreChosenTest.java @@ -222,6 +222,26 @@ public class TargetsAreChosenTest extends CardTestPlayerBaseAI { } + /** + * When I have Archfiend of Depravity on the field, the AI always sacks + * creatures until it has ONE left, when the card states that you can keep + * TWO at the end of each turn. This makes it un-fun playing the Archfiend + * as it makes it a lot easier to win. + */ + @Test + public void testArchfiendOfDepravity() { + // Flying + // At the beginning of each opponent's end step, that player chooses up to two creatures he or she controls, then sacrifices the rest. + addCard(Zone.BATTLEFIELD, playerB, "Archfiend of Depravity"); + + addCard(Zone.BATTLEFIELD, playerA, "Silvercoat Lion", 3); + setStopAt(2, PhaseStep.UNTAP); + execute(); + + assertGraveyardCount(playerA, "Silvercoat Lion", 1); + assertPowerToughness(playerA, "Silvercoat Lion", 2, 2, Filter.ComparisonScope.All); + } + /** * Target selection from EntersTheBattlefield is not varied in the AI * calculation, so value is only calculated for the one selected target set.