1
0
Fork 0
mirror of https://github.com/correl/mage.git synced 2025-04-09 01:01:06 -09:00

* Fixed bug that prevented to use mana abilities manually.

This commit is contained in:
LevelX2 2015-10-21 23:24:04 +02:00
parent 305712806c
commit 7ac0fe65ef
3 changed files with 10 additions and 4 deletions
Mage.Common/src/mage/utils
Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human
Mage/src/mage/players

View file

@ -41,7 +41,7 @@ public class MageVersion implements Serializable, Comparable<MageVersion> {
public final static int MAGE_VERSION_MAJOR = 1;
public final static int MAGE_VERSION_MINOR = 4;
public final static int MAGE_VERSION_PATCH = 4;
public final static String MAGE_VERSION_MINOR_PATCH = "v9";
public final static String MAGE_VERSION_MINOR_PATCH = "v10";
public final static String MAGE_VERSION_INFO = "";
private final int major;

View file

@ -47,6 +47,7 @@ import mage.abilities.SpellAbility;
import mage.abilities.TriggeredAbility;
import mage.abilities.costs.VariableCost;
import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.costs.mana.ManaCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.costs.mana.PhyrexianManaCost;
@ -1222,7 +1223,9 @@ public class HumanPlayer extends PlayerImpl {
updateGameStatePriority("activateAbility", game);
if (abilities.size() == 1 && suppressAbilityPicker(abilities.values().iterator().next())) {
ActivatedAbility ability = abilities.values().iterator().next();
if (ability.getTargets().size() != 0 || !(ability.getCosts().size() == 1 && ability.getCosts().get(0) instanceof SacrificeSourceCost)) {
if (ability.getTargets().size() != 0
|| !(ability.getCosts().size() == 1 && ability.getCosts().get(0) instanceof SacrificeSourceCost)
|| !(ability.getCosts().size() == 2 && ability.getCosts().get(0) instanceof TapSourceCost && ability.getCosts().get(0) instanceof SacrificeSourceCost)) {
activateAbility(ability, game);
return;
}

View file

@ -1224,8 +1224,11 @@ public abstract class PlayerImpl implements Player, Serializable {
if (canUse || ability.getAbilityType().equals(AbilityType.SPECIAL_ACTION)) {
if (ability.getZone().match(zone)) {
if (ability instanceof ActivatedAbility) {
if (canPlay(((ActivatedAbility) ability), availableMana, object, game)) {
// if (((ActivatedAbility) ability).canActivate(playerId, game)) {
if (ability instanceof ManaAbility) {
if (((ActivatedAbility) ability).canActivate(playerId, game)) {
useable.put(ability.getId(), (ActivatedAbility) ability);
}
} else if (canPlay(((ActivatedAbility) ability), availableMana, object, game)) {
useable.put(ability.getId(), (ActivatedAbility) ability);
}
} else if (ability instanceof AlternativeSourceCosts) {