"Spirit of the White Tree"

This commit is contained in:
marcins78@gmail.com
2012-02-10 12:47:17 +00:00
parent bddcf3507d
commit 47a3082ec8
2 changed files with 86 additions and 0 deletions

View File

@@ -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;
}
}

View File

@@ -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;
}
}