ComputerUtil & HumanPlay: fixed Splice onto Arcane only for Spells

This commit is contained in:
Hanmac
2016-12-24 11:01:48 +00:00
parent 0c2b9e7445
commit e2cbbd7575
2 changed files with 12 additions and 10 deletions

View File

@@ -93,16 +93,16 @@ public class ComputerUtil {
sa.setLastStateBattlefield(game.getLastStateBattlefield());
sa.setLastStateGraveyard(game.getLastStateGraveyard());
sa.setHostCard(game.getAction().moveToStack(source));
if (source.getType().hasStringType("Arcane")) {
sa = AbilityUtils.addSpliceEffects(sa);
}
}
if (sa.getApi() == ApiType.Charm && !sa.isWrapper()) {
CharmEffect.makeChoices(sa);
}
if (source.getType().hasStringType("Arcane") && !source.isCopiedSpell()) {
sa = AbilityUtils.addSpliceEffects(sa);
}
if (sa.hasParam("Bestow")) {
sa.getHostCard().animateBestow();
}

View File

@@ -87,7 +87,7 @@ public class HumanPlay {
CharmEffect.makeChoices(sa);
}
if (source.getType().hasStringType("Arcane")) {
if (sa.isSpell() && source.getType().hasStringType("Arcane")) {
sa = AbilityUtils.addSpliceEffects(sa);
}
@@ -184,12 +184,14 @@ public class HumanPlay {
source.setSplitStateToPlayAbility(sa);
if (sa.getPayCosts() != null) {
if (sa.getApi() == ApiType.Charm && !sa.isWrapper() && !sa.isCopied()) {
if (!sa.isCopied()) {
if (sa.getApi() == ApiType.Charm && !sa.isWrapper()) {
CharmEffect.makeChoices(sa);
}
if (source.getType().hasStringType("Arcane") && !sa.isCopied()) {
if (sa.isSpell() && source.getType().hasStringType("Arcane")) {
sa = AbilityUtils.addSpliceEffects(sa);
}
}
final CostPayment payment = new CostPayment(sa.getPayCosts(), sa);
final HumanPlaySpellAbility req = new HumanPlaySpellAbility(controller, sa, payment);