mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 18:28:00 +00:00
PhaseHandler.isNextTurn changed by getNextTurn.equals(ai)
This commit is contained in:
@@ -1499,7 +1499,7 @@ public class AbilityFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return Singletons.getModel().getGame().getPhaseHandler().is(PhaseType.END_OF_TURN)
|
return Singletons.getModel().getGame().getPhaseHandler().is(PhaseType.END_OF_TURN)
|
||||||
&& Singletons.getModel().getGame().getNextPlayerAfter(sa.getActivatingPlayer()).equals(ai);
|
&& Singletons.getModel().getGame().getPhaseHandler().getNextTurn().equals(ai);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -45,7 +45,6 @@ import forge.game.phase.PhaseHandler;
|
|||||||
import forge.game.phase.PhaseType;
|
import forge.game.phase.PhaseType;
|
||||||
import forge.game.player.ComputerUtil;
|
import forge.game.player.ComputerUtil;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.player.PlayerType;
|
|
||||||
import forge.game.zone.PlayerZone;
|
import forge.game.zone.PlayerZone;
|
||||||
import forge.game.zone.Zone;
|
import forge.game.zone.Zone;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
@@ -1929,7 +1928,7 @@ public class AbilityFactoryCounters {
|
|||||||
if (type.equals("P1P1") && sa.isAbility() && source.isCreature()
|
if (type.equals("P1P1") && sa.isAbility() && source.isCreature()
|
||||||
&& sa.getPayCosts() != null && sa.getPayCosts().getTap()
|
&& sa.getPayCosts() != null && sa.getPayCosts().getTap()
|
||||||
&& sa instanceof AbilitySub
|
&& sa instanceof AbilitySub
|
||||||
&& (phase.isNextTurn(PlayerType.HUMAN)
|
&& (!phase.getNextTurn().equals(ai)
|
||||||
|| phase.getPhase().isBefore(PhaseType.COMBAT_DECLARE_BLOCKERS_INSTANT_ABILITY))) {
|
|| phase.getPhase().isBefore(PhaseType.COMBAT_DECLARE_BLOCKERS_INSTANT_ABILITY))) {
|
||||||
boolean combatants = false;
|
boolean combatants = false;
|
||||||
for (Card c : hList) {
|
for (Card c : hList) {
|
||||||
|
|||||||
@@ -44,7 +44,6 @@ import forge.game.phase.PhaseHandler;
|
|||||||
import forge.game.phase.PhaseType;
|
import forge.game.phase.PhaseType;
|
||||||
import forge.game.player.ComputerUtil;
|
import forge.game.player.ComputerUtil;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.player.PlayerType;
|
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.util.MyRandom;
|
import forge.util.MyRandom;
|
||||||
|
|
||||||
@@ -646,7 +645,7 @@ public class AbilityFactoryDealDamage {
|
|||||||
// on the stack
|
// on the stack
|
||||||
// or from taking combat damage
|
// or from taking combat damage
|
||||||
final boolean freePing = isTrigger || saMe.getPayCosts() == null || tgt.getNumTargeted() > 0
|
final boolean freePing = isTrigger || saMe.getPayCosts() == null || tgt.getNumTargeted() > 0
|
||||||
|| (phase.is(PhaseType.END_OF_TURN) && saMe.isAbility() && phase.isNextTurn(PlayerType.COMPUTER))
|
|| (phase.is(PhaseType.END_OF_TURN) && saMe.isAbility() && phase.getNextTurn().equals(ai))
|
||||||
|| (phase.is(PhaseType.MAIN2) && saMe.getRestrictions().getPlaneswalker());
|
|| (phase.is(PhaseType.MAIN2) && saMe.getRestrictions().getPlaneswalker());
|
||||||
|
|
||||||
if (freePing && saMe.canTarget(ai.getOpponent()) && tgt.addTarget(enemy)) {
|
if (freePing && saMe.canTarget(ai.getOpponent()) && tgt.addTarget(enemy)) {
|
||||||
@@ -664,7 +663,7 @@ public class AbilityFactoryDealDamage {
|
|||||||
// because we can
|
// because we can
|
||||||
else if (saMe.canTarget(enemy)) {
|
else if (saMe.canTarget(enemy)) {
|
||||||
|
|
||||||
if ((phase.is(PhaseType.END_OF_TURN) && phase.isNextTurn(PlayerType.COMPUTER))
|
if ((phase.is(PhaseType.END_OF_TURN) && phase.getNextTurn().equals(ai))
|
||||||
|| (AbilityFactory.isSorcerySpeed(saMe) && phase.is(PhaseType.MAIN2))
|
|| (AbilityFactory.isSorcerySpeed(saMe) && phase.is(PhaseType.MAIN2))
|
||||||
|| saMe.getPayCosts() == null || isTrigger) {
|
|| saMe.getPayCosts() == null || isTrigger) {
|
||||||
tgt.addTarget(enemy);
|
tgt.addTarget(enemy);
|
||||||
|
|||||||
@@ -46,7 +46,6 @@ import forge.card.spellability.Target;
|
|||||||
import forge.game.phase.PhaseType;
|
import forge.game.phase.PhaseType;
|
||||||
import forge.game.player.ComputerUtil;
|
import forge.game.player.ComputerUtil;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.player.PlayerType;
|
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.gui.GuiChoose;
|
import forge.gui.GuiChoose;
|
||||||
import forge.util.MyRandom;
|
import forge.util.MyRandom;
|
||||||
@@ -363,7 +362,7 @@ public class AbilityFactoryZoneAffecting {
|
|||||||
randomReturn = true;
|
randomReturn = true;
|
||||||
}
|
}
|
||||||
if ((Singletons.getModel().getGame().getPhaseHandler().is(PhaseType.END_OF_TURN)
|
if ((Singletons.getModel().getGame().getPhaseHandler().is(PhaseType.END_OF_TURN)
|
||||||
&& Singletons.getModel().getGame().getPhaseHandler().isNextTurn(PlayerType.COMPUTER))) {
|
&& Singletons.getModel().getGame().getPhaseHandler().getNextTurn().equals(ai))) {
|
||||||
randomReturn = true;
|
randomReturn = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -917,7 +916,7 @@ public class AbilityFactoryZoneAffecting {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((Singletons.getModel().getGame().getPhaseHandler().is(PhaseType.END_OF_TURN)
|
if ((Singletons.getModel().getGame().getPhaseHandler().is(PhaseType.END_OF_TURN)
|
||||||
&& Singletons.getModel().getGame().getPhaseHandler().isNextTurn(PlayerType.COMPUTER))) {
|
&& Singletons.getModel().getGame().getPhaseHandler().getNextTurn().equals(ai))) {
|
||||||
chance = .9; // 90% for end of opponents turn
|
chance = .9; // 90% for end of opponents turn
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -85,6 +85,7 @@ public class InputPassPriority extends Input implements java.io.Serializable {
|
|||||||
@Override
|
@Override
|
||||||
public final void selectCard(final Card card, final PlayerZone zone) {
|
public final void selectCard(final Card card, final PlayerZone zone) {
|
||||||
if (Singletons.getModel().getGame().getAction().playCard(card)) {
|
if (Singletons.getModel().getGame().getAction().playCard(card)) {
|
||||||
|
// really need it? does not playCard push it into stack and thus give priority?
|
||||||
Singletons.getModel().getGame().getPhaseHandler().setPriority(Singletons.getControl().getPlayer());
|
Singletons.getModel().getGame().getPhaseHandler().setPriority(Singletons.getControl().getPlayer());
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ import forge.Singletons;
|
|||||||
import forge.card.trigger.TriggerType;
|
import forge.card.trigger.TriggerType;
|
||||||
import forge.game.GameState;
|
import forge.game.GameState;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.player.PlayerType;
|
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
import forge.util.MyObservable;
|
import forge.util.MyObservable;
|
||||||
@@ -143,7 +142,7 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable {
|
|||||||
*
|
*
|
||||||
* @return a {@link forge.game.player.Player} object.
|
* @return a {@link forge.game.player.Player} object.
|
||||||
*/
|
*/
|
||||||
public final Player getFirstPriority() {
|
private final Player getFirstPriority() {
|
||||||
return this.pFirstPriority;
|
return this.pFirstPriority;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -652,20 +651,6 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable {
|
|||||||
return this.extraTurns.peek().getPlayer();
|
return this.extraTurns.peek().getPlayer();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* isNextTurn.
|
|
||||||
* </p>
|
|
||||||
*
|
|
||||||
* @param pl
|
|
||||||
* a {@link forge.game.player.Player} object.
|
|
||||||
* @return a boolean.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public final boolean isNextTurn(final PlayerType pt) {
|
|
||||||
final Player next = this.getNextTurn();
|
|
||||||
return next.getType() == pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
|||||||
@@ -242,7 +242,7 @@ public class ComputerUtilAttack {
|
|||||||
int fixedBlockers = 0;
|
int fixedBlockers = 0;
|
||||||
final List<Card> vigilantes = new ArrayList<Card>();
|
final List<Card> vigilantes = new ArrayList<Card>();
|
||||||
//check for time walks
|
//check for time walks
|
||||||
if (Singletons.getModel().getGame().getPhaseHandler().isNextTurn(PlayerType.COMPUTER)) {
|
if (Singletons.getModel().getGame().getPhaseHandler().getNextTurn().equals(ai)) {
|
||||||
return attackers;
|
return attackers;
|
||||||
}
|
}
|
||||||
for (final Card c : this.computerList) {
|
for (final Card c : this.computerList) {
|
||||||
|
|||||||
Reference in New Issue
Block a user