"Spirit of the White Tree"
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
package com.gempukku.lotro.cards.modifiers;
|
||||
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.GameState;
|
||||
import com.gempukku.lotro.logic.modifiers.AbstractModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.Condition;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifierEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
|
||||
import com.gempukku.lotro.logic.timing.Action;
|
||||
|
||||
public class OpponentsCantPlayPhaseEventsOrSpecialAbilitiesModifier extends AbstractModifier {
|
||||
private String _playerId;
|
||||
private Phase _phase;
|
||||
|
||||
public OpponentsCantPlayPhaseEventsOrSpecialAbilitiesModifier(PhysicalCard source, String playerId, Phase phase) {
|
||||
this(source, null, playerId, phase);
|
||||
}
|
||||
|
||||
public OpponentsCantPlayPhaseEventsOrSpecialAbilitiesModifier(PhysicalCard source, Condition condition, String playerId, Phase phase) {
|
||||
super(source, null, null, condition, ModifierEffect.ACTION_MODIFIER);
|
||||
_playerId = playerId;
|
||||
_phase = phase;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canPlayAction(GameState gameState, ModifiersQuerying modifiersQuerying, String performingPlayer, Action action) {
|
||||
if (action.getActionTimeword() == _phase && !action.getPerformingPlayer().equals(_playerId))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package com.gempukku.lotro.cards.set17.gondor;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractAttachable;
|
||||
import com.gempukku.lotro.cards.TriggerConditions;
|
||||
import com.gempukku.lotro.cards.effects.SelfDiscardEffect;
|
||||
import com.gempukku.lotro.cards.modifiers.OpponentsCantPlayPhaseEventsOrSpecialAbilitiesModifier;
|
||||
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.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.SpotCondition;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Rise of Saruman
|
||||
* Side: Free
|
||||
* Culture: Gondor
|
||||
* Twilight Cost: 1
|
||||
* Type: Condition
|
||||
* Game Text: Bearer must be a [GONDOR] companion. An opponent can not play skirmish events or use skirmish special
|
||||
* abilities during skirmishes involving bearer. Each time a Shadow player adds a burden, discard this condition.
|
||||
*/
|
||||
public class Card17_034 extends AbstractAttachable {
|
||||
public Card17_034() {
|
||||
super(Side.FREE_PEOPLE, CardType.CONDITION, 1, Culture.GONDOR, null, "Spirit of the White Tree");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) {
|
||||
return Filters.and(Culture.GONDOR, CardType.COMPANION);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Modifier getAlwaysOnModifier(PhysicalCard self) {
|
||||
return new OpponentsCantPlayPhaseEventsOrSpecialAbilitiesModifier(self,
|
||||
new SpotCondition(Filters.hasAttached(self), Filters.inSkirmish), self.getOwner(), Phase.SKIRMISH);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.addedBurden(game, effectResult, Side.SHADOW)) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new SelfDiscardEffect(self));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user