"Uruk Rear Guard"

This commit is contained in:
marcins78@gmail.com
2011-10-11 09:28:16 +00:00
parent f5871bcd5b
commit 8170b3008f
3 changed files with 127 additions and 1 deletions

View File

@@ -55,6 +55,8 @@ public class Card4_188 extends AbstractMinion {
KillResult killResult = (KillResult) effectResult;
if (Filters.filter(killResult.getKilledCards(), game.getGameState(), game.getModifiersQuerying(), Filters.unboundCompanion(), Filters.race(Race.HOBBIT)).size() > 0) {
final ActivateCardAction action = new ActivateCardAction(self, Keyword.RESPONSE);
action.appendCost(
new ExertCharactersEffect(self, self));
action.appendCost(
new ExertCharactersEffect(self, self));
action.appendEffect(
@@ -70,5 +72,4 @@ public class Card4_188 extends AbstractMinion {
}
return null;
}
}

View File

@@ -0,0 +1,65 @@
package com.gempukku.lotro.cards.set4.isengard;
import com.gempukku.lotro.cards.AbstractMinion;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.effects.ExertCharactersEffect;
import com.gempukku.lotro.cards.modifiers.CantDiscardFromPlayModifier;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Keyword;
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.ActivateCardAction;
import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect;
import com.gempukku.lotro.logic.modifiers.Modifier;
import com.gempukku.lotro.logic.timing.Action;
import com.gempukku.lotro.logic.timing.EffectResult;
import com.gempukku.lotro.logic.timing.results.KillResult;
import java.util.Collections;
import java.util.List;
/**
* Set: The Two Towers
* Side: Shadow
* Culture: Isengard
* Twilight Cost: 2
* Type: Minion • Uruk-Hai
* Strength: 5
* Vitality: 3
* Site: 5
* Game Text: Tracker. Fierce. Unbound Hobbits may not be discarded. Response: If an unbound Hobbit is killed, exert
* this minion to make the Free Peoples player wound an unbound companion.
*/
public class Card4_190 extends AbstractMinion {
public Card4_190() {
super(2, 5, 3, 5, Race.URUK_HAI, Culture.ISENGARD, "Uruk Pursuer");
addKeyword(Keyword.TRACKER);
addKeyword(Keyword.FIERCE);
}
@Override
public List<? extends Modifier> getAlwaysOnModifiers(PhysicalCard self) {
return Collections.singletonList(
new CantDiscardFromPlayModifier(self, "Unbound Hobbits may not be discarded", Filters.and(Filters.unboundCompanion(), Filters.race(Race.HOBBIT)), Filters.any()));
}
@Override
public List<? extends Action> getOptionalAfterActions(final String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (effectResult.getType() == EffectResult.Type.KILL
&& PlayConditions.canUseShadowCardDuringPhase(game.getGameState(), null, self, 0)
&& PlayConditions.canExert(self, game, Filters.sameCard(self))) {
KillResult killResult = (KillResult) effectResult;
if (Filters.filter(killResult.getKilledCards(), game.getGameState(), game.getModifiersQuerying(), Filters.unboundCompanion(), Filters.race(Race.HOBBIT)).size() > 0) {
final ActivateCardAction action = new ActivateCardAction(self, Keyword.RESPONSE);
action.appendCost(
new ExertCharactersEffect(self, self));
action.appendEffect(
new ChooseAndWoundCharactersEffect(action, game.getGameState().getCurrentPlayerId(), 1, 1, Filters.unboundCompanion()));
return Collections.singletonList(action);
}
}
return null;
}
}

View File

@@ -0,0 +1,60 @@
package com.gempukku.lotro.cards.set4.isengard;
import com.gempukku.lotro.cards.AbstractMinion;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.effects.AddUntilEndOfPhaseModifierEffect;
import com.gempukku.lotro.cards.effects.ExertCharactersEffect;
import com.gempukku.lotro.cards.modifiers.StrengthModifier;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Keyword;
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.ActivateCardAction;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.timing.Action;
import java.util.Collections;
import java.util.List;
/**
* Set: The Two Towers
* Side: Shadow
* Culture: Isengard
* Twilight Cost: 6
* Type: Minion • Uruk-Hai
* Strength: 12
* Vitality: 4
* Site: 5
* Game Text: Damage +1. Skirmish: Exert this minion at a battleground to make another Uruk-hai strength +1.
*/
public class Card4_191 extends AbstractMinion {
public Card4_191() {
super(6, 12, 4, 5, Race.URUK_HAI, Culture.ISENGARD, "Uruk Rear Guard");
addKeyword(Keyword.DAMAGE);
}
@Override
protected List<? extends Action> getExtraPhaseActions(String playerId, LotroGame game, final PhysicalCard self) {
if (PlayConditions.canUseShadowCardDuringPhase(game.getGameState(), Phase.SKIRMISH, self, 0)
&& PlayConditions.canExert(self, game, Filters.sameCard(self))
&& game.getModifiersQuerying().hasKeyword(game.getGameState(), game.getGameState().getCurrentSite(), Keyword.BATTLEGROUND)) {
final ActivateCardAction action = new ActivateCardAction(self, Keyword.SKIRMISH);
action.appendCost(
new ExertCharactersEffect(self, self));
action.appendEffect(
new ChooseActiveCardEffect(self, playerId, "Choose nother Uruk-hai", Filters.race(Race.URUK_HAI), Filters.not(Filters.sameCard(self))) {
@Override
protected void cardSelected(PhysicalCard card) {
action.insertEffect(
new AddUntilEndOfPhaseModifierEffect(
new StrengthModifier(self, Filters.sameCard(card), 1), Phase.SKIRMISH));
}
});
return Collections.singletonList(action);
}
return null;
}
}