mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 11:48:02 +00:00
Splice: do a total rewrite to make it better for the player and more rules conform
This commit is contained in:
@@ -87,6 +87,10 @@ public class HumanPlay {
|
||||
CharmEffect.makeChoices(sa);
|
||||
}
|
||||
|
||||
if (source.getType().hasStringType("Arcane")) {
|
||||
sa = AbilityUtils.addSpliceEffects(sa);
|
||||
}
|
||||
|
||||
if (sa.hasParam("Bestow")) {
|
||||
source.animateBestow();
|
||||
}
|
||||
@@ -173,7 +177,7 @@ public class HumanPlay {
|
||||
* @param sa
|
||||
* a {@link forge.game.spellability.SpellAbility} object.
|
||||
*/
|
||||
public static final void playSaWithoutPayingManaCost(final PlayerControllerHuman controller, final Game game, final SpellAbility sa, boolean mayChooseNewTargets) {
|
||||
public static final void playSaWithoutPayingManaCost(final PlayerControllerHuman controller, final Game game, SpellAbility sa, boolean mayChooseNewTargets) {
|
||||
FThreads.assertExecutedByEdt(false);
|
||||
final Card source = sa.getHostCard();
|
||||
|
||||
@@ -183,6 +187,9 @@ public class HumanPlay {
|
||||
if (sa.getApi() == ApiType.Charm && !sa.isWrapper() && !sa.isCopied()) {
|
||||
CharmEffect.makeChoices(sa);
|
||||
}
|
||||
if (source.getType().hasStringType("Arcane") && !sa.isCopied()) {
|
||||
sa = AbilityUtils.addSpliceEffects(sa);
|
||||
}
|
||||
final CostPayment payment = new CostPayment(sa.getPayCosts(), sa);
|
||||
|
||||
final HumanPlaySpellAbility req = new HumanPlaySpellAbility(controller, sa, payment);
|
||||
|
||||
@@ -1938,4 +1938,10 @@ public class PlayerControllerHuman
|
||||
ICardFace face = getGui().one(message, faces);
|
||||
return face == null ? "" : face.getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Card> chooseCardsForSplice(SpellAbility sa, List<Card> cards) {
|
||||
return getGui().many("Choose cards to Splice onto", "Chosen Cards", 0, cards.size(), cards, sa.getHostCard().getView());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user