"Out of Darkness"

This commit is contained in:
marcins78@gmail.com
2011-10-27 12:06:51 +00:00
parent 4e77fc874c
commit ddd3b6c905
2 changed files with 128 additions and 0 deletions

View File

@@ -0,0 +1,65 @@
package com.gempukku.lotro.cards.actions;
import com.gempukku.lotro.common.Phase;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.AbstractCostToEffectAction;
import com.gempukku.lotro.logic.timing.Action;
import com.gempukku.lotro.logic.timing.Effect;
public class SubCostToEffectAction extends AbstractCostToEffectAction {
private Action _action;
public SubCostToEffectAction(Action action) {
_action = action;
}
@Override
public PhysicalCard getActionAttachedToCard() {
return _action.getActionAttachedToCard();
}
@Override
public PhysicalCard getActionSource() {
return _action.getActionSource();
}
@Override
public Phase getActionTimeword() {
return _action.getActionTimeword();
}
@Override
public String getPerformingPlayer() {
return _action.getPerformingPlayer();
}
@Override
public void setActionTimeword(Phase phase) {
_action.setActionTimeword(phase);
}
@Override
public void setPerformingPlayer(String playerId) {
_action.setPerformingPlayer(playerId);
}
@Override
public String getText(LotroGame game) {
return _action.getText(game);
}
@Override
public Effect nextEffect(LotroGame game) {
if (!isCostFailed()) {
Effect cost = getNextCost();
if (cost != null)
return cost;
Effect effect = getNextEffect();
if (effect != null)
return effect;
}
return null;
}
}

View File

@@ -0,0 +1,63 @@
package com.gempukku.lotro.cards.set7.dwarven;
import com.gempukku.lotro.cards.AbstractEvent;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.actions.PlayEventAction;
import com.gempukku.lotro.cards.actions.SubCostToEffectAction;
import com.gempukku.lotro.cards.effects.ExertCharactersEffect;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Phase;
import com.gempukku.lotro.common.Race;
import com.gempukku.lotro.common.Side;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.decisions.MultipleChoiceAwaitingDecision;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.effects.DrawCardEffect;
import com.gempukku.lotro.logic.effects.PlayoutDecisionEffect;
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
/**
* Set: The Return of the King
* Side: Free
* Culture: Dwarven
* Twilight Cost: 1
* Type: Event • Skirmish
* Game Text: Make a Dwarf strength +2. You may also exert that Dwarf to draw 2 cards.
*/
public class Card7_011 extends AbstractEvent {
public Card7_011() {
super(Side.FREE_PEOPLE, 1, Culture.DWARVEN, "Out of Darkness", Phase.SKIRMISH);
}
@Override
public PlayEventAction getPlayCardAction(final String playerId, LotroGame game, final PhysicalCard self, int twilightModifier) {
final PlayEventAction action = new PlayEventAction(self);
action.appendEffect(
new ChooseActiveCardEffect(self, playerId, "Choose a Dwarf", Race.DWARF) {
@Override
protected void cardSelected(final LotroGame game, final PhysicalCard card) {
game.getModifiersEnvironment().addUntilEndOfPhaseModifier(
new StrengthModifier(self, card, 2), Phase.SKIRMISH);
if (PlayConditions.canExert(self, game, card)) {
action.appendEffect(
new PlayoutDecisionEffect(game.getUserFeedback(), playerId,
new MultipleChoiceAwaitingDecision(1, "Do you want to exert that Dwarf to draw 2 cards?", new String[]{"Yes", "No"}) {
@Override
protected void validDecisionMade(int index, String result) {
if (index == 0) {
SubCostToEffectAction subAction = new SubCostToEffectAction(action);
subAction.appendCost(
new ExertCharactersEffect(self, card));
subAction.appendEffect(
new DrawCardEffect(playerId, 2));
game.getActionsEnvironment().addActionToStack(subAction);
}
}
}));
}
}
});
return action;
}
}