mirror of
https://github.com/correl/mage.git
synced 2024-11-28 19:19:55 +00:00
fixed tapped for mana events not working for sacrificed tokens
This commit is contained in:
parent
f4e454c54c
commit
4125d1eb46
2 changed files with 25 additions and 0 deletions
|
@ -13,6 +13,7 @@ public class KinnanBonderProdigyTest extends CardTestPlayerBase {
|
||||||
private static final String kinnan = "Kinnan, Bonder Prodigy";
|
private static final String kinnan = "Kinnan, Bonder Prodigy";
|
||||||
private static final String egg = "Golden Egg";
|
private static final String egg = "Golden Egg";
|
||||||
private static final String hovermyr = "Hovermyr";
|
private static final String hovermyr = "Hovermyr";
|
||||||
|
private static final String strike = "Strike It Rich";
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSacrificedPermanent() {
|
public void testSacrificedPermanent() {
|
||||||
|
@ -32,4 +33,23 @@ public class KinnanBonderProdigyTest extends CardTestPlayerBase {
|
||||||
assertPermanentCount(playerA, egg, 0);
|
assertPermanentCount(playerA, egg, 0);
|
||||||
assertGraveyardCount(playerA, egg, 1);
|
assertGraveyardCount(playerA, egg, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSacrificedToken() {
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, "Mountain");
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, kinnan);
|
||||||
|
addCard(Zone.HAND, playerA, strike);
|
||||||
|
addCard(Zone.HAND, playerA, hovermyr);
|
||||||
|
|
||||||
|
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, strike);
|
||||||
|
activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}");
|
||||||
|
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, hovermyr);
|
||||||
|
|
||||||
|
setStopAt(1, PhaseStep.END_TURN);
|
||||||
|
execute();
|
||||||
|
assertAllCommandsUsed();
|
||||||
|
|
||||||
|
assertPermanentCount(playerA, hovermyr, 1);
|
||||||
|
assertPermanentCount(playerA, "Treasure", 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,7 @@ import mage.game.command.Emblem;
|
||||||
import mage.game.command.Plane;
|
import mage.game.command.Plane;
|
||||||
import mage.game.events.GameEvent;
|
import mage.game.events.GameEvent;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
|
import mage.game.permanent.PermanentToken;
|
||||||
import mage.game.stack.Spell;
|
import mage.game.stack.Spell;
|
||||||
import mage.game.stack.StackAbility;
|
import mage.game.stack.StackAbility;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
|
@ -1258,6 +1259,10 @@ public abstract class AbilityImpl implements Ability {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Permanent getSourcePermanentOrLKI(Game game) {
|
public Permanent getSourcePermanentOrLKI(Game game) {
|
||||||
|
Permanent permanent = game.getPermanentOrLKIBattlefield(getSourceId());
|
||||||
|
if (permanent instanceof PermanentToken) {
|
||||||
|
return permanent;
|
||||||
|
}
|
||||||
if (getSourceObjectZoneChangeCounter() == 0
|
if (getSourceObjectZoneChangeCounter() == 0
|
||||||
|| getSourceObjectZoneChangeCounter() == game.getState().getZoneChangeCounter(getSourceId())) {
|
|| getSourceObjectZoneChangeCounter() == game.getState().getZoneChangeCounter(getSourceId())) {
|
||||||
return game.getPermanent(getSourceId());
|
return game.getPermanent(getSourceId());
|
||||||
|
|
Loading…
Reference in a new issue