This commit is contained in:
BetaSteward 2012-03-03 23:20:10 -05:00
parent 67fb349224
commit db02ea3aa6
9 changed files with 18 additions and 14 deletions

View file

@ -37,9 +37,11 @@ import mage.MageInt;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.effects.common.SacrificeTargetEffect;
import mage.cards.CardImpl;
import mage.filter.common.FilterCreaturePermanent;
import mage.game.Game;
import mage.game.events.DamagedPlayerEvent;
import mage.game.events.GameEvent;
import mage.players.Player;
import mage.target.common.TargetCreaturePermanent;
/**
@ -91,7 +93,14 @@ class AshlingTheExtinguisherTriggeredAbility extends TriggeredAbilityImpl<Ashlin
if (event instanceof DamagedPlayerEvent) {
DamagedPlayerEvent damageEvent = (DamagedPlayerEvent)event;
if (damageEvent.isCombatDamage() && event.getSourceId().equals(this.getSourceId())) {
return true;
Player opponent = game.getPlayer(event.getPlayerId());
if (opponent != null) {
this.getTargets().clear();
FilterCreaturePermanent filter = new FilterCreaturePermanent("creature " + opponent.getName() + " controls");
filter.getControllerId().add(opponent.getId());
this.addTarget(new TargetCreaturePermanent(filter));
return true;
}
}
}
return false;

View file

@ -100,6 +100,7 @@ class LightwielderPaladinTriggeredAbility extends TriggeredAbilityImpl<Lightwiel
filter.setScopeColor(ComparisonScope.Any);
filter.getControllerId().add(event.getTargetId());
filter.setNotController(false);
this.getTargets().clear();
this.addTarget(new TargetPermanent(filter));
return true;
}

View file

@ -89,6 +89,7 @@ class ArmWithAEtherTriggeredAbility extends TriggeredAbilityImpl<ArmWithAEtherTr
public boolean checkTrigger(GameEvent event, Game game) {
Player opponent = game.getPlayer(event.getPlayerId());
if (opponent != null && event.getType() == GameEvent.EventType.DAMAGED_PLAYER && event.getSourceId().equals(this.sourceId)) {
this.getTargets().clear();
FilterCreaturePermanent filter = new FilterCreaturePermanent("creature " + opponent.getName() + " controls");
filter.getControllerId().add(opponent.getId());
this.addTarget(new TargetCreaturePermanent(filter));

View file

@ -106,6 +106,7 @@ class BlindZealotTriggeredAbility extends TriggeredAbilityImpl<BlindZealotTrigge
sb.append(" to destroy target creature controlled by ");
sb.append(game.getPlayer(event.getTargetId()).getName()).append("?");
if (player.chooseUse(Outcome.DestroyPermanent, sb.toString(), game)) {
this.getTargets().clear();
FilterCreaturePermanent filter = new FilterCreaturePermanent();
filter.getControllerId().add(event.getTargetId());
filter.setNotController(false);

View file

@ -100,6 +100,7 @@ class HammerOfRuinTriggeredAbility extends TriggeredAbilityImpl<HammerOfRuinTrig
Permanent p = game.getPermanent(event.getSourceId());
if (damageEvent.isCombatDamage() && p != null && p.getAttachments().contains(this.getSourceId())) {
FilterPermanent filter = (FilterPermanent)getTargets().get(0).getFilter();
filter.getControllerId().clear();
filter.getControllerId().add(event.getPlayerId());
return true;
}

View file

@ -1,8 +1,6 @@
package org.mage.test.cards;
import mage.Constants;
import mage.Constants.PhaseStep;
import org.junit.Ignore;
import org.junit.Test;
import org.mage.test.serverside.base.CardTestPlayerBase;

View file

@ -1,15 +1,6 @@
package org.mage.test.cards;
import java.util.ArrayList;
import java.util.List;
import mage.Constants;
import mage.Constants.PhaseStep;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.target.common.TargetCreatureOrPlayer;
import org.junit.Ignore;
import org.junit.Test;
import org.mage.test.serverside.base.CardTestPlayerBase;

View file

@ -325,7 +325,7 @@ public final class Constants {
PutCreatureInPlay(true),
PutCardInPlay(true),
PutLandInPlay(true),
GainControl(true),
GainControl(false),
DrawCard(true),
Discard(false),
Sacrifice(false),

View file

@ -885,8 +885,10 @@ public abstract class GameImpl<T extends GameImpl<T>> implements Game, Serializa
if (attachment != null && !(attachment.getSubtype().contains("Aura") ||
attachment.getSubtype().contains("Equipment") ||
attachment.getSubtype().contains("Fortification"))) {
if (perm.removeAttachment(attachment.getId(), this))
if (perm.removeAttachment(attachment.getId(), this)) {
somethingHappened = true;
break;
}
}
}
}