mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 04:08:01 +00:00
Full Control
This commit is contained in:
@@ -36,6 +36,7 @@ import forge.game.phase.PhaseType;
|
||||
import forge.game.player.*;
|
||||
import forge.game.replacement.ReplacementEffect;
|
||||
import forge.game.spellability.*;
|
||||
import forge.game.staticability.StaticAbility;
|
||||
import forge.game.trigger.WrappedAbility;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.item.PaperCard;
|
||||
@@ -980,6 +981,12 @@ public class PlayerControllerAi extends PlayerController {
|
||||
return brains.chooseSingleReplacementEffect(possibleReplacers);
|
||||
}
|
||||
|
||||
@Override
|
||||
public StaticAbility chooseSingleStaticAbility(String prompt, List<StaticAbility> possibleStatics) {
|
||||
// only matters in corner cases
|
||||
return Iterables.getFirst(possibleStatics, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String chooseProtectionType(String string, SpellAbility sa, List<String> choices) {
|
||||
String choice = choices.get(0);
|
||||
@@ -1436,7 +1443,6 @@ public class PlayerControllerAi extends PlayerController {
|
||||
@Override
|
||||
public int chooseNumberForKeywordCost(SpellAbility sa, Cost cost, KeywordInterface keyword, String prompt, int max) {
|
||||
// TODO: improve the logic depending on the keyword and the playability of the cost-modified SA (enough targets present etc.)
|
||||
|
||||
if (keyword.getKeyword() == Keyword.CASUALTY
|
||||
&& "true".equalsIgnoreCase(sa.getHostCard().getSVar("AINoCasualtyPayment"))) {
|
||||
// TODO: Grisly Sigil - currently will be misplayed if Casualty is paid (the cost is always paid, targeting is wrong).
|
||||
@@ -1460,6 +1466,11 @@ public class PlayerControllerAi extends PlayerController {
|
||||
return chosenAmount;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int chooseNumberForCostReduction(final SpellAbility sa, final int min, final int max) {
|
||||
return max;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CardCollection chooseCardsForEffectMultiple(Map<String, CardCollection> validMap, SpellAbility sa, String title, boolean isOptional) {
|
||||
CardCollection choices = new CardCollection();
|
||||
|
||||
Reference in New Issue
Block a user