* Some minor changes, some fixes to Dideon Battle-Forged.

This commit is contained in:
LevelX2 2015-06-18 17:00:21 +02:00
parent ae1f726f56
commit 8caa3087bd
4 changed files with 17 additions and 6 deletions

View file

@ -88,6 +88,7 @@ public class GideonBattleForged extends CardImpl {
Effect effect = new GainAbilityTargetEffect(IndestructibleAbility.getInstance(), Duration.UntilYourNextTurn);
effect.setText("Until your next turn, target creature gains indestructible");
loyaltyAbility = new LoyaltyAbility(effect, 1);
loyaltyAbility.addTarget(new TargetCreaturePermanent());
effect = new UntapTargetEffect();
effect.setText("Untap that creature");
loyaltyAbility.addEffect(effect);
@ -149,6 +150,9 @@ class GideonBattleForgedAttacksIfAbleTargetEffect extends RequirementEffect {
@Override
public boolean isInactive(Ability source, Game game) {
if (targetPermanentReference == null) {
return true;
}
Permanent targetPermanent = targetPermanentReference.getPermanent(game);
if (targetPermanent == null) {
return false;
@ -158,6 +162,12 @@ class GideonBattleForgedAttacksIfAbleTargetEffect extends RequirementEffect {
}
return game.getPhase().getType() == TurnPhase.END && game.getTurnNum() > nextTurnTargetController;
}
@Override
public void init(Ability source, Game game) {
targetPermanentReference = new MageObjectReference(getTargetPointer().getFirst(game, source), game);
super.init(source, game);
}
@Override
public boolean applies(Permanent permanent, Ability source, Game game) {

View file

@ -54,9 +54,9 @@ public class PyromancerAscension extends CardImpl {
super(ownerId, 143, "Pyromancer Ascension", Rarity.RARE, new CardType[] { CardType.ENCHANTMENT }, "{1}{R}");
this.expansionSetCode = "ZEN";
// Whenever you cast an instant or sorcery spell that has the same name as a card in your graveyard, you may put a quest counter on Pyromancer Ascension.
this.addAbility(new PyromancerAscensionQuestTriggeredAbility());
// Whenever you cast an instant or sorcery spell while Pyromancer Ascension has two or more quest counters on it, you may copy that spell. You may choose new targets for the copy.
this.addAbility(new PyromancerAscensionCopyTriggeredAbility());
}

View file

@ -69,8 +69,9 @@ public class CopyTargetSpellEffect extends OneShotEffect {
if (activateMessage.startsWith(" casts ")) {
activateMessage = activateMessage.substring(6);
}
if (!game.isSimulation())
game.informPlayers(player.getLogName() + " copies " + activateMessage);
if (!game.isSimulation()) {
game.informPlayers(player.getLogName() + activateMessage);
}
return true;
}
return false;

View file

@ -69,8 +69,8 @@ public class StormAbility extends TriggeredAbilityImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
if (event.getSourceId().equals(this.sourceId)) {
StackObject spell = game.getStack().getStackObject(this.sourceId);
if (event.getSourceId().equals(getSourceId())) {
StackObject spell = game.getStack().getStackObject(getSourceId());
if (spell instanceof Spell) {
for (Effect effect : this.getEffects()) {
effect.setValue("StormSpell", spell);
@ -108,7 +108,7 @@ class StormEffect extends OneShotEffect {
Spell spell = (Spell) this.getValue("StormSpell");
if (spell != null) {
if (!game.isSimulation()) {
game.informPlayers("Storm: " + spell.getName() + " will be copied " + stormCount + " time" + (stormCount > 1 ?"s":""));
game.informPlayers("Storm: " + spell.getLogName() + " will be copied " + stormCount + " time" + (stormCount > 1 ?"s":""));
}
for (int i = 0; i < stormCount; i++) {
Spell copy = spell.copySpell();