Merge branch 'master' into master
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package com.gempukku.lotro.cards.set1;
|
||||
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
@@ -11,7 +10,10 @@ import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractAttachable;
|
||||
import com.gempukku.lotro.logic.effects.*;
|
||||
import com.gempukku.lotro.logic.modifiers.*;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifierFlag;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.VitalityModifier;
|
||||
import com.gempukku.lotro.logic.timing.Action;
|
||||
import com.gempukku.lotro.logic.timing.Effect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
@@ -44,7 +46,6 @@ public class Card1_001 extends AbstractAttachable {
|
||||
List<Modifier> modifiers = new LinkedList<Modifier>();
|
||||
modifiers.add(new StrengthModifier(self, Filters.hasAttached(self), 1));
|
||||
modifiers.add(new VitalityModifier(self, Filters.hasAttached(self), 1));
|
||||
modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND));
|
||||
return modifiers;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.gempukku.lotro.cards.set1;
|
||||
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
@@ -11,7 +10,6 @@ import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractAttachable;
|
||||
import com.gempukku.lotro.logic.effects.*;
|
||||
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifierFlag;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
@@ -46,7 +44,6 @@ public class Card1_002 extends AbstractAttachable {
|
||||
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
|
||||
List<Modifier> modifiers = new LinkedList<Modifier>();
|
||||
modifiers.add(new StrengthModifier(self, Filters.hasAttached(self), 1));
|
||||
modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND));
|
||||
return modifiers;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.gempukku.lotro.cards.set11;
|
||||
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
@@ -11,7 +10,6 @@ import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractAttachable;
|
||||
import com.gempukku.lotro.logic.effects.*;
|
||||
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifierFlag;
|
||||
import com.gempukku.lotro.logic.modifiers.ResistanceModifier;
|
||||
@@ -46,7 +44,6 @@ public class Card11_001 extends AbstractAttachable {
|
||||
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
|
||||
List<Modifier> modifiers = new LinkedList<Modifier>();
|
||||
modifiers.add(new ResistanceModifier(self, Filters.hasAttached(self), 2));
|
||||
modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND));
|
||||
return modifiers;
|
||||
}
|
||||
|
||||
|
||||
@@ -39,7 +39,6 @@ public class Card15_001 extends AbstractAttachable {
|
||||
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
|
||||
List<Modifier> modifiers = new LinkedList<Modifier>();
|
||||
modifiers.add(new VitalityModifier(self, Filters.hasAttached(self), 2));
|
||||
modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND));
|
||||
modifiers.add(
|
||||
new KeywordModifier(self, Filters.hasAttached(self),
|
||||
new Condition() {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.gempukku.lotro.cards.set19;
|
||||
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
@@ -11,14 +10,11 @@ import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractAttachable;
|
||||
import com.gempukku.lotro.logic.effects.*;
|
||||
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifierFlag;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
import com.gempukku.lotro.logic.timing.*;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -37,13 +33,6 @@ public class Card19_001 extends AbstractAttachable {
|
||||
return Filters.none;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
|
||||
List<Modifier> modifiers = new LinkedList<Modifier>();
|
||||
modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND));
|
||||
return modifiers;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<? extends Action> getExtraPhaseActions(String playerId, LotroGame game, final PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self)
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.gempukku.lotro.cards.set20;
|
||||
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
@@ -38,7 +37,6 @@ public class Card20_001 extends AbstractAttachable {
|
||||
@Override
|
||||
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
|
||||
List<Modifier> modifiers = new LinkedList<Modifier>();
|
||||
modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND));
|
||||
modifiers.add(new StrengthModifier(self, Filters.hasAttached(self), 1));
|
||||
modifiers.add(new VitalityModifier(self, Filters.hasAttached(self), 1));
|
||||
modifiers.add(new ResistanceModifier(self, Filters.hasAttached(self), 1));
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.gempukku.lotro.cards.set20;
|
||||
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
@@ -11,7 +10,6 @@ import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractAttachable;
|
||||
import com.gempukku.lotro.logic.effects.*;
|
||||
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifierFlag;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
@@ -46,7 +44,6 @@ public class Card20_002 extends AbstractAttachable {
|
||||
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
|
||||
List<Modifier> modifiers = new LinkedList<Modifier>();
|
||||
modifiers.add(new StrengthModifier(self, Filters.hasAttached(self), 1));
|
||||
modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND));
|
||||
return modifiers;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.gempukku.lotro.cards.set4;
|
||||
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
@@ -40,7 +39,6 @@ public class Card4_001 extends AbstractAttachable {
|
||||
List<Modifier> modifiers = new LinkedList<Modifier>();
|
||||
modifiers.add(
|
||||
new VitalityModifier(self, Filters.hasAttached(self), 2));
|
||||
modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND));
|
||||
modifiers.add(
|
||||
new StrengthModifier(self, Filters.hasAttached(self),
|
||||
new Condition() {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.gempukku.lotro.cards.set40;
|
||||
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
@@ -48,7 +47,6 @@ public class Card40_001 extends AbstractAttachable {
|
||||
modifiers.add(new StrengthModifier(self, Filters.hasAttached(self), 1));
|
||||
modifiers.add(new VitalityModifier(self, Filters.hasAttached(self), 1));
|
||||
modifiers.add(new ResistanceModifier(self, Filters.hasAttached(self), 1));
|
||||
modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND));
|
||||
return modifiers;
|
||||
}
|
||||
|
||||
@@ -73,24 +71,6 @@ public class Card40_001 extends AbstractAttachable {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends Action> getOptionalInPlayBeforeActions(final String playerId, LotroGame game, Effect effect, final PhysicalCard self) {
|
||||
if (TriggerConditions.isGettingWounded(effect, game, Filters.hasAttached(self))
|
||||
&& !game.getModifiersQuerying().hasFlagActive(game, ModifierFlag.RING_TEXT_INACTIVE)) {
|
||||
WoundCharactersEffect woundEffect = (WoundCharactersEffect) effect;
|
||||
List<Action> actions = new LinkedList<Action>();
|
||||
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendEffect(new NegateWoundEffect(woundEffect, self.getAttachedTo()));
|
||||
action.appendEffect(new AddBurdenEffect(self.getOwner(), self, 2));
|
||||
action.appendEffect(new PutOnTheOneRingEffect());
|
||||
|
||||
actions.add(action);
|
||||
return actions;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RequiredTriggerAction> getRequiredBeforeTriggers(LotroGame game, Effect effect, PhysicalCard self) {
|
||||
if (TriggerConditions.isGettingWounded(effect, game, Filters.hasAttached(self))
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.gempukku.lotro.cards.set40;
|
||||
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
@@ -11,7 +10,6 @@ import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractAttachable;
|
||||
import com.gempukku.lotro.logic.effects.*;
|
||||
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifierFlag;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
@@ -49,7 +47,6 @@ public class Card40_002 extends AbstractAttachable {
|
||||
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
|
||||
List<Modifier> modifiers = new LinkedList<Modifier>();
|
||||
modifiers.add(new StrengthModifier(self, Filters.hasAttached(self), 1));
|
||||
modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND));
|
||||
return modifiers;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,11 +1,5 @@
|
||||
package com.gempukku.lotro.cards.set40.gandalf;
|
||||
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractEvent;
|
||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
||||
import com.gempukku.lotro.logic.actions.PlayEventAction;
|
||||
import com.gempukku.lotro.logic.effects.AddUntilEndOfPhaseActionProxyEffect;
|
||||
import com.gempukku.lotro.logic.effects.OptionalEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.Side;
|
||||
@@ -14,8 +8,14 @@ import com.gempukku.lotro.game.AbstractActionProxy;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
||||
import com.gempukku.lotro.logic.actions.PlayEventAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractEvent;
|
||||
import com.gempukku.lotro.logic.effects.AddUntilEndOfPhaseActionProxyEffect;
|
||||
import com.gempukku.lotro.logic.effects.DrawCardsEffect;
|
||||
import com.gempukku.lotro.logic.effects.OptionalEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -51,6 +51,7 @@ public class Card40_064 extends AbstractEvent{
|
||||
if (TriggerConditions.winsSkirmish(game, effectResult, selectedCharacter)
|
||||
&& playerId.equals(selectedCharacter.getOwner())) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.setVirtualCardAction(true);
|
||||
action.appendEffect(
|
||||
new OptionalEffect(action, playerId,
|
||||
new DrawCardsEffect(action, playerId, 2)));
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
package com.gempukku.lotro.cards.set40.gandalf;
|
||||
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractAttachableFPPossession;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
import com.gempukku.lotro.logic.effects.CheckPhaseLimitEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractAttachableFPPossession;
|
||||
import com.gempukku.lotro.logic.effects.CheckPhaseLimitEffect;
|
||||
import com.gempukku.lotro.logic.effects.DrawCardsEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect;
|
||||
import com.gempukku.lotro.logic.timing.Action;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -23,7 +23,8 @@ import java.util.List;
|
||||
* Twilight Cost: 1
|
||||
* Type: Possession - Pipe
|
||||
* Card Number: 1U71
|
||||
* Game Text: Maneuver: Discard a pipeweed possession and spot X pipes to draw X cards (limit once per phase).
|
||||
* Game Text: Bearer must be Gandalf;
|
||||
* Maneuver: Discard a pipeweed possession and spot X pipes to draw X cards (limit once per phase).
|
||||
*/
|
||||
public class Card40_071 extends AbstractAttachableFPPossession{
|
||||
public Card40_071() {
|
||||
@@ -32,7 +33,7 @@ public class Card40_071 extends AbstractAttachableFPPossession{
|
||||
|
||||
@Override
|
||||
public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) {
|
||||
return Filters.or(CardType.COMPANION, CardType.ALLY);
|
||||
return Filters.gandalf;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
package com.gempukku.lotro.cards.set40.gandalf;
|
||||
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractAttachable;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
import com.gempukku.lotro.logic.actions.AttachPermanentAction;
|
||||
import com.gempukku.lotro.logic.effects.RemoveBurdenEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.actions.AttachPermanentAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractAttachable;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect;
|
||||
import com.gempukku.lotro.logic.effects.RemoveBurdenEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
|
||||
import com.gempukku.lotro.logic.timing.Action;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -69,4 +69,14 @@ public class Card40_077 extends AbstractAttachable{
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getStrength() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getResistance() {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ import java.util.List;
|
||||
*/
|
||||
public class Card40_101 extends AbstractCompanion {
|
||||
public Card40_101() {
|
||||
super(3, 7, 3, 6, Culture.GONDOR, Race.MAN, null, "Boromor",
|
||||
super(3, 7, 3, 6, Culture.GONDOR, Race.MAN, null, "Boromir",
|
||||
"Champion of Minas Tirith", true);
|
||||
addKeyword(Keyword.RANGER);
|
||||
}
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
package com.gempukku.lotro.cards.set40.isengard;
|
||||
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractEvent;
|
||||
import com.gempukku.lotro.logic.actions.PlayEventAction;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.evaluator.ConditionEvaluator;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.PlayEventAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractEvent;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.SpotCondition;
|
||||
import com.gempukku.lotro.logic.modifiers.evaluator.ConditionEvaluator;
|
||||
|
||||
/**
|
||||
* Title: Find the Halfling!
|
||||
@@ -23,7 +23,7 @@ import com.gempukku.lotro.logic.modifiers.SpotCondition;
|
||||
*/
|
||||
public class Card40_123 extends AbstractEvent {
|
||||
public Card40_123() {
|
||||
super(Side.FREE_PEOPLE, 0, Culture.ISENGARD, "Find the Halfling!", Phase.SKIRMISH);
|
||||
super(Side.SHADOW, 0, Culture.ISENGARD, "Find the Halfling!", Phase.SKIRMISH);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
package com.gempukku.lotro.cards.set40.isengard;
|
||||
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractEvent;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
import com.gempukku.lotro.logic.actions.PlayEventAction;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDeckEffect;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.Side;
|
||||
@@ -11,8 +7,18 @@ import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.GameUtils;
|
||||
import com.gempukku.lotro.logic.actions.PlayEventAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractEvent;
|
||||
import com.gempukku.lotro.logic.effects.AddThreatsEffect;
|
||||
import com.gempukku.lotro.logic.effects.ChoiceEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDeckEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDiscardEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.evaluator.Evaluator;
|
||||
import com.gempukku.lotro.logic.timing.Effect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Title: Seeking My Counsel
|
||||
@@ -32,14 +38,21 @@ public class Card40_138 extends AbstractEvent {
|
||||
@Override
|
||||
public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int withTwilightRemoved, int twilightModifier, boolean ignoreRoamingPenalty, boolean ignoreCheckingDeadPile) {
|
||||
return super.checkPlayRequirements(playerId, game, self, withTwilightRemoved, twilightModifier, ignoreRoamingPenalty, ignoreCheckingDeadPile)
|
||||
&& PlayConditions.canPlayFromDeck(playerId, game, Filters.saruman);
|
||||
&& (PlayConditions.canPlayFromDeck(playerId, game, Filters.saruman)
|
||||
|| PlayConditions.canPlayFromDiscard(playerId, game, Filters.saruman));
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlayEventAction getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, int twilightModifier, boolean ignoreRoamingPenalty) {
|
||||
PlayEventAction action = new PlayEventAction(self);
|
||||
action.appendCost(
|
||||
List<Effect> possibleCosts = new ArrayList<Effect>(2);
|
||||
possibleCosts.add(
|
||||
new ChooseAndPlayCardFromDeckEffect(playerId, Filters.saruman));
|
||||
possibleCosts.add(
|
||||
new ChooseAndPlayCardFromDiscardEffect(playerId, game, Filters.saruman));
|
||||
action.appendCost(
|
||||
new ChoiceEffect(
|
||||
action, playerId, possibleCosts));
|
||||
action.appendEffect(
|
||||
new AddThreatsEffect(playerId, self,
|
||||
new Evaluator() {
|
||||
|
||||
@@ -1,16 +1,18 @@
|
||||
package com.gempukku.lotro.cards.set40.moria;
|
||||
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractMinion;
|
||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
||||
import com.gempukku.lotro.logic.effects.AddUntilStartOfPhaseModifierEffect;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.Race;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractMinion;
|
||||
import com.gempukku.lotro.logic.effects.AddUntilStartOfPhaseModifierEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.results.PlayCardResult;
|
||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -36,11 +38,10 @@ public class Card40_162 extends AbstractMinion {
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.playedFromStacked(game, effectResult, Filters.and(Culture.MORIA, CardType.CONDITION), Culture.MORIA, CardType.MINION)) {
|
||||
PlayCardResult playResult = (PlayCardResult) effectResult;
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new AddUntilStartOfPhaseModifierEffect(
|
||||
new StrengthModifier(self, playResult.getPlayedCard(), 1), Phase.REGROUP));
|
||||
new StrengthModifier(self, self, 1), Phase.REGROUP));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -1,17 +1,20 @@
|
||||
package com.gempukku.lotro.cards.set40.sauron;
|
||||
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractPermanent;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
||||
import com.gempukku.lotro.logic.effects.ChoiceEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDeckEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDiscardEffect;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.Side;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractPermanent;
|
||||
import com.gempukku.lotro.logic.effects.ChoiceEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDeckEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDiscardEffect;
|
||||
import com.gempukku.lotro.logic.timing.Effect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
package com.gempukku.lotro.cards.set40.shire;
|
||||
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractAlly;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
import com.gempukku.lotro.logic.effects.CancelSkirmishEffect;
|
||||
import com.gempukku.lotro.logic.effects.SelfExertEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractAlly;
|
||||
import com.gempukku.lotro.logic.effects.CancelSkirmishEffect;
|
||||
import com.gempukku.lotro.logic.effects.SelfExertEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
|
||||
import com.gempukku.lotro.logic.timing.Action;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -25,8 +25,8 @@ import java.util.List;
|
||||
* Vitality: 2
|
||||
* Card Number: 1R265
|
||||
* Game Text: To play, spot 2 Hobbit companions.
|
||||
* Skirmish: At sites 1-5, exert Robin Smallburrow to cancel a skirmish involving a Hobbit.
|
||||
* Skirmish: At sites 6-9, exert Robin Smallburrow to make a Hobbit strength +3.
|
||||
* Skirmish: At sites 1-4, exert Robin Smallburrow to cancel a skirmish involving a Hobbit.
|
||||
* Skirmish: At sites 5-9, exert Robin Smallburrow to make a Hobbit strength +3.
|
||||
*/
|
||||
public class Card40_265 extends AbstractAlly {
|
||||
public Card40_265() {
|
||||
@@ -47,7 +47,7 @@ public class Card40_265 extends AbstractAlly {
|
||||
&& PlayConditions.canSelfExert(self, game)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(new SelfExertEffect(action, self));
|
||||
if (game.getGameState().getCurrentSiteNumber() <= 5) {
|
||||
if (game.getGameState().getCurrentSiteNumber() <= 4) {
|
||||
action.appendEffect(
|
||||
new CancelSkirmishEffect(Race.HOBBIT));
|
||||
} else {
|
||||
|
||||
@@ -50,9 +50,14 @@ public class Card40_268 extends AbstractCompanion {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggersFromHand(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.forEachKilled(game, effectResult, Filters.frodo, Filters.ringBearer)) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendEffect(new MakeRingBearerEffect(self));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
if (TriggerConditions.startOfTurn(game, effectResult)
|
||||
&& PlayConditions.canSelfExert(self, game)) {
|
||||
&& PlayConditions.canSelfExert(self, game)) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendCost(
|
||||
new SelfExertEffect(action, self));
|
||||
@@ -60,16 +65,6 @@ public class Card40_268 extends AbstractCompanion {
|
||||
new RemoveBurdenEffect(playerId, self));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.forEachKilled(game, effectResult, Filters.frodo, Filters.ringBearer)) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendEffect(new MakeRingBearerEffect(self));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.gempukku.lotro.cards.set7;
|
||||
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
@@ -11,7 +10,6 @@ import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractAttachable;
|
||||
import com.gempukku.lotro.logic.effects.*;
|
||||
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifierFlag;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
@@ -43,7 +41,6 @@ public class Card7_002 extends AbstractAttachable {
|
||||
List<Modifier> modifiers = new LinkedList<Modifier>();
|
||||
modifiers.add(
|
||||
new StrengthModifier(self, Filters.hasAttached(self), 2));
|
||||
modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND));
|
||||
|
||||
return modifiers;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.gempukku.lotro.cards.set9;
|
||||
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.PossessionClass;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
@@ -14,7 +13,10 @@ import com.gempukku.lotro.logic.cardtype.AbstractAttachable;
|
||||
import com.gempukku.lotro.logic.effects.*;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDeckEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.*;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifierFlag;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.VitalityModifier;
|
||||
import com.gempukku.lotro.logic.timing.*;
|
||||
|
||||
import java.util.Collections;
|
||||
@@ -67,7 +69,6 @@ public class Card9_001 extends AbstractAttachable {
|
||||
List<Modifier> modifiers = new LinkedList<Modifier>();
|
||||
modifiers.add(new StrengthModifier(self, Filters.hasAttached(self), 1));
|
||||
modifiers.add(new VitalityModifier(self, Filters.hasAttached(self), 1));
|
||||
modifiers.add(new KeywordModifier(self, Filters.hasAttached(self), Keyword.RING_BOUND));
|
||||
return modifiers;
|
||||
}
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ public class RuleSet {
|
||||
|
||||
new KilledCardRule(_actionsEnvironment).applyRule();
|
||||
|
||||
new FrodoAndSamRule(_modifiersLogic).applyRule();
|
||||
new RingRelatedRule(_modifiersLogic).applyRule();
|
||||
|
||||
new RingBearerRule(_modifiersLogic).applyRule();
|
||||
|
||||
|
||||
@@ -1,22 +1,24 @@
|
||||
package com.gempukku.lotro.logic.timing.rules;
|
||||
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.logic.modifiers.CantPlayCardsModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifiersLogic;
|
||||
|
||||
public class FrodoAndSamRule {
|
||||
private ModifiersLogic _modifiersLogic;
|
||||
|
||||
public FrodoAndSamRule(ModifiersLogic modifiersLogic) {
|
||||
_modifiersLogic = modifiersLogic;
|
||||
}
|
||||
|
||||
public void applyRule() {
|
||||
_modifiersLogic.addAlwaysOnModifier(
|
||||
new KeywordModifier(null, Filters.or(Filters.frodo, Filters.sam), Keyword.RING_BOUND));
|
||||
_modifiersLogic.addAlwaysOnModifier(
|
||||
new CantPlayCardsModifier(null, Filters.frodo, Keyword.CAN_START_WITH_RING));
|
||||
}
|
||||
}
|
||||
package com.gempukku.lotro.logic.timing.rules;
|
||||
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.logic.modifiers.CantPlayCardsModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifiersLogic;
|
||||
|
||||
public class RingRelatedRule {
|
||||
private ModifiersLogic _modifiersLogic;
|
||||
|
||||
public RingRelatedRule(ModifiersLogic modifiersLogic) {
|
||||
_modifiersLogic = modifiersLogic;
|
||||
}
|
||||
|
||||
public void applyRule() {
|
||||
_modifiersLogic.addAlwaysOnModifier(
|
||||
new KeywordModifier(null, Filters.or(Filters.frodo, Filters.sam), Keyword.RING_BOUND));
|
||||
_modifiersLogic.addAlwaysOnModifier(
|
||||
new CantPlayCardsModifier(null, Filters.frodo, Keyword.CAN_START_WITH_RING));
|
||||
_modifiersLogic.addAlwaysOnModifier(
|
||||
new KeywordModifier(null, Filters.ringBearer, Keyword.RING_BOUND));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user