AI updates, more cards will have the isRemoval bonus to their card rating

these weren't being picked up as removal spells and now are:
* modal spells where one mode is a removal spell
* spells that do a dynamic amount of damage, such as fireball
* cards that reduce the toughness temporarily or permanently
* cards that keep a creature tapped down
* cards that exile a creature
* cards that damage creatures that are attacking or blocking
* enchantments that exile a creature when they etb
* fight cards, and one sided fight cards

the ai will now rate those types of cards higher as they are removal
This commit is contained in:
brodee 2018-10-28 00:16:14 -07:00
parent bdf3394b84
commit 4f61afa62b
6 changed files with 69 additions and 30 deletions

View file

@ -19,7 +19,7 @@ public class DontUntapInControllersUntapStepEnchantedEffect extends ContinuousRu
}
public DontUntapInControllersUntapStepEnchantedEffect(String description) {
super(Duration.WhileOnBattlefield, Outcome.Detriment, false, true);
super(Duration.WhileOnBattlefield, Outcome.Removal, false, true);
staticText = "Enchanted " + description + " doesn't untap during its controller's untap step";
}

View file

@ -14,7 +14,7 @@ import mage.players.Player;
public class ExileAndGainLifeEqualPowerTargetEffect extends OneShotEffect {
public ExileAndGainLifeEqualPowerTargetEffect() {
super(Outcome.GainLife);
super(Outcome.Removal);
staticText = "Exile target creature. Its controller gains life equal to its power";
}

View file

@ -19,7 +19,7 @@ import mage.util.CardUtil;
public class ExileUntilSourceLeavesEffect extends OneShotEffect {
public ExileUntilSourceLeavesEffect(String targetName) {
super(Outcome.Benefit);
super(Outcome.Removal);
this.staticText = "exile target " + targetName + " an opponent controls until {this} leaves the battlefield";
}

View file

@ -5,6 +5,7 @@ import mage.constants.AttachmentType;
import mage.constants.Duration;
import mage.abilities.Ability;
import mage.abilities.effects.RestrictionEffect;
import mage.constants.Outcome;
import mage.game.Game;
import mage.game.permanent.Permanent;
@ -14,7 +15,7 @@ import mage.game.permanent.Permanent;
public class CantAttackBlockAttachedEffect extends RestrictionEffect {
public CantAttackBlockAttachedEffect(AttachmentType attachmentType) {
super(Duration.WhileOnBattlefield);
super(Duration.WhileOnBattlefield, Outcome.Removal);
this.staticText = attachmentType.verb() + " creature can't attack or block";
}