mirror of
https://github.com/correl/mage.git
synced 2024-12-25 03:00:15 +00:00
* Stack - Fixed that name of face down cards were unintended shown while moving effect is on the stack (Necropotence).
This commit is contained in:
parent
f6ef8e7e85
commit
60c7a2b34b
3 changed files with 60 additions and 64 deletions
|
@ -25,7 +25,6 @@
|
|||
* authors and should not be interpreted as representing official policies, either expressed
|
||||
* or implied, of BetaSteward_at_googlemail.com.
|
||||
*/
|
||||
|
||||
package mage.view;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -34,6 +33,7 @@ import java.util.UUID;
|
|||
import mage.MageObject;
|
||||
import mage.abilities.Modes;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.cards.Card;
|
||||
import mage.constants.AbilityType;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.MageObjectType;
|
||||
|
@ -47,10 +47,10 @@ import mage.target.targetpointer.TargetPointer;
|
|||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class StackAbilityView extends CardView {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private final CardView sourceCard;
|
||||
private final AbilityType abilityType;
|
||||
|
||||
public StackAbilityView(Game game, StackAbility ability, String sourceName, CardView sourceCard) {
|
||||
this.id = ability.getId();
|
||||
|
@ -115,6 +115,9 @@ public class StackAbilityView extends CardView {
|
|||
for (UUID uuid : targetList) {
|
||||
MageObject mageObject = game.getObject(uuid);
|
||||
if (mageObject != null) {
|
||||
if ((mageObject instanceof Card) && ((Card) mageObject).isFaceDown(game)) {
|
||||
continue;
|
||||
}
|
||||
names.add(mageObject.getName());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,15 +25,9 @@
|
|||
* authors and should not be interpreted as representing official policies, either expressed
|
||||
* or implied, of BetaSteward_at_googlemail.com.
|
||||
*/
|
||||
|
||||
package mage.sets.dragonsmaze;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.Zone;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.ContinuousEffect;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
|
@ -42,7 +36,11 @@ import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
|||
import mage.abilities.keyword.HasteAbility;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.SplitCard;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterCreatureCard;
|
||||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
|
@ -51,12 +49,6 @@ import mage.target.TargetPlayer;
|
|||
import mage.target.common.TargetCardInGraveyard;
|
||||
import mage.target.targetpointer.FixedTarget;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
|
||||
|
||||
public class BreakingEntering extends SplitCard {
|
||||
|
||||
public BreakingEntering(UUID ownerId) {
|
||||
|
@ -106,19 +98,19 @@ class EnteringReturnFromGraveyardToBattlefieldEffect extends OneShotEffect {
|
|||
if (player != null) {
|
||||
Target target = new TargetCardInGraveyard(new FilterCreatureCard());
|
||||
target.setNotTarget(true);
|
||||
if (target.canChoose(source.getSourceId(), source.getControllerId(), game) &&
|
||||
player.chooseTarget(outcome, target, source, game)) {
|
||||
if (target.canChoose(source.getSourceId(), source.getControllerId(), game)
|
||||
&& player.chooseTarget(outcome, target, source, game)) {
|
||||
Card card = game.getCard(target.getFirstTarget());
|
||||
if (card != null) {
|
||||
if (card.putOntoBattlefield(game, Zone.GRAVEYARD, source.getSourceId(), source.getControllerId())) {
|
||||
ContinuousEffect effect = new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn);
|
||||
effect.setTargetPointer(new FixedTarget(card.getId()));
|
||||
game.addEffect(effect, source);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -85,6 +85,7 @@ public class Necropotence extends CardImpl {
|
|||
}
|
||||
|
||||
class NecropotenceTriggeredAbility extends TriggeredAbilityImpl {
|
||||
|
||||
NecropotenceTriggeredAbility(Effect effect) {
|
||||
super(Zone.BATTLEFIELD, effect, false);
|
||||
}
|
||||
|
@ -144,7 +145,7 @@ class NecropotenceEffect extends OneShotEffect {
|
|||
card.setFaceDown(true, game);
|
||||
Effect returnToHandeffect = new ReturnToHandTargetEffect(false);
|
||||
returnToHandeffect.setText("put that face down card into your hand");
|
||||
returnToHandeffect.setTargetPointer(new FixedTarget(card.getId()));
|
||||
returnToHandeffect.setTargetPointer(new FixedTarget(card.getId(), card.getZoneChangeCounter(game)));
|
||||
DelayedTriggeredAbility delayedAbility = new AtTheBeginOfNextEndStepDelayedTriggeredAbility(returnToHandeffect, TargetController.YOU);
|
||||
delayedAbility.setSourceId(source.getSourceId());
|
||||
delayedAbility.setControllerId(source.getControllerId());
|
||||
|
|
Loading…
Reference in a new issue