mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
Fix The Celestus overpowering Angel of Eternal Dawn
This commit is contained in:
@@ -1351,6 +1351,7 @@ public class AiBlockController {
|
|||||||
boolean modified = false;
|
boolean modified = false;
|
||||||
|
|
||||||
for (final Card blocker : oldBlockers) {
|
for (final Card blocker : oldBlockers) {
|
||||||
|
// TODO check all blocked attackers
|
||||||
Cost tax = CombatUtil.getBlockCost(blocker.getGame(), blocker, combat.getAttackersBlockedBy(blocker).get(0));
|
Cost tax = CombatUtil.getBlockCost(blocker.getGame(), blocker, combat.getAttackersBlockedBy(blocker).get(0));
|
||||||
int taxCMC = tax != null ? tax.getCostMana().getMana().getCMC() : 0;
|
int taxCMC = tax != null ? tax.getCostMana().getMana().getCMC() : 0;
|
||||||
if (myFreeMana < currentBlockTax + taxCMC) {
|
if (myFreeMana < currentBlockTax + taxCMC) {
|
||||||
|
|||||||
@@ -1571,7 +1571,7 @@ public class ComputerUtilMana {
|
|||||||
System.out.println("DEBUG_MANA_PAYMENT: sortedManaSources = " + sortedManaSources);
|
System.out.println("DEBUG_MANA_PAYMENT: sortedManaSources = " + sortedManaSources);
|
||||||
}
|
}
|
||||||
return sortedManaSources;
|
return sortedManaSources;
|
||||||
} // getAvailableManaSources()
|
}
|
||||||
|
|
||||||
//This method is currently used by AI to estimate mana available
|
//This method is currently used by AI to estimate mana available
|
||||||
private static ListMultimap<Integer, SpellAbility> groupSourcesByManaColor(final Player ai, boolean checkPlayable) {
|
private static ListMultimap<Integer, SpellAbility> groupSourcesByManaColor(final Player ai, boolean checkPlayable) {
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ public class LobbyPlayerAi extends LobbyPlayer implements IGameEntitiesFactory {
|
|||||||
public boolean isAllowCheatShuffle() {
|
public boolean isAllowCheatShuffle() {
|
||||||
return allowCheatShuffle;
|
return allowCheatShuffle;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAllowCheatShuffle(boolean allowCheatShuffle) {
|
public void setAllowCheatShuffle(boolean allowCheatShuffle) {
|
||||||
this.allowCheatShuffle = allowCheatShuffle;
|
this.allowCheatShuffle = allowCheatShuffle;
|
||||||
}
|
}
|
||||||
@@ -33,7 +32,6 @@ public class LobbyPlayerAi extends LobbyPlayer implements IGameEntitiesFactory {
|
|||||||
public void setAiProfile(String profileName) {
|
public void setAiProfile(String profileName) {
|
||||||
aiProfile = profileName;
|
aiProfile = profileName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getAiProfile() {
|
public String getAiProfile() {
|
||||||
return aiProfile;
|
return aiProfile;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package forge.ai;
|
|||||||
import java.security.InvalidParameterException;
|
import java.security.InvalidParameterException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -377,7 +376,7 @@ public class PlayerControllerAi extends PlayerController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// put the rest on top in random order
|
// put the rest on top in random order
|
||||||
Collections.shuffle(toTop, MyRandom.getRandom());
|
CardLists.shuffle(toTop);
|
||||||
return ImmutablePair.of(toTop, toBottom);
|
return ImmutablePair.of(toTop, toBottom);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -403,7 +402,7 @@ public class PlayerControllerAi extends PlayerController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Collections.shuffle(toTop, MyRandom.getRandom());
|
CardLists.shuffle(toTop);
|
||||||
return ImmutablePair.of(toTop, toGraveyard);
|
return ImmutablePair.of(toTop, toGraveyard);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -503,4 +503,4 @@ public final class AbilityFactory {
|
|||||||
left.appendSubAbility(right);
|
left.appendSubAbility(right);
|
||||||
return left;
|
return left;
|
||||||
}
|
}
|
||||||
} // end class AbilityFactory
|
}
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ public class DayTimeEffect extends SpellAbilityEffect {
|
|||||||
Boolean oldValue = game.getDayTime();
|
Boolean oldValue = game.getDayTime();
|
||||||
if (oldValue == null && !cantBeNight) {
|
if (oldValue == null && !cantBeNight) {
|
||||||
game.setDayTime(true); // if it was neither it becomes night
|
game.setDayTime(true); // if it was neither it becomes night
|
||||||
} else {
|
} else if (oldValue == true || !cantBeNight) {
|
||||||
game.setDayTime(!oldValue);
|
game.setDayTime(!oldValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -971,7 +971,6 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
|
|||||||
}
|
}
|
||||||
delvedCards.add(c);
|
delvedCards.add(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void clearDelved() {
|
public final void clearDelved() {
|
||||||
delvedCards = null;
|
delvedCards = null;
|
||||||
}
|
}
|
||||||
@@ -3212,7 +3211,6 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
|
|||||||
public boolean cameUnderControlSinceLastUpkeep() {
|
public boolean cameUnderControlSinceLastUpkeep() {
|
||||||
return cameUnderControlSinceLastUpkeep;
|
return cameUnderControlSinceLastUpkeep;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCameUnderControlSinceLastUpkeep(boolean underControlSinceLastUpkeep) {
|
public void setCameUnderControlSinceLastUpkeep(boolean underControlSinceLastUpkeep) {
|
||||||
this.cameUnderControlSinceLastUpkeep = underControlSinceLastUpkeep;
|
this.cameUnderControlSinceLastUpkeep = underControlSinceLastUpkeep;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -300,4 +300,4 @@ public class Untap extends Phase {
|
|||||||
game.setDayTime(false);
|
game.setDayTime(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} //end class Untap
|
}
|
||||||
|
|||||||
@@ -2348,7 +2348,6 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
|
|||||||
public SpellAbility getOriginalAbility() {
|
public SpellAbility getOriginalAbility() {
|
||||||
return grantorOriginal;
|
return grantorOriginal;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setOriginalAbility(final SpellAbility sa) {
|
public void setOriginalAbility(final SpellAbility sa) {
|
||||||
grantorOriginal = sa;
|
grantorOriginal = sa;
|
||||||
}
|
}
|
||||||
@@ -2356,7 +2355,6 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
|
|||||||
public StaticAbility getGrantorStatic() {
|
public StaticAbility getGrantorStatic() {
|
||||||
return grantorStatic;
|
return grantorStatic;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setGrantorStatic(final StaticAbility st) {
|
public void setGrantorStatic(final StaticAbility st) {
|
||||||
grantorStatic = st;
|
grantorStatic = st;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -489,4 +489,4 @@ public class SpellAbilityCondition extends SpellAbilityVariables {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // end class SpellAbility_Condition
|
}
|
||||||
|
|||||||
@@ -622,4 +622,4 @@ public class SpellAbilityRestriction extends SpellAbilityVariables {
|
|||||||
return true;
|
return true;
|
||||||
} // canPlay()
|
} // canPlay()
|
||||||
|
|
||||||
} // end class SpellAbilityRestriction
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user