"The Great Eye, Wreathed in Flame" now allows to be revealed, only if its your opponents turn
This commit is contained in:
@@ -1,19 +1,15 @@
|
|||||||
package com.gempukku.lotro.cards.set12.wraith;
|
package com.gempukku.lotro.cards.set12.wraith;
|
||||||
|
|
||||||
import com.gempukku.lotro.logic.cardtype.AbstractMinion;
|
import com.gempukku.lotro.common.*;
|
||||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
|
||||||
import com.gempukku.lotro.logic.effects.RevealCardsFromYourHandEffect;
|
|
||||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
|
|
||||||
import com.gempukku.lotro.common.CardType;
|
|
||||||
import com.gempukku.lotro.common.Culture;
|
|
||||||
import com.gempukku.lotro.common.Keyword;
|
|
||||||
import com.gempukku.lotro.common.Names;
|
|
||||||
import com.gempukku.lotro.common.Race;
|
|
||||||
import com.gempukku.lotro.filters.Filters;
|
import com.gempukku.lotro.filters.Filters;
|
||||||
import com.gempukku.lotro.game.PhysicalCard;
|
import com.gempukku.lotro.game.PhysicalCard;
|
||||||
import com.gempukku.lotro.game.state.LotroGame;
|
import com.gempukku.lotro.game.state.LotroGame;
|
||||||
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
||||||
|
import com.gempukku.lotro.logic.cardtype.AbstractMinion;
|
||||||
|
import com.gempukku.lotro.logic.effects.RevealCardsFromYourHandEffect;
|
||||||
|
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
|
||||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||||
|
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -43,8 +39,7 @@ public class Card12_183 extends AbstractMinion {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<OptionalTriggerAction> getOptionalAfterTriggersFromHand(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
public List<OptionalTriggerAction> getOptionalAfterTriggersFromHand(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||||
if (TriggerConditions.played(game, effectResult, CardType.COMPANION)
|
if (TriggerConditions.played(game, effectResult, CardType.COMPANION)) {
|
||||||
&& !playerId.equals(game.getGameState().getCurrentPlayerId())) {
|
|
||||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||||
action.appendCost(
|
action.appendCost(
|
||||||
new RevealCardsFromYourHandEffect(self, playerId, self));
|
new RevealCardsFromYourHandEffect(self, playerId, self));
|
||||||
|
|||||||
@@ -44,8 +44,7 @@ return Collections.singletonList(new KeywordModifier(self, self, new NotConditio
|
|||||||
@Override
|
@Override
|
||||||
public List<OptionalTriggerAction> getOptionalAfterTriggersFromHand(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
public List<OptionalTriggerAction> getOptionalAfterTriggersFromHand(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||||
if (TriggerConditions.played(game, effectResult, Side.FREE_PEOPLE, CardType.POSSESSION)
|
if (TriggerConditions.played(game, effectResult, Side.FREE_PEOPLE, CardType.POSSESSION)
|
||||||
&& PlayConditions.canSpot(game, Culture.MEN)
|
&& PlayConditions.canSpot(game, Culture.MEN)) {
|
||||||
&& !playerId.equals(game.getGameState().getCurrentPlayerId())) {
|
|
||||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||||
action.appendCost(
|
action.appendCost(
|
||||||
new RevealCardsFromYourHandEffect(self, playerId, self));
|
new RevealCardsFromYourHandEffect(self, playerId, self));
|
||||||
|
|||||||
@@ -1,10 +1,5 @@
|
|||||||
package com.gempukku.lotro.cards.set13.orc;
|
package com.gempukku.lotro.cards.set13.orc;
|
||||||
|
|
||||||
import com.gempukku.lotro.logic.cardtype.AbstractMinion;
|
|
||||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
|
||||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
|
||||||
import com.gempukku.lotro.logic.effects.AddBurdenEffect;
|
|
||||||
import com.gempukku.lotro.logic.effects.RevealCardsFromYourHandEffect;
|
|
||||||
import com.gempukku.lotro.common.CardType;
|
import com.gempukku.lotro.common.CardType;
|
||||||
import com.gempukku.lotro.common.Culture;
|
import com.gempukku.lotro.common.Culture;
|
||||||
import com.gempukku.lotro.common.Keyword;
|
import com.gempukku.lotro.common.Keyword;
|
||||||
@@ -13,7 +8,12 @@ import com.gempukku.lotro.filters.Filters;
|
|||||||
import com.gempukku.lotro.game.PhysicalCard;
|
import com.gempukku.lotro.game.PhysicalCard;
|
||||||
import com.gempukku.lotro.game.state.LotroGame;
|
import com.gempukku.lotro.game.state.LotroGame;
|
||||||
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
||||||
|
import com.gempukku.lotro.logic.cardtype.AbstractMinion;
|
||||||
|
import com.gempukku.lotro.logic.effects.AddBurdenEffect;
|
||||||
|
import com.gempukku.lotro.logic.effects.RevealCardsFromYourHandEffect;
|
||||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||||
|
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||||
|
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -50,8 +50,7 @@ public class Card13_112 extends AbstractMinion {
|
|||||||
public List<OptionalTriggerAction> getOptionalAfterTriggersFromHand(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
public List<OptionalTriggerAction> getOptionalAfterTriggersFromHand(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||||
if (TriggerConditions.losesSkirmishInvolving(game, effectResult,
|
if (TriggerConditions.losesSkirmishInvolving(game, effectResult,
|
||||||
Filters.and(CardType.COMPANION, Keyword.RING_BOUND),
|
Filters.and(CardType.COMPANION, Keyword.RING_BOUND),
|
||||||
Filters.and(Culture.ORC, CardType.MINION))
|
Filters.and(Culture.ORC, CardType.MINION))) {
|
||||||
&& !playerId.equals(game.getGameState().getCurrentPlayerId())) {
|
|
||||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||||
action.appendCost(
|
action.appendCost(
|
||||||
new RevealCardsFromYourHandEffect(self, playerId, self));
|
new RevealCardsFromYourHandEffect(self, playerId, self));
|
||||||
|
|||||||
@@ -1,13 +1,5 @@
|
|||||||
package com.gempukku.lotro.cards.set20.sauron;
|
package com.gempukku.lotro.cards.set20.sauron;
|
||||||
|
|
||||||
import com.gempukku.lotro.logic.cardtype.AbstractMinion;
|
|
||||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
|
||||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
|
||||||
import com.gempukku.lotro.logic.effects.AddBurdenEffect;
|
|
||||||
import com.gempukku.lotro.logic.effects.RevealCardsFromYourHandEffect;
|
|
||||||
import com.gempukku.lotro.logic.effects.SelfExertEffect;
|
|
||||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
|
|
||||||
import com.gempukku.lotro.logic.modifiers.evaluator.CountActiveEvaluator;
|
|
||||||
import com.gempukku.lotro.common.CardType;
|
import com.gempukku.lotro.common.CardType;
|
||||||
import com.gempukku.lotro.common.Culture;
|
import com.gempukku.lotro.common.Culture;
|
||||||
import com.gempukku.lotro.common.Keyword;
|
import com.gempukku.lotro.common.Keyword;
|
||||||
@@ -17,9 +9,17 @@ import com.gempukku.lotro.game.state.LotroGame;
|
|||||||
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||||
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
||||||
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
||||||
|
import com.gempukku.lotro.logic.cardtype.AbstractMinion;
|
||||||
|
import com.gempukku.lotro.logic.effects.AddBurdenEffect;
|
||||||
import com.gempukku.lotro.logic.effects.AddThreatsEffect;
|
import com.gempukku.lotro.logic.effects.AddThreatsEffect;
|
||||||
|
import com.gempukku.lotro.logic.effects.RevealCardsFromYourHandEffect;
|
||||||
|
import com.gempukku.lotro.logic.effects.SelfExertEffect;
|
||||||
|
import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
|
||||||
|
import com.gempukku.lotro.logic.modifiers.evaluator.CountActiveEvaluator;
|
||||||
import com.gempukku.lotro.logic.timing.Action;
|
import com.gempukku.lotro.logic.timing.Action;
|
||||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||||
|
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||||
|
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -43,8 +43,7 @@ public class Card20_360 extends AbstractMinion {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<OptionalTriggerAction> getOptionalAfterTriggersFromHand(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
public List<OptionalTriggerAction> getOptionalAfterTriggersFromHand(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||||
if (effectResult.getType() == EffectResult.Type.PUT_ON_THE_ONE_RING
|
if (effectResult.getType() == EffectResult.Type.PUT_ON_THE_ONE_RING) {
|
||||||
&& !playerId.equals(game.getGameState().getCurrentPlayerId())) {
|
|
||||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||||
action.appendCost(
|
action.appendCost(
|
||||||
new RevealCardsFromYourHandEffect(self, playerId, self));
|
new RevealCardsFromYourHandEffect(self, playerId, self));
|
||||||
|
|||||||
@@ -1,14 +1,5 @@
|
|||||||
package com.gempukku.lotro.cards.set40.sauron;
|
package com.gempukku.lotro.cards.set40.sauron;
|
||||||
|
|
||||||
import com.gempukku.lotro.logic.cardtype.AbstractMinion;
|
|
||||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
|
||||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
|
||||||
import com.gempukku.lotro.logic.effects.AddBurdenEffect;
|
|
||||||
import com.gempukku.lotro.logic.effects.RevealCardsFromYourHandEffect;
|
|
||||||
import com.gempukku.lotro.logic.effects.SelfExertEffect;
|
|
||||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
|
|
||||||
import com.gempukku.lotro.logic.modifiers.evaluator.CountSpottableEvaluator;
|
|
||||||
import com.gempukku.lotro.logic.modifiers.evaluator.MinEvaluator;
|
|
||||||
import com.gempukku.lotro.common.CardType;
|
import com.gempukku.lotro.common.CardType;
|
||||||
import com.gempukku.lotro.common.Culture;
|
import com.gempukku.lotro.common.Culture;
|
||||||
import com.gempukku.lotro.common.Keyword;
|
import com.gempukku.lotro.common.Keyword;
|
||||||
@@ -18,9 +9,18 @@ import com.gempukku.lotro.game.state.LotroGame;
|
|||||||
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||||
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
||||||
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
||||||
|
import com.gempukku.lotro.logic.cardtype.AbstractMinion;
|
||||||
|
import com.gempukku.lotro.logic.effects.AddBurdenEffect;
|
||||||
import com.gempukku.lotro.logic.effects.AddThreatsEffect;
|
import com.gempukku.lotro.logic.effects.AddThreatsEffect;
|
||||||
|
import com.gempukku.lotro.logic.effects.RevealCardsFromYourHandEffect;
|
||||||
|
import com.gempukku.lotro.logic.effects.SelfExertEffect;
|
||||||
|
import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
|
||||||
|
import com.gempukku.lotro.logic.modifiers.evaluator.CountSpottableEvaluator;
|
||||||
|
import com.gempukku.lotro.logic.modifiers.evaluator.MinEvaluator;
|
||||||
import com.gempukku.lotro.logic.timing.Action;
|
import com.gempukku.lotro.logic.timing.Action;
|
||||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||||
|
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||||
|
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -75,8 +75,8 @@ public class Card40_219 extends AbstractMinion {
|
|||||||
@Override
|
@Override
|
||||||
protected List<? extends Action> getExtraPhaseActions(String playerId, LotroGame game, PhysicalCard self) {
|
protected List<? extends Action> getExtraPhaseActions(String playerId, LotroGame game, PhysicalCard self) {
|
||||||
if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.SKIRMISH, self, 0)
|
if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.SKIRMISH, self, 0)
|
||||||
&& PlayConditions.canSelfExert(self, game)) {
|
&& PlayConditions.canSelfExert(self, game)) {
|
||||||
ActivateCardAction action= new ActivateCardAction(self);
|
ActivateCardAction action = new ActivateCardAction(self);
|
||||||
action.appendCost(
|
action.appendCost(
|
||||||
new SelfExertEffect(action, self));
|
new SelfExertEffect(action, self));
|
||||||
action.appendEffect(
|
action.appendEffect(
|
||||||
|
|||||||
@@ -2,13 +2,11 @@ package com.gempukku.lotro.game.state.actions;
|
|||||||
|
|
||||||
import com.gempukku.lotro.common.Filterable;
|
import com.gempukku.lotro.common.Filterable;
|
||||||
import com.gempukku.lotro.common.Phase;
|
import com.gempukku.lotro.common.Phase;
|
||||||
|
import com.gempukku.lotro.common.Side;
|
||||||
import com.gempukku.lotro.filters.Filters;
|
import com.gempukku.lotro.filters.Filters;
|
||||||
import com.gempukku.lotro.game.AbstractActionProxy;
|
import com.gempukku.lotro.game.*;
|
||||||
import com.gempukku.lotro.game.ActionProxy;
|
|
||||||
import com.gempukku.lotro.game.ActionsEnvironment;
|
|
||||||
import com.gempukku.lotro.game.CompletePhysicalCardVisitor;
|
|
||||||
import com.gempukku.lotro.game.PhysicalCard;
|
|
||||||
import com.gempukku.lotro.game.state.LotroGame;
|
import com.gempukku.lotro.game.state.LotroGame;
|
||||||
|
import com.gempukku.lotro.logic.GameUtils;
|
||||||
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||||
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
||||||
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
||||||
@@ -23,14 +21,7 @@ import com.gempukku.lotro.logic.timing.results.CharacterWonSkirmishResult;
|
|||||||
import com.gempukku.lotro.logic.timing.results.PlayCardResult;
|
import com.gempukku.lotro.logic.timing.results.PlayCardResult;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.*;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public class DefaultActionsEnvironment implements ActionsEnvironment {
|
public class DefaultActionsEnvironment implements ActionsEnvironment {
|
||||||
private static Logger LOG = Logger.getLogger(DefaultActionsEnvironment.class);
|
private static Logger LOG = Logger.getLogger(DefaultActionsEnvironment.class);
|
||||||
@@ -246,6 +237,7 @@ public class DefaultActionsEnvironment implements ActionsEnvironment {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<OptionalTriggerAction, EffectResult> getOptionalAfterTriggers(String playerId, Collection<? extends EffectResult> effectResults) {
|
public Map<OptionalTriggerAction, EffectResult> getOptionalAfterTriggers(String playerId, Collection<? extends EffectResult> effectResults) {
|
||||||
|
final boolean fpPlayer = GameUtils.isFP(_lotroGame, playerId);
|
||||||
GatherOptionalAfterTriggers gatherActions = new GatherOptionalAfterTriggers(playerId, effectResults);
|
GatherOptionalAfterTriggers gatherActions = new GatherOptionalAfterTriggers(playerId, effectResults);
|
||||||
|
|
||||||
_lotroGame.getGameState().iterateActiveTextCards(playerId, gatherActions);
|
_lotroGame.getGameState().iterateActiveTextCards(playerId, gatherActions);
|
||||||
@@ -264,14 +256,18 @@ public class DefaultActionsEnvironment implements ActionsEnvironment {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Side workingSide = fpPlayer ? Side.FREE_PEOPLE : Side.SHADOW;
|
||||||
|
|
||||||
// Optional triggers from hand
|
// Optional triggers from hand
|
||||||
for (PhysicalCard cardInHand : _lotroGame.getGameState().getHand(playerId)) {
|
for (PhysicalCard cardInHand : _lotroGame.getGameState().getHand(playerId)) {
|
||||||
for (EffectResult effectResult : effectResults) {
|
if (cardInHand.getBlueprint().getSide() == workingSide) {
|
||||||
List<OptionalTriggerAction> actions = cardInHand.getBlueprint().getOptionalAfterTriggersFromHand(playerId, _lotroGame, effectResult, cardInHand);
|
for (EffectResult effectResult : effectResults) {
|
||||||
if (actions != null) {
|
List<OptionalTriggerAction> actions = cardInHand.getBlueprint().getOptionalAfterTriggersFromHand(playerId, _lotroGame, effectResult, cardInHand);
|
||||||
for (OptionalTriggerAction action : actions) {
|
if (actions != null) {
|
||||||
if (!effectResult.wasOptionalTriggerUsed(action))
|
for (OptionalTriggerAction action : actions) {
|
||||||
gatheredActions.put(action, effectResult);
|
if (!effectResult.wasOptionalTriggerUsed(action))
|
||||||
|
gatheredActions.put(action, effectResult);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user