Merge origin/master

This commit is contained in:
LevelX2 2017-04-17 18:34:37 +02:00
commit cc6feacb2b
5 changed files with 79 additions and 6 deletions

View file

@ -68,7 +68,7 @@ public class BontuTheGlorified extends CardImpl {
}
public BontuTheGlorified(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}");
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}");
addSuperType(SuperType.LEGENDARY);
this.subtype.add("God");
this.power = new MageInt(4);

View file

@ -125,7 +125,6 @@ class GontiLordOfLuxuryEffect extends OneShotEffect {
card.setFaceDown(true, game);
if (controller.moveCardsToExile(card, source, game, false, exileZoneId, sourceObject.getIdName())) {
card.setFaceDown(true, game);
@SuppressWarnings("unchecked")
Set<UUID> exileZones = (Set<UUID>) game.getState().getValue(GontiLordOfLuxury.VALUE_PREFIX + source.getSourceId().toString());
if (exileZones == null) {
exileZones = new HashSet<>();

View file

@ -53,7 +53,7 @@ public class MagusOfTheMoon extends CardImpl {
private static final FilterLandPermanent filter = new FilterLandPermanent();
static {
filter.add(Predicates.not(new SupertypePredicate(SuperType.LEGENDARY)));
filter.add(Predicates.not(new SupertypePredicate(SuperType.BASIC)));
}
public MagusOfTheMoon(UUID ownerId, CardSetInfo setInfo) {

View file

@ -97,11 +97,11 @@ class TrespassersCurseTriggeredAbility extends TriggeredAbilityImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
Permanent enchantment = game.getPermanent(this.getSourceId());
Permanent enchantment = game.getPermanent(this.sourceId);
if (enchantment != null
&& enchantment.getAttachedTo() != null
&& game.getControllerId(event.getSourceId()).equals(enchantment.getAttachedTo())
&& game.getPermanent(this.getSourceId()).isCreature()) {
&& game.getControllerId(event.getTargetId()).equals(enchantment.getAttachedTo())
&& game.getPermanent(event.getTargetId()).isCreature()) {
for (Effect effect : this.getEffects()) {
effect.setTargetPointer(new FixedTarget(enchantment.getAttachedTo()));
}

View file

@ -437,4 +437,78 @@ public class FlashbackTest extends CardTestPlayerBase {
assertPermanentCount(playerA, "Elemental Cat", 1);
assertGraveyardCount(playerA, mountain, 1);
}
/*
* Reported bug: Battle Screech doesn't flashback (i get the pop up to choose flashback, tap the creatures and nothing happens)
*/
@Test
public void battleScreechFlashback() {
/*
Battle Screech {2}{W}{W}
Sorcery
Create two 1/1 white Bird creature tokens with flying.
FlashbackTap three untapped white creatures you control.
*/
String bScreech = "Battle Screech";
String eVanguard = "Elite Vanguard"; // {W} 2/1
String yOx = "Yoked Ox"; // {W} 0/4
String wKnight = "White Knight"; // {W}{W} 2/2
addCard(Zone.GRAVEYARD, playerA, bScreech);
addCard(Zone.BATTLEFIELD, playerA, eVanguard);
addCard(Zone.BATTLEFIELD, playerA, yOx);
addCard(Zone.BATTLEFIELD, playerA, wKnight);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Flashback"); // Flashback Battle Screech
addTarget(playerA, eVanguard + '^' + yOx + '^' + wKnight);
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();
assertTapped(eVanguard, true);
assertTapped(yOx, true);
assertTapped(wKnight, true);
assertExileCount(playerA, bScreech, 1); // this fails, but the creatures are tapped as part of paying the cost
assertPermanentCount(playerA, "Bird", 2); // if you comment out the above line, this is failing as well
}
/*
Reported bug: tried to flashback Dread Return, it allowed me to sac the creatures but the spell did not resolve after the costs had been paid.
It did not allow me to select a creature to return from yard to board.
*/
@Test
public void dreadReturnFlashback() {
/*
Dread Return {2}{B}{B}
Sorcery
Return target creature card from your graveyard to the battlefield.
FlashbackSacrifice three creatures
*/
String dReturn = "Dread Return";
String yOx = "Yoked Ox"; // {W} 0/4
String eVanguard = "Elite Vanguard"; // {W} 2/1
String memnite = "Memnite"; // {0} 1/1
String bSable = "Bronze Sable"; // {2} 2/1
addCard(Zone.GRAVEYARD, playerA, dReturn);
addCard(Zone.GRAVEYARD, playerA, bSable);
addCard(Zone.BATTLEFIELD, playerA, yOx);
addCard(Zone.BATTLEFIELD, playerA, eVanguard);
addCard(Zone.BATTLEFIELD, playerA, memnite);
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Flashback"); // Flashback Dread Return
addTarget(playerA, yOx + '^' + eVanguard + '^' + memnite); // sac 3 creatures
addTarget(playerA, bSable); // return to battlefield
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();
assertGraveyardCount(playerA, eVanguard, 1);
assertGraveyardCount(playerA,yOx, 1);
assertGraveyardCount(playerA, memnite, 1);
assertExileCount(playerA, dReturn, 1);
assertPermanentCount(playerA, bSable, 1);
}
}