mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 21:29:17 -08:00
refactor: fixed wrong usage of getModes (related to #13338)
This commit is contained in:
parent
fe52d824b4
commit
df0a2760b6
4 changed files with 9 additions and 11 deletions
|
|
@ -2,7 +2,6 @@ package mage.cards.m;
|
|||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.Mode;
|
||||
import mage.abilities.SpellAbility;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
|
|
@ -17,8 +16,8 @@ import mage.filter.predicate.ObjectSourcePlayerPredicate;
|
|||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.game.stack.Spell;
|
||||
import mage.target.Target;
|
||||
import mage.target.TargetSpell;
|
||||
import mage.util.CardUtil;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
|
@ -69,13 +68,10 @@ enum MistfolkPredicate implements ObjectSourcePlayerPredicate<Spell> {
|
|||
if (sourceObject == null || input.getObject() == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (SpellAbility spellAbility : input.getObject().getSpellAbilities()) {
|
||||
for (Mode mode : spellAbility.getModes().values()) {
|
||||
for (Target target : spellAbility.getTargets()) {
|
||||
if (target.getTargets().contains(input.getSourceId())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (CardUtil.getAllSelectedTargets(spellAbility, game).contains(input.getSourceId())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -77,7 +77,8 @@ enum CanTargetOnlyWallsPredicate implements Predicate<MageObject> {
|
|||
return false;
|
||||
}
|
||||
boolean canTargetOnlyWalls = false;
|
||||
for (Mode mode : stackObject.getStackAbility().getModes().values()) {
|
||||
for (UUID modeId : stackObject.getStackAbility().getModes().getSelectedModes()) {
|
||||
Mode mode = stackObject.getStackAbility().getModes().get(modeId);
|
||||
for (Target target : mode.getTargets()) {
|
||||
Filter filter = target.getFilter();
|
||||
if (!(filter instanceof FilterPermanent)) {
|
||||
|
|
|
|||
|
|
@ -551,7 +551,7 @@ public enum SubType {
|
|||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Subtype(" + subtype + ')';
|
||||
return "Subtype(" + subtype + ')'; // warning, do not change until refactor code like predicate.toString().equals
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -70,7 +70,8 @@ class DackFaydenEmblemTriggeredAbility extends TriggeredAbilityImpl {
|
|||
Spell spell = game.getStack().getSpell(event.getTargetId());
|
||||
if (spell != null) {
|
||||
SpellAbility spellAbility = spell.getSpellAbility();
|
||||
for (Mode mode : spellAbility.getModes().values()) {
|
||||
for (UUID modeId : spellAbility.getModes().getSelectedModes()) {
|
||||
Mode mode = spellAbility.getModes().get(modeId);
|
||||
for (Target target : mode.getTargets()) {
|
||||
if (!target.isNotTarget()) {
|
||||
for (UUID targetId : target.getTargets()) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue