diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/shire/Card4_307.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/shire/Card4_307.java new file mode 100644 index 000000000..341205aff --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/shire/Card4_307.java @@ -0,0 +1,72 @@ +package com.gempukku.lotro.cards.set4.shire; + +import com.gempukku.lotro.cards.AbstractEvent; +import com.gempukku.lotro.cards.PlayConditions; +import com.gempukku.lotro.cards.actions.PlayEventAction; +import com.gempukku.lotro.cards.effects.AddUntilEndOfPhaseActionProxyEffect; +import com.gempukku.lotro.cards.effects.AddUntilEndOfPhaseModifierEffect; +import com.gempukku.lotro.cards.effects.RemoveBurdenEffect; +import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect; +import com.gempukku.lotro.cards.modifiers.StrengthModifier; +import com.gempukku.lotro.common.Culture; +import com.gempukku.lotro.common.Phase; +import com.gempukku.lotro.common.Side; +import com.gempukku.lotro.filters.Filters; +import com.gempukku.lotro.game.AbstractActionProxy; +import com.gempukku.lotro.game.PhysicalCard; +import com.gempukku.lotro.game.state.LotroGame; +import com.gempukku.lotro.logic.actions.OptionalTriggerAction; +import com.gempukku.lotro.logic.timing.Action; +import com.gempukku.lotro.logic.timing.EffectResult; + +import java.util.Collections; +import java.util.List; + +/** + * Set: The Two Towers + * Side: Free + * Culture: Shire + * Twilight Cost: 0 + * Type: Event + * Game Text: Skirmish: Exert Sam to make him strength +3. If Sam wins this skirmish, you may remove a burden. + */ +public class Card4_307 extends AbstractEvent { + public Card4_307() { + super(Side.FREE_PEOPLE, 0, Culture.SHIRE, "Impatient and Angry", Phase.SKIRMISH); + } + + @Override + public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { + return super.checkPlayRequirements(playerId, game, self, twilightModifier) + && PlayConditions.canExert(self, game, Filters.name("Sam")); + } + + @Override + public PlayEventAction getPlayCardAction(String playerId, LotroGame game, final PhysicalCard self, int twilightModifier) { + final PlayEventAction action = new PlayEventAction(self); + action.appendCost( + new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.name("Sam")) { + @Override + protected void forEachCardExertedCallback(final PhysicalCard character) { + action.appendEffect( + new AddUntilEndOfPhaseModifierEffect( + new StrengthModifier(self, Filters.sameCard(character), 3), Phase.SKIRMISH)); + action.appendEffect( + new AddUntilEndOfPhaseActionProxyEffect( + new AbstractActionProxy() { + @Override + public List getOptionalAfterTriggers(String playerId, LotroGame lotroGame, EffectResult effectResults) { + if (PlayConditions.winsSkirmish(effectResults, character)) { + OptionalTriggerAction action = new OptionalTriggerAction(character); + action.appendEffect( + new RemoveBurdenEffect(self)); + return Collections.singletonList(action); + } + return null; + } + }, Phase.SKIRMISH)); + } + }); + return action; + } +} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/blueprintMapping.txt b/gemp-lotr/gemp-lotr-cards/src/main/resources/blueprintMapping.txt index 4a644a82b..f09e9ca35 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/blueprintMapping.txt +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/blueprintMapping.txt @@ -1,4 +1,5 @@ 4_2,1_2 4_62,1_41 4_129,1_110 -4_207,1_158 \ No newline at end of file +4_207,1_158 +4_306,1_299 \ No newline at end of file