mirror of
https://github.com/magefree/mage.git
synced 2025-12-22 19:41:59 -08:00
refactor: improved cards hints support for combined triggers like OrTriggeredAbility
This commit is contained in:
parent
29bab5f614
commit
3f79ffa21a
4 changed files with 35 additions and 0 deletions
|
|
@ -8,6 +8,7 @@ import mage.abilities.TriggeredAbility;
|
|||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.Effects;
|
||||
import mage.abilities.hint.Hint;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.EffectType;
|
||||
import mage.game.Game;
|
||||
|
|
@ -15,6 +16,7 @@ import mage.game.events.GameEvent;
|
|||
import mage.util.CardUtil;
|
||||
import mage.watchers.Watcher;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
|
@ -86,6 +88,13 @@ public class UntilYourNextTurnDelayedTriggeredAbility extends DelayedTriggeredAb
|
|||
ability.addWatcher(watcher);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Hint> getHints() {
|
||||
List<Hint> res = new ArrayList<>(super.getHints());
|
||||
res.addAll(ability.getHints());
|
||||
return res;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Effects getEffects(Game game, EffectType effectType) {
|
||||
return ability.getEffects(game, effectType);
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import mage.abilities.TriggeredAbilityImpl;
|
|||
import mage.abilities.condition.Condition;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.Effects;
|
||||
import mage.abilities.hint.Hint;
|
||||
import mage.constants.EffectType;
|
||||
import mage.constants.Zone;
|
||||
import mage.game.Game;
|
||||
|
|
@ -14,6 +15,7 @@ import mage.game.events.GameEvent;
|
|||
import mage.util.CardUtil;
|
||||
import mage.watchers.Watcher;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
|
@ -111,6 +113,13 @@ public class ConditionalInterveningIfTriggeredAbility extends TriggeredAbilityIm
|
|||
ability.addWatcher(watcher);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Hint> getHints() {
|
||||
List<Hint> res = new ArrayList<>(super.getHints());
|
||||
res.addAll(ability.getHints());
|
||||
return res;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Effects getEffects(Game game, EffectType effectType) {
|
||||
return ability.getEffects(game, effectType);
|
||||
|
|
|
|||
|
|
@ -8,12 +8,14 @@ import mage.abilities.TriggeredAbilityImpl;
|
|||
import mage.abilities.condition.Condition;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.Effects;
|
||||
import mage.abilities.hint.Hint;
|
||||
import mage.constants.EffectType;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.util.CardUtil;
|
||||
import mage.watchers.Watcher;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
|
@ -106,6 +108,13 @@ public class ConditionalTriggeredAbility extends TriggeredAbilityImpl {
|
|||
ability.addWatcher(watcher);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Hint> getHints() {
|
||||
List<Hint> res = new ArrayList<>(super.getHints());
|
||||
res.addAll(ability.getHints());
|
||||
return res;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Effects getEffects(Game game, EffectType effectType) {
|
||||
return ability.getEffects(game, effectType);
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import mage.abilities.Ability;
|
|||
import mage.abilities.TriggeredAbility;
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.hint.Hint;
|
||||
import mage.constants.Zone;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
|
|
@ -126,6 +127,13 @@ public class OrTriggeredAbility extends TriggeredAbilityImpl {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Hint> getHints() {
|
||||
List<Hint> res = new ArrayList<>(super.getHints());
|
||||
this.triggeredAbilities.forEach(a -> res.addAll(a.getHints()));
|
||||
return res;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInUseableZone(Game game, MageObject sourceObject, GameEvent event) {
|
||||
boolean res = false;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue