mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 20:58:03 +00:00
renamed base classes in SpellAbility factory
This commit is contained in:
8
.gitattributes
vendored
8
.gitattributes
vendored
@@ -13646,13 +13646,13 @@ src/main/java/forge/card/SpellManaCost.java -text
|
||||
src/main/java/forge/card/TriggerReplacementBase.java -text
|
||||
src/main/java/forge/card/UnOpenedMeta.java -text
|
||||
src/main/java/forge/card/UnOpenedProduct.java -text
|
||||
src/main/java/forge/card/ability/AbilityApiBased.java -text
|
||||
src/main/java/forge/card/ability/AbilityFactory.java svneol=native#text/plain
|
||||
src/main/java/forge/card/ability/AbilityUtils.java -text
|
||||
src/main/java/forge/card/ability/ApiType.java -text
|
||||
src/main/java/forge/card/ability/CommonAbility.java -text
|
||||
src/main/java/forge/card/ability/CommonSpell.java -text
|
||||
src/main/java/forge/card/ability/SpellAiLogic.java -text
|
||||
src/main/java/forge/card/ability/SpellEffect.java -text
|
||||
src/main/java/forge/card/ability/SpellAbilityAi.java -text
|
||||
src/main/java/forge/card/ability/SpellAbilityEffect.java -text
|
||||
src/main/java/forge/card/ability/SpellApiBased.java -text
|
||||
src/main/java/forge/card/ability/ai/AddPhaseAi.java -text
|
||||
src/main/java/forge/card/ability/ai/AddTurnAi.java svneol=native#text/plain
|
||||
src/main/java/forge/card/ability/ai/AlwaysPlayAi.java -text
|
||||
|
||||
@@ -14,13 +14,13 @@ import forge.card.spellability.AbilityManaPart;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
public class CommonAbility extends AbilityActivated {
|
||||
private final SpellEffect effect;
|
||||
private final SpellAiLogic ai;
|
||||
public class AbilityApiBased extends AbilityActivated {
|
||||
private final SpellAbilityEffect effect;
|
||||
private final SpellAbilityAi ai;
|
||||
|
||||
private static final long serialVersionUID = -4183793555528531978L;
|
||||
|
||||
public CommonAbility(ApiType api0, Card sourceCard, Cost abCost, Target tgt, Map<String, String> params0) {
|
||||
public AbilityApiBased(ApiType api0, Card sourceCard, Cost abCost, Target tgt, Map<String, String> params0) {
|
||||
super(sourceCard, abCost, tgt);
|
||||
params = params0;
|
||||
api = api0;
|
||||
@@ -49,7 +49,7 @@ public class CommonAbility extends AbilityActivated {
|
||||
@Override
|
||||
public AbilityActivated getCopy() {
|
||||
Target tgt = getTarget() == null ? null : new Target(getTarget());
|
||||
AbilityActivated res = new CommonAbility(api, getSourceCard(), getPayCosts(), tgt, params);
|
||||
AbilityActivated res = new AbilityApiBased(api, getSourceCard(), getPayCosts(), tgt, params);
|
||||
CardFactoryUtil.copySpellAbility(this, res);
|
||||
return res;
|
||||
}
|
||||
@@ -128,9 +128,9 @@ public final class AbilityFactory {
|
||||
|
||||
|
||||
if (isAb) {
|
||||
spellAbility = new CommonAbility(api, hostCard, abCost, abTgt, mapParams);
|
||||
spellAbility = new AbilityApiBased(api, hostCard, abCost, abTgt, mapParams);
|
||||
} else if (isSp) {
|
||||
spellAbility = new CommonSpell(api, hostCard, abCost, abTgt, mapParams);
|
||||
spellAbility = new SpellApiBased(api, hostCard, abCost, abTgt, mapParams);
|
||||
} else if (isDb) {
|
||||
spellAbility = new AbilitySub(api, hostCard, abTgt, mapParams);
|
||||
}
|
||||
@@ -160,7 +160,7 @@ public final class AbilityFactory {
|
||||
spellAbility.setSubAbility(getSubAbility(hostCard, hostCard.getSVar(mapParams.get("SubAbility"))));
|
||||
}
|
||||
|
||||
if (spellAbility instanceof CommonSpell && hostCard.isPermanent()) {
|
||||
if (spellAbility instanceof SpellApiBased && hostCard.isPermanent()) {
|
||||
spellAbility.setDescription(spellAbility.getSourceCard().getName());
|
||||
} else if (mapParams.containsKey("SpellDescription")) {
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
|
||||
@@ -122,13 +122,13 @@ public enum ApiType {
|
||||
|
||||
InternalEtbReplacement(ETBReplacementEffect.class, CanPlayAsDrawbackAi.class);
|
||||
|
||||
private final Class<? extends SpellEffect> clsEffect;
|
||||
private final Class<? extends SpellAiLogic> clsAi;
|
||||
private final Class<? extends SpellAbilityEffect> clsEffect;
|
||||
private final Class<? extends SpellAbilityAi> clsAi;
|
||||
|
||||
|
||||
private static final Map<String, ApiType> allValues = new TreeMap<String, ApiType>(String.CASE_INSENSITIVE_ORDER);
|
||||
|
||||
ApiType(Class<? extends SpellEffect> clsEf, Class<? extends SpellAiLogic> clsAI) {
|
||||
ApiType(Class<? extends SpellAbilityEffect> clsEf, Class<? extends SpellAbilityAi> clsAI) {
|
||||
clsEffect = clsEf;
|
||||
clsAi = clsAI;
|
||||
}
|
||||
@@ -144,12 +144,12 @@ public enum ApiType {
|
||||
return v;
|
||||
}
|
||||
|
||||
public SpellEffect getSpellEffect() {
|
||||
public SpellAbilityEffect getSpellEffect() {
|
||||
return clsEffect == null ? null : ReflectionUtil.makeDefaultInstanceOf(clsEffect);
|
||||
|
||||
}
|
||||
|
||||
public SpellAiLogic getAi() {
|
||||
public SpellAbilityAi getAi() {
|
||||
return clsAi == null ? null : ReflectionUtil.makeDefaultInstanceOf(clsAi);
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import forge.game.phase.PhaseType;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
|
||||
public abstract class SpellAiLogic {
|
||||
public abstract class SpellAbilityAi {
|
||||
|
||||
public final boolean canPlayAIWithSubs(final AIPlayer aiPlayer, final SpellAbility sa) {
|
||||
if (!canPlayAI(aiPlayer, sa)) {
|
||||
@@ -23,7 +23,7 @@ import forge.game.player.Player;
|
||||
* @version $Id: AbilityFactoryAlterLife.java 17656 2012-10-22 19:32:56Z Max mtg $
|
||||
*/
|
||||
|
||||
public abstract class SpellEffect {
|
||||
public abstract class SpellAbilityEffect {
|
||||
|
||||
public abstract void resolve(final SpellAbility sa);
|
||||
|
||||
@@ -13,12 +13,12 @@ import forge.card.spellability.Spell;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
public class CommonSpell extends Spell {
|
||||
public class SpellApiBased extends Spell {
|
||||
private static final long serialVersionUID = -6741797239508483250L;
|
||||
private final SpellEffect effect;
|
||||
private final SpellAiLogic ai;
|
||||
private final SpellAbilityEffect effect;
|
||||
private final SpellAbilityAi ai;
|
||||
|
||||
public CommonSpell(ApiType api0, Card sourceCard, Cost abCost, Target tgt, Map<String, String> params0) {
|
||||
public SpellApiBased(ApiType api0, Card sourceCard, Cost abCost, Target tgt, Map<String, String> params0) {
|
||||
super(sourceCard, abCost, tgt);
|
||||
params = params0;
|
||||
api = api0;
|
||||
@@ -1,6 +1,6 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
@@ -8,7 +8,7 @@ import forge.game.player.AIPlayer;
|
||||
* TODO: Write javadoc for this type.
|
||||
*
|
||||
*/
|
||||
public class AddPhaseAi extends SpellAiLogic {
|
||||
public class AddPhaseAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer aiPlayer, SpellAbility sa) {
|
||||
|
||||
@@ -22,7 +22,7 @@ import java.util.List;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
|
||||
@@ -34,7 +34,7 @@ import forge.game.player.Player;
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
*/
|
||||
public class AddTurnAi extends SpellAiLogic {
|
||||
public class AddTurnAi extends SpellAbilityAi {
|
||||
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
public class AlwaysPlayAi extends SpellAiLogic {
|
||||
public class AlwaysPlayAi extends SpellAbilityAi {
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
*/
|
||||
|
||||
@@ -8,7 +8,7 @@ import forge.Card;
|
||||
import forge.CardPredicates;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.phase.PhaseType;
|
||||
@@ -25,7 +25,7 @@ import forge.game.zone.ZoneType;
|
||||
* @version $Id: AbilityFactoryAnimate.java 17608 2012-10-20 22:27:27Z Max mtg $
|
||||
*/
|
||||
|
||||
public class AnimateAi extends SpellAiLogic {
|
||||
public class AnimateAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
@@ -44,7 +44,7 @@ public class AnimateAi extends SpellAiLogic {
|
||||
// Combat_Begin step
|
||||
if (!Singletons.getModel().getGame().getPhaseHandler().is(PhaseType.COMBAT_BEGIN)
|
||||
&& Singletons.getModel().getGame().getPhaseHandler().isPlayerTurn(aiPlayer)
|
||||
&& !SpellAiLogic.isSorcerySpeed(sa)
|
||||
&& !SpellAbilityAi.isSorcerySpeed(sa)
|
||||
&& !sa.hasParam("ActivationPhases") && !sa.hasParam("Permanent")) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
public class AnimateAllAi extends SpellAiLogic {
|
||||
public class AnimateAllAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer aiPlayer, SpellAbility sa) {
|
||||
|
||||
@@ -18,7 +18,7 @@ import forge.Singletons;
|
||||
import forge.CardPredicates.Presets;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.ApiType;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
@@ -33,7 +33,7 @@ import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class AttachAi extends SpellAiLogic {
|
||||
public class AttachAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
/**
|
||||
@@ -29,7 +29,7 @@ import forge.game.player.AIPlayer;
|
||||
* @author Forge
|
||||
* @version $Id: AbilityFactoryBond.java 15090 2012-04-07 12:50:31Z Max mtg $
|
||||
*/
|
||||
public final class BondAi extends SpellAiLogic {
|
||||
public final class BondAi extends SpellAbilityAi {
|
||||
/**
|
||||
* <p>
|
||||
* bondCanPlayAI.
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
public class CanPlayAsDrawbackAi extends SpellAiLogic {
|
||||
public class CanPlayAsDrawbackAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
public class CannotPlayAi extends SpellAiLogic {
|
||||
public class CannotPlayAi extends SpellAbilityAi {
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
*/
|
||||
|
||||
@@ -18,7 +18,7 @@ import forge.Singletons;
|
||||
import forge.CardPredicates.Presets;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.ApiType;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.ability.effects.AttachEffect;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.cost.Cost;
|
||||
@@ -43,7 +43,7 @@ import forge.gui.GuiChoose;
|
||||
import forge.util.Aggregates;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class ChangeZoneAi extends SpellAiLogic {
|
||||
public class ChangeZoneAi extends SpellAbilityAi {
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -745,7 +745,7 @@ public class ChangeZoneAi extends SpellAiLogic {
|
||||
}
|
||||
}
|
||||
// Blink permanents with ETB triggers
|
||||
else if (sa.isAbility() && (sa.getPayCosts() != null) && SpellAiLogic.playReusable(ai, sa)) {
|
||||
else if (sa.isAbility() && (sa.getPayCosts() != null) && SpellAbilityAi.playReusable(ai, sa)) {
|
||||
aiPermanents = CardLists.filter(aiPermanents, new Predicate<Card>() {
|
||||
@Override
|
||||
public boolean apply(final Card c) {
|
||||
|
||||
@@ -7,7 +7,7 @@ import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
@@ -19,7 +19,7 @@ import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class ChangeZoneAllAi extends SpellAiLogic {
|
||||
public class ChangeZoneAllAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
|
||||
@@ -4,14 +4,14 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.ability.effects.CharmEffect;
|
||||
import forge.card.spellability.AbilitySub;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class CharmAi extends SpellAiLogic {
|
||||
public class CharmAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
|
||||
@@ -5,13 +5,13 @@ import java.util.List;
|
||||
import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
public class ChooseCardAi extends SpellAiLogic {
|
||||
public class ChooseCardAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.ai.ComputerUtil;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
public class ChooseCardNameAi extends SpellAiLogic {
|
||||
public class ChooseCardNameAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class ChooseColorAi extends SpellAiLogic {
|
||||
public class ChooseColorAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer aiPlayer, SpellAbility sa) {
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
public class ChoosePlayerAi extends SpellAiLogic {
|
||||
public class ChoosePlayerAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
|
||||
@@ -10,7 +10,7 @@ import forge.CardLists;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.ApiType;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
@@ -20,7 +20,7 @@ import forge.game.phase.PhaseType;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
public class ChooseSourceAi extends SpellAiLogic {
|
||||
public class ChooseSourceAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
|
||||
public class ChooseTypeAi extends SpellAiLogic {
|
||||
public class ChooseTypeAi extends SpellAbilityAi {
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer aiPlayer, SpellAbility sa) {
|
||||
if (!sa.hasParam("AILogic")) {
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
|
||||
public class ClashAi extends SpellAiLogic {
|
||||
public class ClashAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#doTriggerAINoCost(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility, boolean)
|
||||
|
||||
@@ -5,14 +5,14 @@ import java.util.List;
|
||||
import forge.Card;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.phase.PhaseHandler;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
public class CloneAi extends SpellAiLogic {
|
||||
public class CloneAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
@@ -37,7 +37,7 @@ public class CloneAi extends SpellAiLogic {
|
||||
// don't use instant speed clone abilities outside computers
|
||||
// Combat_Begin step
|
||||
if (!phase.is(PhaseType.COMBAT_BEGIN)
|
||||
&& phase.isPlayerTurn(ai) && !SpellAiLogic.isSorcerySpeed(sa)
|
||||
&& phase.isPlayerTurn(ai) && !SpellAbilityAi.isSorcerySpeed(sa)
|
||||
&& !sa.hasParam("ActivationPhases") && !sa.hasParam("Permanent")) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ import com.google.common.base.Predicate;
|
||||
import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
@@ -16,7 +16,7 @@ import forge.game.player.AIPlayer;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class ControlExchangeAi extends SpellAiLogic {
|
||||
public class ControlExchangeAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
|
||||
@@ -28,7 +28,7 @@ import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
@@ -61,7 +61,7 @@ import forge.game.zone.ZoneType;
|
||||
* @author Forge
|
||||
* @version $Id: AbilityFactoryGainControl.java 17764 2012-10-29 11:04:18Z Sloth $
|
||||
*/
|
||||
public class ControlGainAi extends SpellAiLogic {
|
||||
public class ControlGainAi extends SpellAbilityAi {
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, final SpellAbility sa) {
|
||||
boolean hasCreature = false;
|
||||
|
||||
@@ -10,7 +10,7 @@ import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.Singletons;
|
||||
import forge.CardPredicates.Presets;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
@@ -19,7 +19,7 @@ import forge.game.player.AIPlayer;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class CopyPermanentAi extends SpellAiLogic {
|
||||
public class CopyPermanentAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
@@ -33,7 +33,7 @@ public class CopyPermanentAi extends SpellAiLogic {
|
||||
return false;
|
||||
} else {
|
||||
double chance = .4; // 40 percent chance with instant speed stuff
|
||||
if (SpellAiLogic.isSorcerySpeed(sa)) {
|
||||
if (SpellAbilityAi.isSorcerySpeed(sa)) {
|
||||
chance = .667; // 66.7% chance for sorcery speed (since it will
|
||||
// never activate EOT)
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package forge.card.ability.ai;
|
||||
import forge.Card;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
@@ -14,7 +14,7 @@ import forge.game.ai.ComputerUtilMana;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class CounterAi extends SpellAiLogic {
|
||||
public class CounterAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
|
||||
@@ -7,7 +7,7 @@ import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.CounterType;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
@@ -16,7 +16,7 @@ import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class CountersMoveAi extends SpellAiLogic {
|
||||
public class CountersMoveAi extends SpellAbilityAi {
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
// AI needs to be expanded, since this function can be pretty complex
|
||||
@@ -36,7 +36,7 @@ public class CountersMoveAi extends SpellAiLogic {
|
||||
// prevent run-away activations - first time will always return true
|
||||
boolean chance = false;
|
||||
|
||||
if (SpellAiLogic.playReusable(ai, sa)) {
|
||||
if (SpellAbilityAi.playReusable(ai, sa)) {
|
||||
return chance;
|
||||
}
|
||||
|
||||
|
||||
@@ -7,13 +7,13 @@ import com.google.common.base.Predicate;
|
||||
import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.CounterType;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
public class CountersProliferateAi extends SpellAiLogic {
|
||||
public class CountersProliferateAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
|
||||
@@ -11,7 +11,7 @@ import forge.CardLists;
|
||||
import forge.CounterType;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
@@ -25,7 +25,7 @@ import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class CountersPutAi extends SpellAiLogic {
|
||||
public class CountersPutAi extends SpellAbilityAi {
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, final SpellAbility sa) {
|
||||
// AI needs to be expanded, since this function can be pretty complex
|
||||
|
||||
@@ -9,7 +9,7 @@ import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.AbilitySub;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
@@ -23,7 +23,7 @@ import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class CountersPutAllAi extends SpellAiLogic {
|
||||
public class CountersPutAllAi extends SpellAbilityAi {
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
// AI needs to be expanded, since this function can be pretty complex
|
||||
@@ -124,7 +124,7 @@ public class CountersPutAllAi extends SpellAiLogic {
|
||||
}
|
||||
}
|
||||
|
||||
if (sa.isTrigger() || sa instanceof AbilitySub || SpellAiLogic.playReusable(ai, sa)) {
|
||||
if (sa.isTrigger() || sa instanceof AbilitySub || SpellAbilityAi.playReusable(ai, sa)) {
|
||||
return chance;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import java.util.Random;
|
||||
import forge.Card;
|
||||
import forge.CounterType;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
@@ -14,7 +14,7 @@ import forge.game.phase.PhaseType;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class CountersRemoveAi extends SpellAiLogic {
|
||||
public class CountersRemoveAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
|
||||
@@ -7,14 +7,14 @@ import com.google.common.collect.Iterables;
|
||||
import forge.Card;
|
||||
import forge.CardPredicates;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.ai.ComputerUtilCombat;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
public abstract class DamageAiBase extends SpellAiLogic {
|
||||
public abstract class DamageAiBase extends SpellAbilityAi {
|
||||
protected boolean shouldTgtP(final Player comp, final SpellAbility sa, final int d, final boolean noPrevention) {
|
||||
int restDamage = d;
|
||||
final Player enemy = comp.getOpponent();
|
||||
|
||||
@@ -10,7 +10,7 @@ import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
@@ -23,7 +23,7 @@ import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class DamageAllAi extends SpellAiLogic {
|
||||
public class DamageAllAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
|
||||
@@ -10,7 +10,7 @@ import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
@@ -307,7 +307,7 @@ public class DamageDealAi extends DamageAiBase {
|
||||
// because we can
|
||||
else if (saMe.canTarget(enemy)) {
|
||||
if ((phase.is(PhaseType.END_OF_TURN) && phase.getNextTurn().equals(ai))
|
||||
|| (SpellAiLogic.isSorcerySpeed(saMe) && phase.is(PhaseType.MAIN2))
|
||||
|| (SpellAbilityAi.isSorcerySpeed(saMe) && phase.is(PhaseType.MAIN2))
|
||||
|| saMe.getPayCosts() == null || isTrigger
|
||||
|| this.shouldTgtP(ai, saMe, dmg, noPrevention)) {
|
||||
tgt.addTarget(enemy);
|
||||
@@ -385,7 +385,7 @@ public class DamageDealAi extends DamageAiBase {
|
||||
if (!positive) {
|
||||
return false;
|
||||
}
|
||||
if (!urgent && !SpellAiLogic.playReusable(ai, saMe)) {
|
||||
if (!urgent && !SpellAbilityAi.playReusable(ai, saMe)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -8,7 +8,7 @@ import forge.CardLists;
|
||||
import forge.CardPredicates;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
@@ -22,7 +22,7 @@ import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
public class DamagePreventAi extends SpellAiLogic {
|
||||
public class DamagePreventAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
|
||||
@@ -3,14 +3,14 @@ package forge.card.ability.ai;
|
||||
|
||||
import forge.Card;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.ai.ComputerUtilCost;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
public class DamagePreventAllAi extends SpellAiLogic {
|
||||
public class DamagePreventAllAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
|
||||
@@ -10,7 +10,7 @@ import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
@@ -23,7 +23,7 @@ import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
public class DebuffAi extends SpellAiLogic {
|
||||
public class DebuffAi extends SpellAbilityAi {
|
||||
// *************************************************************************
|
||||
// ***************************** Debuff ************************************
|
||||
// *************************************************************************
|
||||
@@ -60,7 +60,7 @@ public class DebuffAi extends SpellAiLogic {
|
||||
|| !Singletons.getModel().getGame().getStack().isEmpty()) {
|
||||
// Instant-speed pumps should not be cast outside of combat when the
|
||||
// stack is empty
|
||||
if (!SpellAiLogic.isSorcerySpeed(sa)) {
|
||||
if (!SpellAbilityAi.isSorcerySpeed(sa)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ import com.google.common.base.Predicate;
|
||||
import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.phase.CombatUtil;
|
||||
import forge.game.phase.PhaseType;
|
||||
@@ -17,7 +17,7 @@ import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class DebuffAllAi extends SpellAiLogic {
|
||||
public class DebuffAllAi extends SpellAbilityAi {
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
String valid = "";
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
import forge.card.ability.AbilityFactory;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.AbilitySub;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
public class DelayedTriggerAi extends SpellAiLogic {
|
||||
public class DelayedTriggerAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
public boolean chkAIDrawback(SpellAbility sa, AIPlayer ai) {
|
||||
|
||||
@@ -11,7 +11,7 @@ import forge.CardLists;
|
||||
import forge.CounterType;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.cost.CostPart;
|
||||
@@ -25,7 +25,7 @@ import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class DestroyAi extends SpellAiLogic {
|
||||
public class DestroyAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#chkAIDrawback(java.util.Map, forge.card.spellability.SpellAbility, forge.game.player.Player)
|
||||
@@ -74,7 +74,7 @@ public class DestroyAi extends SpellAiLogic {
|
||||
list = CardLists.getValidCards(list, sa.getParam("AITgts"), sa.getActivatingPlayer(), source);
|
||||
}
|
||||
list = CardLists.getNotKeyword(list, "Indestructible");
|
||||
if (!SpellAiLogic.playReusable(ai, sa)) {
|
||||
if (!SpellAbilityAi.playReusable(ai, sa)) {
|
||||
list = CardLists.filter(list, new Predicate<Card>() {
|
||||
@Override
|
||||
public boolean apply(final Card c) {
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.google.common.base.Predicate;
|
||||
|
||||
import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
@@ -18,7 +18,7 @@ import forge.game.player.AIPlayer;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class DestroyAllAi extends SpellAiLogic {
|
||||
public class DestroyAllAi extends SpellAbilityAi {
|
||||
|
||||
private static final Predicate<Card> predicate = new Predicate<Card>() {
|
||||
@Override
|
||||
|
||||
@@ -3,7 +3,7 @@ package forge.card.ability.ai;
|
||||
import java.util.Random;
|
||||
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.phase.PhaseType;
|
||||
@@ -13,14 +13,14 @@ import forge.game.zone.ZoneType;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
|
||||
public class DigAi extends SpellAiLogic {
|
||||
public class DigAi extends SpellAbilityAi {
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
*/
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
double chance = .4; // 40 percent chance with instant speed stuff
|
||||
if (SpellAiLogic.isSorcerySpeed(sa)) {
|
||||
if (SpellAbilityAi.isSorcerySpeed(sa)) {
|
||||
chance = .667; // 66.7% chance for sorcery speed (since it will
|
||||
// never activate EOT)
|
||||
}
|
||||
@@ -52,7 +52,7 @@ public class DigAi extends SpellAiLogic {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (SpellAiLogic.playReusable(ai, sa)) {
|
||||
if (SpellAbilityAi.playReusable(ai, sa)) {
|
||||
randomReturn = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package forge.card.ability.ai;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.player.AIPlayer;
|
||||
@@ -10,12 +10,12 @@ import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class DigUntilAi extends SpellAiLogic {
|
||||
public class DigUntilAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
double chance = .4; // 40 percent chance with instant speed stuff
|
||||
if (SpellAiLogic.isSorcerySpeed(sa)) {
|
||||
if (SpellAbilityAi.isSorcerySpeed(sa)) {
|
||||
chance = .667; // 66.7% chance for sorcery speed (since it will
|
||||
// never activate EOT)
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.util.Random;
|
||||
import forge.Card;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
@@ -19,7 +19,7 @@ import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class DiscardAi extends SpellAiLogic {
|
||||
public class DiscardAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
|
||||
@@ -5,14 +5,14 @@ import java.util.Random;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class DrainManaAi extends SpellAiLogic {
|
||||
public class DrainManaAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
|
||||
@@ -27,7 +27,7 @@ import forge.Card;
|
||||
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.cost.CostDiscard;
|
||||
import forge.card.cost.CostPart;
|
||||
@@ -43,7 +43,7 @@ import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class DrawAi extends SpellAiLogic {
|
||||
public class DrawAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
public boolean chkAIDrawback(SpellAbility sa, AIPlayer ai) {
|
||||
@@ -110,7 +110,7 @@ public class DrawAi extends SpellAiLogic {
|
||||
}
|
||||
if ((!Singletons.getModel().getGame().getPhaseHandler().getNextTurn().equals(ai)
|
||||
|| Singletons.getModel().getGame().getPhaseHandler().getPhase().isBefore(PhaseType.END_OF_TURN))
|
||||
&& !sa.hasParam("PlayerTurn") && !SpellAiLogic.isSorcerySpeed(sa)
|
||||
&& !sa.hasParam("PlayerTurn") && !SpellAbilityAi.isSorcerySpeed(sa)
|
||||
&& ai.getCardsIn(ZoneType.Hand).size() > 1) {
|
||||
return false;
|
||||
}
|
||||
@@ -124,7 +124,7 @@ public class DrawAi extends SpellAiLogic {
|
||||
// stuff
|
||||
final Random r = MyRandom.getRandom();
|
||||
boolean randomReturn = r.nextFloat() <= Math.pow(chance, sa.getActivationsThisTurn() + 1);
|
||||
if (SpellAiLogic.isSorcerySpeed(sa)) {
|
||||
if (SpellAbilityAi.isSorcerySpeed(sa)) {
|
||||
randomReturn = true;
|
||||
}
|
||||
if ((Singletons.getModel().getGame().getPhaseHandler().is(PhaseType.END_OF_TURN)
|
||||
@@ -132,7 +132,7 @@ public class DrawAi extends SpellAiLogic {
|
||||
randomReturn = true;
|
||||
}
|
||||
|
||||
if (SpellAiLogic.playReusable(ai, sa)) {
|
||||
if (SpellAbilityAi.playReusable(ai, sa)) {
|
||||
randomReturn = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ import com.google.common.base.Predicate;
|
||||
import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
@@ -22,7 +22,7 @@ import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class EffectAi extends SpellAiLogic {
|
||||
public class EffectAi extends SpellAbilityAi {
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
final GameState game = Singletons.getModel().getGame();
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
@@ -9,7 +9,7 @@ import forge.game.player.AIPlayer;
|
||||
* TODO: Write javadoc for this type.
|
||||
*
|
||||
*/
|
||||
public class EndTurnAi extends SpellAiLogic {
|
||||
public class EndTurnAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean doTriggerAINoCost(AIPlayer aiPlayer, SpellAbility sa, boolean mandatory) {
|
||||
|
||||
@@ -7,14 +7,14 @@ import com.google.common.base.Predicate;
|
||||
|
||||
import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.ai.ComputerUtilCombat;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class FightAi extends SpellAiLogic {
|
||||
public class FightAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
|
||||
@@ -2,13 +2,13 @@ package forge.card.ability.ai;
|
||||
|
||||
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.ai.ComputerUtilCombat;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
public class FogAi extends SpellAiLogic {
|
||||
public class FogAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
|
||||
public class GameLossAi extends SpellAiLogic {
|
||||
public class GameLossAi extends SpellAbilityAi {
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
final Player opp = ai.getOpponent();
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
public class GameWinAi extends SpellAiLogic {
|
||||
public class GameWinAi extends SpellAbilityAi {
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
*/
|
||||
|
||||
@@ -2,14 +2,14 @@ package forge.card.ability.ai;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class LifeExchangeAi extends SpellAiLogic {
|
||||
public class LifeExchangeAi extends SpellAbilityAi {
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
|
||||
@@ -5,7 +5,7 @@ import java.util.Random;
|
||||
import forge.Card;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.AbilitySub;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
@@ -23,7 +23,7 @@ import forge.util.MyRandom;
|
||||
*
|
||||
*/
|
||||
|
||||
public class LifeGainAi extends SpellAiLogic {
|
||||
public class LifeGainAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.AbilityFactoryAlterLife.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
@@ -100,7 +100,7 @@ public class LifeGainAi extends SpellAiLogic {
|
||||
// Don't use lifegain before main 2 if possible
|
||||
if (!lifeCritical && (!Singletons.getModel().getGame().getPhaseHandler().getNextTurn().equals(ai)
|
||||
|| Singletons.getModel().getGame().getPhaseHandler().getPhase().isBefore(PhaseType.END_OF_TURN))
|
||||
&& !sa.hasParam("PlayerTurn") && !SpellAiLogic.isSorcerySpeed(sa)) {
|
||||
&& !sa.hasParam("PlayerTurn") && !SpellAbilityAi.isSorcerySpeed(sa)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -123,7 +123,7 @@ public class LifeGainAi extends SpellAiLogic {
|
||||
}
|
||||
|
||||
boolean randomReturn = r.nextFloat() <= .6667;
|
||||
if (lifeCritical || SpellAiLogic.playReusable(ai, sa)) {
|
||||
if (lifeCritical || SpellAbilityAi.playReusable(ai, sa)) {
|
||||
randomReturn = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.util.Random;
|
||||
import forge.Card;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
@@ -18,7 +18,7 @@ import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class LifeLoseAi extends SpellAiLogic {
|
||||
public class LifeLoseAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
public boolean chkAIDrawback(SpellAbility sa, AIPlayer ai) {
|
||||
@@ -132,7 +132,7 @@ public class LifeLoseAi extends SpellAiLogic {
|
||||
}
|
||||
|
||||
boolean randomReturn = r.nextFloat() <= .6667;
|
||||
if (SpellAiLogic.playReusable(ai, sa) || priority) {
|
||||
if (SpellAbilityAi.playReusable(ai, sa) || priority) {
|
||||
randomReturn = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import forge.Card;
|
||||
import forge.CounterType;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.ai.ComputerUtilMana;
|
||||
@@ -15,7 +15,7 @@ import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class LifeSetAi extends SpellAiLogic {
|
||||
public class LifeSetAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.util.Random;
|
||||
import forge.Card;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
@@ -19,7 +19,7 @@ import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class MillAi extends SpellAiLogic {
|
||||
public class MillAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
@@ -64,7 +64,7 @@ public class MillAi extends SpellAiLogic {
|
||||
|
||||
double chance = .4; // 40 percent chance of milling with instant speed
|
||||
// stuff
|
||||
if (SpellAiLogic.isSorcerySpeed(sa)) {
|
||||
if (SpellAbilityAi.isSorcerySpeed(sa)) {
|
||||
chance = .667; // 66.7% chance for sorcery speed
|
||||
}
|
||||
|
||||
@@ -85,7 +85,7 @@ public class MillAi extends SpellAiLogic {
|
||||
}
|
||||
}
|
||||
|
||||
if (SpellAiLogic.playReusable(ai, sa)) {
|
||||
if (SpellAbilityAi.playReusable(ai, sa)) {
|
||||
randomReturn = true;
|
||||
// some other variables here, like deck size, and phase and other fun stuff
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
public class MustAttackAi extends SpellAiLogic {
|
||||
public class MustAttackAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer aiPlayer, SpellAbility sa) {
|
||||
|
||||
@@ -9,7 +9,7 @@ import forge.CardLists;
|
||||
import forge.CardPredicates;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
@@ -19,7 +19,7 @@ import forge.game.phase.PhaseType;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
public class MustBlockAi extends SpellAiLogic {
|
||||
public class MustBlockAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer aiPlayer, SpellAbility sa) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
@@ -8,7 +8,7 @@ import forge.game.player.AIPlayer;
|
||||
* TODO: Write javadoc for this type.
|
||||
*
|
||||
*/
|
||||
public class PeekAndRevealAi extends SpellAiLogic {
|
||||
public class PeekAndRevealAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, forge.card.spellability.SpellAbility)
|
||||
|
||||
@@ -8,7 +8,7 @@ import com.google.common.collect.Iterables;
|
||||
import forge.Card;
|
||||
import forge.CardPredicates;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.GameState;
|
||||
import forge.game.ai.ComputerUtil;
|
||||
@@ -20,7 +20,7 @@ import forge.game.zone.ZoneType;
|
||||
* AbilityFactory for Creature Spells.
|
||||
*
|
||||
*/
|
||||
public class PermanentCreatureAi extends SpellAiLogic {
|
||||
public class PermanentCreatureAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, forge.card.spellability.SpellAbility)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.GameState;
|
||||
import forge.game.ai.ComputerUtil;
|
||||
@@ -12,7 +12,7 @@ import forge.game.player.AIPlayer;
|
||||
* AbilityFactory for Creature Spells.
|
||||
*
|
||||
*/
|
||||
public class PermanentNoncreatureAi extends SpellAiLogic {
|
||||
public class PermanentNoncreatureAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, forge.card.spellability.SpellAbility)
|
||||
|
||||
@@ -7,14 +7,14 @@ import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class PhasesAi extends SpellAiLogic {
|
||||
public class PhasesAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
|
||||
@@ -8,7 +8,7 @@ import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
@@ -18,7 +18,7 @@ import forge.game.player.AIPlayer;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class PlayAi extends SpellAiLogic {
|
||||
public class PlayAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
|
||||
@@ -5,7 +5,7 @@ import java.util.List;
|
||||
import forge.Card;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
@@ -15,7 +15,7 @@ import forge.game.phase.PhaseType;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
|
||||
public class PoisonAi extends SpellAiLogic {
|
||||
public class PoisonAi extends SpellAbilityAi {
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
|
||||
@@ -10,7 +10,7 @@ import forge.CardLists;
|
||||
import forge.Constant;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
@@ -23,7 +23,7 @@ import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
public class ProtectAi extends SpellAiLogic {
|
||||
public class ProtectAi extends SpellAbilityAi {
|
||||
private static boolean hasProtectionFrom(final Card card, final String color) {
|
||||
final ArrayList<String> onlyColors = new ArrayList<String>(Arrays.asList(Constant.Color.ONLY_COLORS));
|
||||
|
||||
@@ -141,7 +141,7 @@ public class ProtectAi extends SpellAiLogic {
|
||||
if ((Singletons.getModel().getGame().getStack().size() == 0) && Singletons.getModel().getGame().getPhaseHandler().getPhase().isBefore(PhaseType.COMBAT_FIRST_STRIKE_DAMAGE)) {
|
||||
// Instant-speed protections should not be cast outside of combat
|
||||
// when the stack is empty
|
||||
if (!SpellAiLogic.isSorcerySpeed(sa)) {
|
||||
if (!SpellAbilityAi.isSorcerySpeed(sa)) {
|
||||
return false;
|
||||
}
|
||||
} else if (Singletons.getModel().getGame().getStack().size() > 0) {
|
||||
|
||||
@@ -2,13 +2,13 @@ package forge.card.ability.ai;
|
||||
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.ai.ComputerUtilCost;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
public class ProtectAllAi extends SpellAiLogic {
|
||||
public class ProtectAllAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
|
||||
@@ -10,7 +10,7 @@ import forge.CardLists;
|
||||
import forge.Singletons;
|
||||
import forge.CardPredicates.Presets;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.cost.CostUtil;
|
||||
@@ -71,7 +71,7 @@ public class PumpAi extends PumpAiBase {
|
||||
if ((Singletons.getModel().getGame().getStack().size() == 0) && ph.getPhase().isBefore(PhaseType.COMBAT_BEGIN)) {
|
||||
// Instant-speed pumps should not be cast outside of combat when the
|
||||
// stack is empty
|
||||
if (!sa.isCurse() && !SpellAiLogic.isSorcerySpeed(sa)) {
|
||||
if (!sa.isCurse() && !SpellAbilityAi.isSorcerySpeed(sa)) {
|
||||
return false;
|
||||
}
|
||||
} else if (Singletons.getModel().getGame().getStack().size() > 0) {
|
||||
|
||||
@@ -12,7 +12,7 @@ import forge.CardLists;
|
||||
import forge.CardPredicates;
|
||||
import forge.CardUtil;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.GameState;
|
||||
@@ -26,7 +26,7 @@ import forge.game.phase.Untap;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
public abstract class PumpAiBase extends SpellAiLogic {
|
||||
public abstract class PumpAiBase extends SpellAbilityAi {
|
||||
|
||||
public boolean containsUsefulKeyword(final Player ai, final List<String> keywords, final Card card, final SpellAbility sa, final int attack) {
|
||||
for (final String keyword : keywords) {
|
||||
@@ -401,7 +401,7 @@ public abstract class PumpAiBase extends SpellAiLogic {
|
||||
// will the creature attack (only relevant for sorcery speed)?
|
||||
if (phase.getPhase().isBefore(PhaseType.COMBAT_DECLARE_ATTACKERS)
|
||||
&& phase.isPlayerTurn(ai)
|
||||
&& SpellAiLogic.isSorcerySpeed(sa)
|
||||
&& SpellAbilityAi.isSorcerySpeed(sa)
|
||||
&& attack > 0
|
||||
&& CardFactoryUtil.doesCreatureAttackAI(ai, c)) {
|
||||
return true;
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
|
||||
public class RearrangeTopOfLibraryAi extends SpellAiLogic {
|
||||
public class RearrangeTopOfLibraryAi extends SpellAbilityAi {
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
*/
|
||||
|
||||
@@ -26,7 +26,7 @@ import forge.CardLists;
|
||||
import forge.CardPredicates;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
@@ -47,7 +47,7 @@ import forge.game.zone.ZoneType;
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
*/
|
||||
public class RegenerateAi extends SpellAiLogic {
|
||||
public class RegenerateAi extends SpellAbilityAi {
|
||||
|
||||
// Ex: A:SP$Regenerate | Cost$W | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$Regenerate
|
||||
// target creature.
|
||||
|
||||
@@ -7,7 +7,7 @@ import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.CardPredicates;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.ai.ComputerUtil;
|
||||
@@ -17,7 +17,7 @@ import forge.game.phase.PhaseType;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
public class RegenerateAllAi extends SpellAiLogic {
|
||||
public class RegenerateAllAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
public class RemoveFromCombatAi extends SpellAiLogic {
|
||||
public class RemoveFromCombatAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer aiPlayer, SpellAbility sa) {
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
|
||||
public class RepeatAi extends SpellAiLogic {
|
||||
public class RepeatAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
|
||||
@@ -9,7 +9,7 @@ import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.CounterType;
|
||||
import forge.CardPredicates.Presets;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.player.AIPlayer;
|
||||
@@ -20,7 +20,7 @@ import forge.game.zone.ZoneType;
|
||||
* TODO: Write javadoc for this type.
|
||||
*
|
||||
*/
|
||||
public class RepeatEachAi extends SpellAiLogic {
|
||||
public class RepeatEachAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, forge.card.spellability.SpellAbility)
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
public class RestartGameAi extends SpellAiLogic {
|
||||
public class RestartGameAi extends SpellAbilityAi {
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
|
||||
@@ -3,7 +3,7 @@ package forge.card.ability.ai;
|
||||
import java.util.Random;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.ai.ComputerUtilCost;
|
||||
@@ -47,7 +47,7 @@ public class RevealAi extends RevealAiBase {
|
||||
final Random r = MyRandom.getRandom();
|
||||
boolean randomReturn = r.nextFloat() <= Math.pow(.667, sa.getActivationsThisTurn() + 1);
|
||||
|
||||
if (SpellAiLogic.playReusable(ai, sa)) {
|
||||
if (SpellAbilityAi.playReusable(ai, sa)) {
|
||||
randomReturn = true;
|
||||
}
|
||||
return randomReturn;
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
public abstract class RevealAiBase extends SpellAiLogic {
|
||||
public abstract class RevealAiBase extends SpellAbilityAi {
|
||||
|
||||
protected boolean revealHandTargetAI(final Player ai, final SpellAbility sa) {
|
||||
final Target tgt = sa.getTarget();
|
||||
|
||||
@@ -3,7 +3,7 @@ package forge.card.ability.ai;
|
||||
import java.util.Random;
|
||||
|
||||
import forge.Card;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.ai.ComputerUtilCost;
|
||||
@@ -50,7 +50,7 @@ public class RevealHandAi extends RevealAiBase {
|
||||
final Random r = MyRandom.getRandom();
|
||||
boolean randomReturn = r.nextFloat() <= Math.pow(.667, sa.getActivationsThisTurn() + 1);
|
||||
|
||||
if (SpellAiLogic.playReusable(ai, sa)) {
|
||||
if (SpellAbilityAi.playReusable(ai, sa)) {
|
||||
randomReturn = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import java.util.List;
|
||||
import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
@@ -13,7 +13,7 @@ import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
public class SacrificeAi extends SpellAiLogic {
|
||||
public class SacrificeAi extends SpellAbilityAi {
|
||||
// **************************************************************
|
||||
// *************************** Sacrifice ***********************
|
||||
// **************************************************************
|
||||
|
||||
@@ -5,7 +5,7 @@ import java.util.Random;
|
||||
|
||||
import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
@@ -15,7 +15,7 @@ import forge.game.player.AIPlayer;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class SacrificeAllAi extends SpellAiLogic {
|
||||
public class SacrificeAllAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
|
||||
@@ -2,13 +2,13 @@ package forge.card.ability.ai;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class ScryAi extends SpellAiLogic {
|
||||
public class ScryAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#doTriggerAINoCost(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility, boolean)
|
||||
@@ -39,14 +39,14 @@ public class ScryAi extends SpellAiLogic {
|
||||
|
||||
double chance = .4; // 40 percent chance of milling with instant speed
|
||||
// stuff
|
||||
if (SpellAiLogic.isSorcerySpeed(sa)) {
|
||||
if (SpellAbilityAi.isSorcerySpeed(sa)) {
|
||||
chance = .667; // 66.7% chance for sorcery speed (since it will
|
||||
// never activate EOT)
|
||||
}
|
||||
final Random r = MyRandom.getRandom();
|
||||
boolean randomReturn = r.nextFloat() <= Math.pow(chance, sa.getActivationsThisTurn() + 1);
|
||||
|
||||
if (SpellAiLogic.playReusable(ai, sa)) {
|
||||
if (SpellAbilityAi.playReusable(ai, sa)) {
|
||||
randomReturn = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
public class SetStateAi extends SpellAiLogic {
|
||||
public class SetStateAi extends SpellAbilityAi {
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer aiPlayer, SpellAbility sa) {
|
||||
return false;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
public class SetStateAllAi extends SpellAiLogic {
|
||||
public class SetStateAllAi extends SpellAbilityAi {
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
*/
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
public class ShuffleAi extends SpellAiLogic {
|
||||
public class ShuffleAi extends SpellAbilityAi {
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer aiPlayer, SpellAbility sa) {
|
||||
// not really sure when the compy would use this; maybe only after a
|
||||
|
||||
@@ -2,13 +2,13 @@ package forge.card.ability.ai;
|
||||
|
||||
import forge.Card;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.ai.ComputerUtilCombat;
|
||||
import forge.game.ai.ComputerUtil;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
public class StoreSVarAi extends SpellAiLogic {
|
||||
public class StoreSVarAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.util.Random;
|
||||
import forge.Card;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.phase.PhaseHandler;
|
||||
@@ -31,7 +31,7 @@ public class TapAi extends TapAiBase {
|
||||
// Tap things down if it's Human's turn
|
||||
} else if (turn == ai && phase.getPhase().isBefore(PhaseType.COMBAT_DECLARE_BLOCKERS)) {
|
||||
// Tap creatures down if in combat -- handled in tapPrefTargeting().
|
||||
} else if (SpellAiLogic.isSorcerySpeed(sa)) {
|
||||
} else if (SpellAbilityAi.isSorcerySpeed(sa)) {
|
||||
// Cast it if it's a sorcery.
|
||||
} else {
|
||||
// Generally don't want to tap things with an Instant during AI turn outside of combat
|
||||
|
||||
@@ -10,7 +10,7 @@ import forge.CardLists;
|
||||
import forge.CardPredicates;
|
||||
import forge.Singletons;
|
||||
import forge.CardPredicates.Presets;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
@@ -21,7 +21,7 @@ import forge.game.phase.PhaseType;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
public abstract class TapAiBase extends SpellAiLogic {
|
||||
public abstract class TapAiBase extends SpellAbilityAi {
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
||||
@@ -10,7 +10,7 @@ import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.Singletons;
|
||||
import forge.CardPredicates.Presets;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.phase.PhaseType;
|
||||
@@ -19,7 +19,7 @@ import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class TapAllAi extends SpellAiLogic {
|
||||
public class TapAllAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
@@ -8,7 +8,7 @@ import forge.game.player.AIPlayer;
|
||||
* TODO: Write javadoc for this type.
|
||||
*
|
||||
*/
|
||||
public class TapOrUntapAllAi extends SpellAiLogic {
|
||||
public class TapOrUntapAllAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, forge.card.spellability.SpellAbility)
|
||||
|
||||
@@ -5,7 +5,7 @@ import java.util.Random;
|
||||
import forge.Card;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
@@ -27,7 +27,7 @@ import forge.util.MyRandom;
|
||||
* @author Forge
|
||||
* @version $Id: AbilityFactoryToken.java 17656 2012-10-22 19:32:56Z Max mtg $
|
||||
*/
|
||||
public class TokenAi extends SpellAiLogic {
|
||||
public class TokenAi extends SpellAbilityAi {
|
||||
|
||||
|
||||
private String tokenAmount;
|
||||
@@ -106,7 +106,7 @@ public class TokenAi extends SpellAiLogic {
|
||||
|| ph.getPhase().isBefore(
|
||||
PhaseType.COMBAT_DECLARE_ATTACKERS_INSTANT_ABILITY))
|
||||
&& !sa.hasParam("ActivationPhases") && !sa.hasParam("PlayerTurn")
|
||||
&& !SpellAiLogic.isSorcerySpeed(sa) && !haste) {
|
||||
&& !SpellAbilityAi.isSorcerySpeed(sa) && !haste) {
|
||||
return false;
|
||||
}
|
||||
if ((ph.getPhase().isAfter(PhaseType.COMBAT_BEGIN) || Singletons.getModel().getGame().getPhaseHandler().isPlayerTurn(
|
||||
@@ -159,7 +159,7 @@ public class TokenAi extends SpellAiLogic {
|
||||
}
|
||||
}
|
||||
|
||||
if (SpellAiLogic.playReusable(ai, sa)) {
|
||||
if (SpellAbilityAi.playReusable(ai, sa)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,14 +6,14 @@ import java.util.List;
|
||||
import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
public class TwoPilesAi extends SpellAiLogic {
|
||||
public class TwoPilesAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.util.Random;
|
||||
import forge.Card;
|
||||
import forge.Singletons;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
@@ -17,7 +17,7 @@ import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class UnattachAllAi extends SpellAiLogic {
|
||||
public class UnattachAllAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
|
||||
@@ -8,7 +8,7 @@ import forge.CardLists;
|
||||
import forge.Singletons;
|
||||
import forge.CardPredicates.Presets;
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.cost.Cost;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
@@ -19,7 +19,7 @@ import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
public class UntapAi extends SpellAiLogic {
|
||||
public class UntapAi extends SpellAbilityAi {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellAiLogic#canPlayAI(forge.game.player.Player, java.util.Map, forge.card.spellability.SpellAbility)
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package forge.card.ability.ai;
|
||||
|
||||
import forge.card.ability.SpellAiLogic;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.AbilitySub;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.player.AIPlayer;
|
||||
|
||||
public class UntapAllAi extends SpellAiLogic {
|
||||
public class UntapAllAi extends SpellAbilityAi {
|
||||
|
||||
@Override
|
||||
protected boolean canPlayAI(AIPlayer aiPlayer, SpellAbility sa) {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user