"Steward's Tomb"

This commit is contained in:
marcins78@gmail.com
2011-11-17 21:25:25 +00:00
parent 270cad0209
commit a7b09bd5c7
5 changed files with 51 additions and 3 deletions

View File

@@ -24,6 +24,6 @@ public class PreventCardEffect extends UnrespondableEffect {
@Override
protected void doPlayEffect(LotroGame game) {
for (PhysicalCard card : _cards)
_effect.preventEffect(card);
_effect.preventEffect(game, card);
}
}

View File

@@ -0,0 +1,40 @@
package com.gempukku.lotro.cards.set10.site;
import com.gempukku.lotro.cards.AbstractSite;
import com.gempukku.lotro.cards.modifiers.CantHealModifier;
import com.gempukku.lotro.cards.modifiers.CantRemoveBurdensModifier;
import com.gempukku.lotro.cards.modifiers.SpecialFlagModifier;
import com.gempukku.lotro.common.Block;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.modifiers.Modifier;
import com.gempukku.lotro.logic.modifiers.ModifierFlag;
import java.util.LinkedList;
import java.util.List;
/**
* Set: Mount Doom
* Twilight Cost: 8
* Type: Site
* Site: 5K
* Game Text: Wounds cannot be prevented or healed. Burdens cannot be removed.
*/
public class Card10_119 extends AbstractSite {
public Card10_119() {
super("Steward's Tomb", Block.KING, 4, 8, Direction.LEFT);
}
@Override
public List<? extends Modifier> getAlwaysOnModifiers(LotroGame game, PhysicalCard self) {
List<Modifier> modifiers = new LinkedList<Modifier>();
modifiers.add(
new CantHealModifier(self, Filters.character));
modifiers.add(
new SpecialFlagModifier(self, ModifierFlag.CANT_PREVENT_WOUNDS));
modifiers.add(
new CantRemoveBurdensModifier(self, null, Filters.any));
return modifiers;
}
}

View File

@@ -52,7 +52,7 @@ public abstract class AbstractPreventableCardEffect extends AbstractEffect {
return new FullEffectResult(results, affectedCards.size() >= _requiredTargets, affectedMinusPreventedCards.size() >= _requiredTargets);
}
public void preventEffect(PhysicalCard card) {
public void preventEffect(LotroGame game, PhysicalCard card) {
_preventedTargets.add(card);
}
}

View File

@@ -6,6 +6,7 @@ import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.GameState;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.GameUtils;
import com.gempukku.lotro.logic.modifiers.ModifierFlag;
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
import com.gempukku.lotro.logic.timing.Effect;
import com.gempukku.lotro.logic.timing.EffectResult;
@@ -74,4 +75,10 @@ public class WoundCharactersEffect extends AbstractPreventableCardEffect {
return Collections.singleton(new WoundResult(cards));
}
@Override
public void preventEffect(LotroGame game, PhysicalCard card) {
if (!game.getModifiersQuerying().hasFlagActive(game.getGameState(), ModifierFlag.CANT_PREVENT_WOUNDS))
super.preventEffect(game, card);
}
}

View File

@@ -7,5 +7,6 @@ public enum ModifierFlag {
WIN_CHECK_AFTER_SHADOW_RECONCILE,
CANT_PLAY_FROM_DISCARD_OR_DECK,
RING_BEARER_CANT_TAKE_THREAT_WOUNDS,
SKIRMISH_ORDER_BY_FIRST_SHADOW_PLAYER
SKIRMISH_ORDER_BY_FIRST_SHADOW_PLAYER,
CANT_PREVENT_WOUNDS
}