"Horn of Helm"
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package com.gempukku.lotro.cards.modifiers;
|
||||
|
||||
import com.gempukku.lotro.common.Filterable;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.state.GameState;
|
||||
import com.gempukku.lotro.logic.modifiers.Condition;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
|
||||
@@ -8,8 +10,8 @@ import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
|
||||
public class LocationCondition implements Condition {
|
||||
private Filter _filter;
|
||||
|
||||
public LocationCondition(Filter filter) {
|
||||
_filter = filter;
|
||||
public LocationCondition(Filterable... filters) {
|
||||
_filter = Filters.and(filters);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
package com.gempukku.lotro.cards.set5.dwarven;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractPermanent;
|
||||
import com.gempukku.lotro.cards.PlayConditions;
|
||||
import com.gempukku.lotro.cards.effects.AddUntilStartOfPhaseModifierEffect;
|
||||
import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect;
|
||||
import com.gempukku.lotro.cards.modifiers.LocationCondition;
|
||||
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.modifiers.RemoveKeywordModifier;
|
||||
import com.gempukku.lotro.logic.timing.Action;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Dwarven
|
||||
* Twilight Cost: 2
|
||||
* Type: Possession
|
||||
* Game Text: Plays to your support area. Maneuver: Exert a Dwarf companion to make each minion at a battleground lose
|
||||
* all damage bonuses until the regroup phase.
|
||||
*/
|
||||
public class Card5_008 extends AbstractPermanent {
|
||||
public Card5_008() {
|
||||
super(Side.FREE_PEOPLE, 2, CardType.POSSESSION, Culture.DWARVEN, Zone.SUPPORT, "Horn of Helm", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<? extends Action> getExtraPhaseActions(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canExert(self, game, Race.DWARF, CardType.COMPANION)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Race.DWARF, CardType.COMPANION));
|
||||
action.appendEffect(
|
||||
new AddUntilStartOfPhaseModifierEffect(
|
||||
new RemoveKeywordModifier(self, CardType.MINION, new LocationCondition(Keyword.BATTLEGROUND), Keyword.DAMAGE), Phase.REGROUP));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,11 @@
|
||||
package com.gempukku.lotro.logic.modifiers;
|
||||
|
||||
import com.gempukku.lotro.common.Filterable;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.Side;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.GameState;
|
||||
import com.gempukku.lotro.logic.timing.Action;
|
||||
@@ -18,14 +20,14 @@ public abstract class AbstractModifier implements Modifier {
|
||||
private Condition _condition;
|
||||
private ModifierEffect[] _effects;
|
||||
|
||||
protected AbstractModifier(PhysicalCard source, String text, Filter affectFilter, ModifierEffect[] effects) {
|
||||
protected AbstractModifier(PhysicalCard source, String text, Filterable affectFilter, ModifierEffect[] effects) {
|
||||
this(source, text, affectFilter, null, effects);
|
||||
}
|
||||
|
||||
protected AbstractModifier(PhysicalCard source, String text, Filter affectFilter, Condition condition, ModifierEffect[] effects) {
|
||||
protected AbstractModifier(PhysicalCard source, String text, Filterable affectFilter, Condition condition, ModifierEffect[] effects) {
|
||||
_physicalCard = source;
|
||||
_text = text;
|
||||
_affectFilter = affectFilter;
|
||||
_affectFilter = Filters.and(affectFilter);
|
||||
_condition = condition;
|
||||
_effects = effects;
|
||||
}
|
||||
|
||||
@@ -1,18 +1,23 @@
|
||||
package com.gempukku.lotro.logic.modifiers;
|
||||
|
||||
import com.gempukku.lotro.common.Filterable;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.GameState;
|
||||
|
||||
public class RemoveKeywordModifier extends AbstractModifier {
|
||||
private Keyword _keyword;
|
||||
|
||||
public RemoveKeywordModifier(PhysicalCard physicalCard, Filter affectFilter, Keyword keyword) {
|
||||
public RemoveKeywordModifier(PhysicalCard physicalCard, Filterable affectFilter, Keyword keyword) {
|
||||
super(physicalCard, "Loses " + keyword.getHumanReadable() + "keyword(s)", affectFilter, new ModifierEffect[]{ModifierEffect.KEYWORD_MODIFIER});
|
||||
_keyword = keyword;
|
||||
}
|
||||
|
||||
public RemoveKeywordModifier(PhysicalCard physicalCard, Filterable affectFilter, Condition condition, Keyword keyword) {
|
||||
super(physicalCard, "Loses " + keyword.getHumanReadable() + "keyword(s)", affectFilter, condition, new ModifierEffect[]{ModifierEffect.KEYWORD_MODIFIER});
|
||||
_keyword = keyword;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isKeywordRemoved(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard, Keyword keyword) {
|
||||
return _keyword == keyword;
|
||||
|
||||
Reference in New Issue
Block a user