mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
GameActionUtil: add getOptionalCostValues to return OptionalCost with its Cost objects
SpellAbility: add canPlayWithOptionalCost PlayerControllerHuman: got formated
This commit is contained in:
@@ -6,6 +6,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import forge.game.cost.*;
|
||||
import forge.game.spellability.OptionalCostValue;
|
||||
import forge.game.spellability.Spell;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
@@ -33,6 +34,7 @@ import forge.game.card.CardView;
|
||||
import forge.game.card.CounterType;
|
||||
import forge.game.mana.ManaCostBeingPaid;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.player.PlayerController;
|
||||
import forge.game.player.PlayerView;
|
||||
import forge.game.spellability.SpellAbility;
|
||||
import forge.game.spellability.TargetRestrictions;
|
||||
@@ -80,6 +82,11 @@ public class HumanPlay {
|
||||
return false;
|
||||
}
|
||||
|
||||
// extra play check
|
||||
if (!sa.canPlay()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (flippedToCast && !castFaceDown) {
|
||||
source.turnFaceUp(false, false);
|
||||
}
|
||||
@@ -146,8 +153,19 @@ public class HumanPlay {
|
||||
if (!original.isSpell()) {
|
||||
return original;
|
||||
}
|
||||
final List<SpellAbility> abilities = GameActionUtil.getOptionalCosts(original);
|
||||
return p.getController().getAbilityToPlay(original.getHostCard(), abilities);
|
||||
|
||||
PlayerController c = p.getController();
|
||||
|
||||
// choose alternative additional cost
|
||||
final List<SpellAbility> abilities = GameActionUtil.getAdditionalCostSpell(original);
|
||||
|
||||
final SpellAbility choosen = c.getAbilityToPlay(original.getHostCard(), abilities);
|
||||
|
||||
List<OptionalCostValue> list = GameActionUtil.getOptionalCostValues(choosen);
|
||||
list = c.chooseOptionalCosts(choosen, list);
|
||||
|
||||
return GameActionUtil.addOptionalCosts(choosen, list);
|
||||
//final List<SpellAbility> abilities = GameActionUtil.getOptionalCosts(original);
|
||||
}
|
||||
|
||||
private static boolean payManaCostIfNeeded(final PlayerControllerHuman controller, final Player p, final SpellAbility sa) {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user