[AKH] Added Vizier of Many Faces.

This commit is contained in:
LevelX2 2017-04-16 13:04:38 +02:00
parent 06fdd17e7d
commit c033868795
22 changed files with 213 additions and 56 deletions

View file

@ -38,6 +38,7 @@ import mage.constants.Outcome;
import mage.constants.TimingRule;
import mage.constants.Zone;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.token.EmptyToken;
import mage.players.Player;
import mage.util.CardUtil;
@ -112,6 +113,7 @@ class EmbalmEffect extends OneShotEffect {
token.getSubtype(game).add(0, "Zombie");
}
token.getManaCost().clear();
game.fireEvent(GameEvent.getEvent(GameEvent.EventType.EMBALMED_CREATURE, token.getId(), source.getSourceId(), controller.getId()));
token.putOntoBattlefield(1, game, source.getSourceId(), source.getControllerId(), false, false, null);
// Probably it makes sense to remove also the Embalm ability (it's not shown on the token cards).
// Also it can never get active or? But it's not mentioned in the reminder text.

View file

@ -1454,7 +1454,7 @@ public abstract class GameImpl implements Game, Serializable {
}
}
if (applier != null) {
applier.apply(this, newBluePrint);
applier.apply(this, newBluePrint, source, copyToPermanentId);
}
CopyEffect newEffect = new CopyEffect(duration, newBluePrint, copyToPermanentId);

View file

@ -282,6 +282,7 @@ public class GameEvent implements Serializable {
FIGHTED_PERMANENT,
EXPLOITED_CREATURE,
EVOLVED_CREATURE,
EMBALMED_CREATURE,
ATTACH, ATTACHED,
STAY_ATTACHED,
UNATTACH, UNATTACHED,

View file

@ -27,7 +27,9 @@
*/
package mage.util.functions;
import java.util.UUID;
import mage.MageObject;
import mage.abilities.Ability;
import mage.game.Game;
/**
@ -36,5 +38,5 @@ import mage.game.Game;
*/
public abstract class ApplyToMageObject {
public abstract boolean apply(Game game, MageObject mageObject);
public abstract boolean apply(Game game, MageObject mageObject, Ability source, UUID targetObjectId);
}

View file

@ -1,6 +1,8 @@
package mage.util.functions;
import java.io.Serializable;
import java.util.UUID;
import mage.abilities.Ability;
import mage.game.Game;
import mage.game.permanent.Permanent;
@ -9,5 +11,5 @@ import mage.game.permanent.Permanent;
*/
public abstract class ApplyToPermanent extends ApplyToMageObject implements Serializable {
public abstract boolean apply(Game game, Permanent permanent);
public abstract boolean apply(Game game, Permanent permanent, Ability source, UUID targetObjectId);
}

View file

@ -29,7 +29,6 @@ package mage.watchers.common;
import java.util.HashMap;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.WatcherScope;
import mage.game.Game;
import mage.game.events.GameEvent;

View file

@ -9,7 +9,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.WatcherScope;
import mage.game.Game;
import mage.game.events.GameEvent;