mirror of
https://github.com/correl/mage.git
synced 2024-11-15 19:19:33 +00:00
* Fixed CAST_SPELL_LATE event (e.g. used by Reflector Mage) to only fire for cast events.
This commit is contained in:
parent
d6af2c4008
commit
ad637a2944
3 changed files with 36 additions and 34 deletions
|
@ -15,9 +15,9 @@ import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||||
public class ThoughtKnotSeerTest extends CardTestPlayerBase {
|
public class ThoughtKnotSeerTest extends CardTestPlayerBase {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reported bug
|
* Reported bug I bounced a Thought-Knot Seer my opponent controlled with
|
||||||
* I bounced a Thought-Knot Seer my opponent controlled with enter the battlefield ability of a Reflector Mage.
|
* enter the battlefield ability of a Reflector Mage. I should have drawn a
|
||||||
* I should have drawn a card since the Thought-Knot Seer left the battlefield but I didn't.
|
* card since the Thought-Knot Seer left the battlefield but I didn't.
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testThoughtKnotSeerBouncedReflectorMage() {
|
public void testThoughtKnotSeerBouncedReflectorMage() {
|
||||||
|
@ -40,13 +40,14 @@ public class ThoughtKnotSeerTest extends CardTestPlayerBase {
|
||||||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||||
execute();
|
execute();
|
||||||
|
|
||||||
|
assertPermanentCount(playerA, "Reflector Mage", 1);
|
||||||
assertHandCount(playerB, "Thought-Knot Seer", 1);
|
assertHandCount(playerB, "Thought-Knot Seer", 1);
|
||||||
Set<Card> hand = playerA.getHand().getCards(currentGame);
|
|
||||||
assertHandCount(playerA, 1); // should have drawn a card from Thought-Knot Seer leaving
|
assertHandCount(playerA, 1); // should have drawn a card from Thought-Knot Seer leaving
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Simple bounce test on Thought-Knot Seer to differentiate between this and Reflector Mage issue
|
* Simple bounce test on Thought-Knot Seer to differentiate between this and
|
||||||
|
* Reflector Mage issue
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testThoughtKnotSeerBouncedUnsummon() {
|
public void testThoughtKnotSeerBouncedUnsummon() {
|
||||||
|
|
|
@ -315,7 +315,8 @@ public abstract class AbilityImpl implements Ability {
|
||||||
VariableManaCost variableManaCost = handleManaXCosts(game, noMana, controller);
|
VariableManaCost variableManaCost = handleManaXCosts(game, noMana, controller);
|
||||||
String announceString = handleOtherXCosts(game, controller);
|
String announceString = handleOtherXCosts(game, controller);
|
||||||
// For effects from cards like Void Winnower x costs have to be set
|
// For effects from cards like Void Winnower x costs have to be set
|
||||||
if (game.replaceEvent(GameEvent.getEvent(GameEvent.EventType.CAST_SPELL_LATE, getId(), getSourceId(), getControllerId()), this)) {
|
if (this.getAbilityType().equals(AbilityType.SPELL)
|
||||||
|
&& game.replaceEvent(GameEvent.getEvent(GameEvent.EventType.CAST_SPELL_LATE, getId(), getSourceId(), getControllerId()), this)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
for (Mode mode : this.getModes().getSelectedModes()) {
|
for (Mode mode : this.getModes().getSelectedModes()) {
|
||||||
|
|
|
@ -40,7 +40,7 @@ import mage.game.events.ZoneChangeEvent;
|
||||||
public class LeavesBattlefieldTriggeredAbility extends ZoneChangeTriggeredAbility {
|
public class LeavesBattlefieldTriggeredAbility extends ZoneChangeTriggeredAbility {
|
||||||
|
|
||||||
public LeavesBattlefieldTriggeredAbility(Effect effect, boolean optional) {
|
public LeavesBattlefieldTriggeredAbility(Effect effect, boolean optional) {
|
||||||
super(Zone.BATTLEFIELD, null, effect, "When {this} leaves the battlefield, ", optional);
|
super(Zone.ALL, Zone.BATTLEFIELD, null, effect, "When {this} leaves the battlefield, ", optional);
|
||||||
}
|
}
|
||||||
|
|
||||||
public LeavesBattlefieldTriggeredAbility(LeavesBattlefieldTriggeredAbility ability) {
|
public LeavesBattlefieldTriggeredAbility(LeavesBattlefieldTriggeredAbility ability) {
|
||||||
|
|
Loading…
Reference in a new issue