mirror of
https://github.com/magefree/mage.git
synced 2026-01-23 03:39:54 -08:00
Fixed a bug of SpellCastOpponentTriggeredAbility and changed FilterCard to FilterSpell.
This commit is contained in:
parent
eff2572ee5
commit
ff1b2ceb72
6 changed files with 25 additions and 21 deletions
|
|
@ -107,8 +107,9 @@ class ReciprocateTarget<T extends TargetCreaturePermanent<T>> extends TargetPerm
|
|||
@Override
|
||||
public boolean canChoose(UUID sourceId, UUID sourceControllerId, Game game) {
|
||||
int remainingTargets = this.minNumberOfTargets - targets.size();
|
||||
if (remainingTargets == 0)
|
||||
return true;
|
||||
if (remainingTargets == 0) {
|
||||
return true;
|
||||
}
|
||||
int count = 0;
|
||||
MageObject targetSource = game.getObject(sourceId);
|
||||
PlayerDamagedBySourceWatcher watcher = (PlayerDamagedBySourceWatcher) game.getState().getWatchers().get("PlayerDamagedBySource", sourceControllerId);
|
||||
|
|
@ -116,8 +117,9 @@ class ReciprocateTarget<T extends TargetCreaturePermanent<T>> extends TargetPerm
|
|||
if (!targets.containsKey(permanent.getId()) && permanent.canBeTargetedBy(targetSource, sourceControllerId, game)
|
||||
&& watcher != null && watcher.damageSources.contains(permanent.getId())) {
|
||||
count++;
|
||||
if (count >= remainingTargets)
|
||||
return true;
|
||||
if (count >= remainingTargets) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -126,8 +126,9 @@ class GiltspireAvengerTarget<T extends TargetCreaturePermanent<T>> extends Targe
|
|||
@Override
|
||||
public boolean canChoose(UUID sourceId, UUID sourceControllerId, Game game) {
|
||||
int remainingTargets = this.minNumberOfTargets - targets.size();
|
||||
if (remainingTargets == 0)
|
||||
return true;
|
||||
if (remainingTargets == 0) {
|
||||
return true;
|
||||
}
|
||||
int count = 0;
|
||||
MageObject targetSource = game.getObject(sourceId);
|
||||
PlayerDamagedBySourceWatcher watcher = (PlayerDamagedBySourceWatcher) game.getState().getWatchers().get("PlayerDamagedBySource", sourceControllerId);
|
||||
|
|
@ -135,8 +136,9 @@ class GiltspireAvengerTarget<T extends TargetCreaturePermanent<T>> extends Targe
|
|||
if (!targets.containsKey(permanent.getId()) && permanent.canBeTargetedBy(targetSource, sourceControllerId, game)
|
||||
&& watcher != null && watcher.damageSources.contains(permanent.getId())) {
|
||||
count++;
|
||||
if (count >= remainingTargets)
|
||||
return true;
|
||||
if (count >= remainingTargets) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ import mage.abilities.common.SpellCastOpponentTriggeredAbility;
|
|||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.counters.CounterType;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||
|
||||
|
|
@ -46,7 +46,7 @@ import mage.filter.predicate.mageobject.ColorPredicate;
|
|||
*/
|
||||
public class MoldAdder extends CardImpl<MoldAdder> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("blue or black spell");
|
||||
private static final FilterSpell filter = new FilterSpell("blue or black spell");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.or(
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ import mage.constants.CardType;
|
|||
import mage.constants.Outcome;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||
import mage.filter.predicate.mageobject.ColorPredicate;
|
||||
|
|
@ -52,7 +52,7 @@ import mage.players.Player;
|
|||
*/
|
||||
public class Mindsparker extends CardImpl<Mindsparker> {
|
||||
|
||||
private static final FilterCard filter = new FilterCard("white or blue instant or sorcery spell");
|
||||
private static final FilterSpell filter = new FilterSpell("white or blue instant or sorcery spell");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.or(
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ import mage.constants.Outcome;
|
|||
import mage.constants.Rarity;
|
||||
import mage.constants.Zone;
|
||||
import mage.counters.CounterType;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.FilterSpell;
|
||||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
|
||||
|
|
@ -76,7 +76,7 @@ public class PardicDragon extends CardImpl<PardicDragon> {
|
|||
this.addAbility(new SuspendAbility(2, new ManaCostsImpl("{R}{R}"), this, true));
|
||||
// Whenever an opponent casts a spell, if Pardic Dragon is suspended, that player may put a time counter on Pardic Dragon.
|
||||
this.addAbility(new ConditionalTriggeredAbility(
|
||||
new SpellCastOpponentTriggeredAbility(Zone.EXILED, new PardicDragonEffect(), new FilterCard(), false, true),
|
||||
new SpellCastOpponentTriggeredAbility(Zone.EXILED, new PardicDragonEffect(), new FilterSpell(), false, true),
|
||||
SuspendedCondition.getInstance(),
|
||||
"Whenever an opponent casts a spell, if {this} is suspended, that player may put a time counter on Pardic Dragon."
|
||||
));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue