Adding targets (Part 3/3) (#13769)

Adds target and/or target adjuster to cards whose abilities have the word "target", cards S-Z.
Add `spellCast` value to `CastSpellPaidBySourceTriggeredAbility`.
This commit is contained in:
ssk97 2025-06-20 18:58:13 -07:00 committed by GitHub
parent b24a20fec4
commit 5db4beac6c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 209 additions and 499 deletions

View file

@ -56,23 +56,29 @@ public class BarracksOfTheThousandTest extends CardTestPlayerBase {
}
@Test
public void trigger_onlyonce_doublemana() {
public void trigger_onceTwice_doublemana() {
setStrictChooseMode(true);
addCard(Zone.BATTLEFIELD, playerB, "Heartbeat of Spring");
addCard(Zone.BATTLEFIELD, playerA, "Mana Reflection");
addCard(Zone.HAND, playerA, "Armored Warhorse");
addCard(Zone.HAND, playerA, "Savannah Lions", 2);
initToTransform();
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Armored Warhorse");
checkPermanentCount("One Gnome Soldier Token", 1, PhaseStep.BEGIN_COMBAT, playerA, "Gnome Soldier Token", 1);
setStopAt(1, PhaseStep.BEGIN_COMBAT);
castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Savannah Lions");
waitStackResolved(3, PhaseStep.PRECOMBAT_MAIN);
castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Savannah Lions");
setStopAt(3, PhaseStep.BEGIN_COMBAT);
execute();
assertPermanentCount(playerA, "Gnome Soldier Token", 1);
assertPermanentCount(playerA, "Gnome Soldier Token", 3);
assertPermanentCount(playerA, "Armored Warhorse", 1);
assertPermanentCount(playerA, "Savannah Lions", 2);
}
@Test
public void noTrigger_NotPaidWithBarrack() {
setStrictChooseMode(true);

View file

@ -0,0 +1,27 @@
package org.mage.test.cards.single.lci;
import mage.constants.PhaseStep;
import mage.constants.Zone;
import org.junit.Test;
import org.mage.test.serverside.base.CardTestPlayerBase;
public class TheMyriadPoolsTest extends CardTestPlayerBase {
@Test
public void castCopiesCorrectly() {
addCard(Zone.BATTLEFIELD, playerA, "The Myriad Pools");
addCard(Zone.BATTLEFIELD, playerA, "Memnite");
addCard(Zone.HAND, playerA, "Flying Men");
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Flying Men");
addTarget(playerA, "Memnite");
setStopAt(1, PhaseStep.BEGIN_COMBAT);
setStrictChooseMode(true);
execute();
assertPermanentCount(playerA, "The Myriad Pools", 1);
assertPermanentCount(playerA, "Memnite", 0);
assertPermanentCount(playerA, "Flying Men", 2);
}
}