ACTIVATE_ABILITY and ACTIVATED_ABILITY events were used with source and target reversed.

This commit is contained in:
North 2011-08-22 17:34:17 +03:00
parent 8fbc9da473
commit b2d9b467ef
6 changed files with 22 additions and 24 deletions

View file

@ -30,16 +30,16 @@ package mage.sets.guildpact;
import java.util.UUID;
import mage.Constants;
import mage.Constants.AbilityType;
import mage.Constants.CardType;
import mage.Constants.Rarity;
import mage.Constants.Zone;
import mage.MageInt;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.stack.Spell;
import mage.game.stack.StackAbility;
import mage.target.TargetPlayer;
@ -73,7 +73,7 @@ public class BurningTreeShaman extends CardImpl<BurningTreeShaman> {
class BurningTreeShamanTriggeredAbility extends TriggeredAbilityImpl<BurningTreeShamanTriggeredAbility> {
BurningTreeShamanTriggeredAbility() {
super(Constants.Zone.BATTLEFIELD, new DamageTargetEffect(1));
super(Zone.BATTLEFIELD, new DamageTargetEffect(1));
this.addTarget(new TargetPlayer());
}
@ -89,8 +89,8 @@ class BurningTreeShamanTriggeredAbility extends TriggeredAbilityImpl<BurningTree
@Override
public boolean checkTrigger(GameEvent event, Game game) {
if (event.getType() == GameEvent.EventType.ACTIVATED_ABILITY) {
StackAbility stackAbility = (StackAbility) game.getStack().getStackObject(event.getTargetId());
if (stackAbility.getAbilityType() == Constants.AbilityType.ACTIVATED) {
StackAbility stackAbility = (StackAbility) game.getStack().getStackObject(event.getSourceId());
if (stackAbility.getAbilityType() == AbilityType.ACTIVATED) {
this.getTargets().get(0).add(event.getPlayerId(), game);
return true;
}

View file

@ -36,12 +36,10 @@ import mage.MageObject;
import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.ReplacementEffectImpl;
import mage.cards.Card;
import mage.cards.CardImpl;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.watchers.Watcher;
import java.util.UUID;
@ -111,12 +109,12 @@ class GrandAbolisherEffect extends ReplacementEffectImpl<GrandAbolisherEffect> {
}
// check source of activated ability
Permanent permanent = game.getPermanent(event.getTargetId());
Permanent permanent = game.getPermanent(event.getSourceId());
if (permanent != null) {
return permanent.getCardType().contains(CardType.ARTIFACT) || permanent.getCardType().contains(CardType.CREATURE)
|| permanent.getCardType().contains(CardType.ENCHANTMENT);
} else {
MageObject object = game.getObject(event.getTargetId());
MageObject object = game.getObject(event.getSourceId());
if (object != null) {
return object.getCardType().contains(CardType.ARTIFACT) || object.getCardType().contains(CardType.CREATURE)
|| object.getCardType().contains(CardType.ENCHANTMENT);

View file

@ -43,6 +43,7 @@ import mage.abilities.keyword.EnchantAbility;
import mage.cards.CardImpl;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import mage.game.permanent.Permanent;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent;
@ -105,17 +106,15 @@ class ArrestEffect extends ReplacementEffectImpl<ArrestEffect> {
@Override
public boolean applies(GameEvent event, Ability source, Game game) {
if (event.getType() == GameEvent.EventType.DECLARE_ATTACKER || event.getType() == GameEvent.EventType.DECLARE_BLOCKER || event.getType() == GameEvent.EventType.ACTIVATE_ABILITY) {
Permanent enchantment = game.getPermanent(source.getSourceId());
if (enchantment != null && enchantment.getAttachedTo() != null) {
if ((event.getType() == GameEvent.EventType.DECLARE_ATTACKER || event.getType() == GameEvent.EventType.DECLARE_BLOCKER) && event.getSourceId().equals(enchantment.getAttachedTo())) {
return true;
} else if (event.getType() == GameEvent.EventType.ACTIVATE_ABILITY && event.getTargetId().equals(enchantment.getAttachedTo())) {
if (event.getType() == EventType.DECLARE_ATTACKER || event.getType() == EventType.DECLARE_BLOCKER || event.getType() == EventType.ACTIVATE_ABILITY) {
Permanent enchantment = game.getPermanent(source.getSourceId());
if (enchantment != null && enchantment.getAttachedTo() != null) {
if (event.getSourceId().equals(enchantment.getAttachedTo())) {
return true;
}
}
}
return false;
}
}
return false;
}
}

View file

@ -41,7 +41,6 @@ import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.ReplacementEffectImpl;
import mage.cards.Card;
import mage.cards.CardImpl;
import mage.choices.Choice;
import mage.choices.ChoiceImpl;
@ -140,7 +139,7 @@ class PhyrexianRevokerEffect2 extends ReplacementEffectImpl<PhyrexianRevokerEffe
@Override
public boolean applies(GameEvent event, Ability source, Game game) {
if (event.getType() == EventType.ACTIVATE_ABILITY) {
MageObject object = game.getObject(event.getTargetId());
MageObject object = game.getObject(event.getSourceId());
if (object != null && object.getName().equals(game.getState().getValue(source.getSourceId().toString()))) {
return true;
}

View file

@ -91,7 +91,7 @@ class LinvalaKeeperOfSilenceEffect extends ReplacementEffectImpl<LinvalaKeeperOf
@Override
public boolean applies(GameEvent event, Ability source, Game game) {
Permanent p = game.getPermanent(event.getTargetId());
Permanent p = game.getPermanent(event.getSourceId());
if ( event.getType() == GameEvent.EventType.ACTIVATE_ABILITY && game.getOpponents(source.getControllerId()).contains(event.getPlayerId())
&& p != null && p.getCardType().contains(CardType.CREATURE)) {
return true;
@ -101,7 +101,7 @@ class LinvalaKeeperOfSilenceEffect extends ReplacementEffectImpl<LinvalaKeeperOf
@Override
public boolean apply(Game game, Ability source) {
throw new UnsupportedOperationException("Not supported.");
return true;
}
@Override