mirror of
https://github.com/magefree/mage.git
synced 2025-12-21 02:52:02 -08:00
Fix Brine Comber not triggering out of disturb auras (#11170)
This commit is contained in:
parent
6b7c0529b9
commit
d3779d9270
2 changed files with 84 additions and 2 deletions
|
|
@ -1,8 +1,8 @@
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
|
import mage.abilities.SpellAbility;
|
||||||
import mage.abilities.TriggeredAbilityImpl;
|
import mage.abilities.TriggeredAbilityImpl;
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.keyword.DisturbAbility;
|
import mage.abilities.keyword.DisturbAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
|
@ -83,7 +83,12 @@ class BrineComberTriggeredAbility extends TriggeredAbilityImpl {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
Spell spell = game.getSpell(event.getSourceId());
|
Spell spell = game.getSpell(event.getSourceId());
|
||||||
return spell != null && spell.hasSubtype(SubType.AURA, game);
|
if(spell == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
SpellAbility spellAbility = (SpellAbility) spell.getStackAbility();
|
||||||
|
return spellAbility != null
|
||||||
|
&& spellAbility.getCharacteristics(game).hasSubtype(SubType.AURA, game);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,77 @@
|
||||||
|
package org.mage.test.cards.single.vow;
|
||||||
|
|
||||||
|
import mage.constants.PhaseStep;
|
||||||
|
import mage.constants.Zone;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Susucr
|
||||||
|
*/
|
||||||
|
public class BrineComberTest extends CardTestPlayerBase {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Brine Comber
|
||||||
|
* {1}{W}{U}
|
||||||
|
* Creature — Spirit
|
||||||
|
*
|
||||||
|
* Whenever Brine Comber enters the battlefield or becomes the target of an Aura spell, create a 1/1 white Spirit creature token with flying.
|
||||||
|
*
|
||||||
|
* Disturb {W}{U} (You may cast this card from your graveyard transformed for its disturb cost.)
|
||||||
|
*/
|
||||||
|
private static final String comber = "Brine Comber";
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_Aura() {
|
||||||
|
setStrictChooseMode(true);
|
||||||
|
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, comber);
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, "Forest");
|
||||||
|
addCard(Zone.HAND, playerA, "Rancor"); // Aura for {G}
|
||||||
|
|
||||||
|
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Rancor", comber);
|
||||||
|
|
||||||
|
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||||
|
execute();
|
||||||
|
|
||||||
|
assertPermanentCount(playerA, "Spirit Token", 1);
|
||||||
|
assertPermanentCount(playerA, "Rancor", 1);
|
||||||
|
assertPowerToughness(playerA, comber, 1+2, 1+0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_DisturbAura() {
|
||||||
|
setStrictChooseMode(true);
|
||||||
|
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, comber);
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, "Island", 3);
|
||||||
|
addCard(Zone.GRAVEYARD, playerA, "Lantern Bearer"); // Disturb for {2}{U}, back face being an aura.
|
||||||
|
|
||||||
|
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Lanterns' Lift using Disturb", comber);
|
||||||
|
|
||||||
|
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||||
|
execute();
|
||||||
|
|
||||||
|
assertPermanentCount(playerA, "Spirit Token", 1);
|
||||||
|
assertPermanentCount(playerA, "Lanterns' Lift", 1);
|
||||||
|
assertPowerToughness(playerA, comber, 1+1, 1+1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_BestowAura() {
|
||||||
|
setStrictChooseMode(true);
|
||||||
|
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, comber);
|
||||||
|
addCard(Zone.BATTLEFIELD, playerA, "Plains", 4);
|
||||||
|
addCard(Zone.HAND, playerA, "Hopeful Eidolon"); // Bestow for {3}{W}.
|
||||||
|
|
||||||
|
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Cast Hopeful Eidolon using bestow", comber);
|
||||||
|
|
||||||
|
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||||
|
execute();
|
||||||
|
|
||||||
|
assertPermanentCount(playerA, "Spirit Token", 1);
|
||||||
|
assertPermanentCount(playerA, "Hopeful Eidolon", 1);
|
||||||
|
assertPowerToughness(playerA, comber, 1+1, 1+1);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue