Taking off The One Ring... again.

This commit is contained in:
marcins78@gmail.com
2011-10-19 23:25:22 +00:00
parent de3bc0b9c8
commit 8bb2e49976
4 changed files with 77 additions and 72 deletions

View File

@@ -1,7 +1,10 @@
package com.gempukku.lotro.cards.set1;
import com.gempukku.lotro.cards.AbstractAttachable;
import com.gempukku.lotro.cards.effects.*;
import com.gempukku.lotro.cards.effects.AddBurdenEffect;
import com.gempukku.lotro.cards.effects.PreventCardEffect;
import com.gempukku.lotro.cards.effects.PutOnTheOneRingEffect;
import com.gempukku.lotro.cards.effects.TakeOffTheOneRingEffect;
import com.gempukku.lotro.cards.modifiers.StrengthModifier;
import com.gempukku.lotro.cards.modifiers.VitalityModifier;
import com.gempukku.lotro.common.CardType;
@@ -10,7 +13,6 @@ 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.AbstractActionProxy;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.ActivateCardAction;
@@ -22,7 +24,6 @@ import com.gempukku.lotro.logic.modifiers.ModifierFlag;
import com.gempukku.lotro.logic.timing.Action;
import com.gempukku.lotro.logic.timing.Effect;
import com.gempukku.lotro.logic.timing.EffectResult;
import com.gempukku.lotro.logic.timing.results.StartOfPhaseResult;
import java.util.Collections;
import java.util.LinkedList;
@@ -68,39 +69,6 @@ public class Card1_001 extends AbstractAttachable {
action.appendEffect(new PreventCardEffect(woundEffect, self.getAttachedTo()));
action.appendEffect(new AddBurdenEffect(self, 2));
action.appendEffect(new PutOnTheOneRingEffect());
if (game.getGameState().getCurrentPhase() == Phase.REGROUP) {
action.appendEffect(
new AddUntilEndOfTurnActionProxyEffect(
new AbstractActionProxy() {
@Override
public List<? extends Action> getRequiredAfterTriggers(LotroGame lotroGame, EffectResult effectResult) {
if (effectResult.getType() == EffectResult.Type.END_OF_PHASE
&& ((StartOfPhaseResult) effectResult).getPhase() == Phase.REGROUP) {
ActivateCardAction action = new ActivateCardAction(null);
action.appendEffect(new TakeOffTheOneRingEffect());
return Collections.singletonList(action);
}
return null;
}
}
));
} else {
action.appendEffect(
new AddUntilEndOfTurnActionProxyEffect(
new AbstractActionProxy() {
@Override
public List<? extends Action> getRequiredAfterTriggers(LotroGame lotroGame, EffectResult effectResult) {
if (effectResult.getType() == EffectResult.Type.START_OF_PHASE
&& ((StartOfPhaseResult) effectResult).getPhase() == Phase.REGROUP) {
ActivateCardAction action = new ActivateCardAction(null);
action.appendEffect(new TakeOffTheOneRingEffect());
return Collections.singletonList(action);
}
return null;
}
}
));
}
actions.add(action);
return actions;
@@ -124,4 +92,16 @@ public class Card1_001 extends AbstractAttachable {
}
return null;
}
@Override
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (game.getGameState().getCurrentPhase() == Phase.REGROUP
&& game.getGameState().isWearingRing()
&& (effectResult.getType() == EffectResult.Type.END_OF_PHASE || effectResult.getType() == EffectResult.Type.START_OF_PHASE)) {
RequiredTriggerAction action = new RequiredTriggerAction(self);
action.appendEffect(new TakeOffTheOneRingEffect());
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,7 +1,10 @@
package com.gempukku.lotro.cards.set1;
import com.gempukku.lotro.cards.AbstractAttachable;
import com.gempukku.lotro.cards.effects.*;
import com.gempukku.lotro.cards.effects.AddBurdenEffect;
import com.gempukku.lotro.cards.effects.PreventCardEffect;
import com.gempukku.lotro.cards.effects.PutOnTheOneRingEffect;
import com.gempukku.lotro.cards.effects.TakeOffTheOneRingEffect;
import com.gempukku.lotro.cards.modifiers.StrengthModifier;
import com.gempukku.lotro.common.CardType;
import com.gempukku.lotro.common.Keyword;
@@ -9,7 +12,6 @@ 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.AbstractActionProxy;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.ActivateCardAction;
@@ -21,7 +23,6 @@ import com.gempukku.lotro.logic.modifiers.ModifierFlag;
import com.gempukku.lotro.logic.timing.Action;
import com.gempukku.lotro.logic.timing.Effect;
import com.gempukku.lotro.logic.timing.EffectResult;
import com.gempukku.lotro.logic.timing.results.StartOfPhaseResult;
import java.util.Collections;
import java.util.LinkedList;
@@ -67,21 +68,6 @@ public class Card1_002 extends AbstractAttachable {
action.appendEffect(new PreventCardEffect(woundEffect, self.getAttachedTo()));
action.appendEffect(new AddBurdenEffect(self, 1));
action.appendEffect(new PutOnTheOneRingEffect());
action.appendEffect(
new AddUntilEndOfTurnActionProxyEffect(
new AbstractActionProxy() {
@Override
public List<? extends Action> getRequiredAfterTriggers(LotroGame lotroGame, EffectResult effectResult) {
if (effectResult.getType() == EffectResult.Type.START_OF_PHASE
&& ((StartOfPhaseResult) effectResult).getPhase() == Phase.REGROUP) {
ActivateCardAction action = new ActivateCardAction(self);
action.appendEffect(new TakeOffTheOneRingEffect());
return Collections.singletonList(action);
}
return null;
}
}
));
actions.add(action);
return actions;
@@ -106,4 +92,16 @@ public class Card1_002 extends AbstractAttachable {
}
return null;
}
@Override
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (game.getGameState().getCurrentPhase() == Phase.REGROUP
&& game.getGameState().isWearingRing()
&& effectResult.getType() == EffectResult.Type.START_OF_PHASE) {
RequiredTriggerAction action = new RequiredTriggerAction(self);
action.appendEffect(new TakeOffTheOneRingEffect());
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -2,7 +2,10 @@ package com.gempukku.lotro.cards.set4;
import com.gempukku.lotro.cards.AbstractAttachable;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.effects.*;
import com.gempukku.lotro.cards.effects.AddBurdenEffect;
import com.gempukku.lotro.cards.effects.PreventCardEffect;
import com.gempukku.lotro.cards.effects.PutOnTheOneRingEffect;
import com.gempukku.lotro.cards.effects.TakeOffTheOneRingEffect;
import com.gempukku.lotro.cards.modifiers.StrengthModifier;
import com.gempukku.lotro.cards.modifiers.VitalityModifier;
import com.gempukku.lotro.common.CardType;
@@ -10,7 +13,6 @@ 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.AbstractActionProxy;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.GameState;
import com.gempukku.lotro.game.state.LotroGame;
@@ -24,7 +26,6 @@ import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
import com.gempukku.lotro.logic.timing.Action;
import com.gempukku.lotro.logic.timing.Effect;
import com.gempukku.lotro.logic.timing.EffectResult;
import com.gempukku.lotro.logic.timing.results.StartOfPhaseResult;
import java.util.Collections;
import java.util.LinkedList;
@@ -73,21 +74,6 @@ public class Card4_001 extends AbstractAttachable {
new AddBurdenEffect(self, 1));
action.appendEffect(
new PutOnTheOneRingEffect());
action.appendEffect(
new AddUntilEndOfTurnActionProxyEffect(
new AbstractActionProxy() {
@Override
public List<? extends Action> getRequiredAfterTriggers(LotroGame lotroGame, EffectResult effectResult) {
if (effectResult.getType() == EffectResult.Type.START_OF_PHASE
&& ((StartOfPhaseResult) effectResult).getPhase() == Phase.REGROUP) {
ActivateCardAction action = new ActivateCardAction(null);
action.appendEffect(new TakeOffTheOneRingEffect());
return Collections.singletonList(action);
}
return null;
}
}
));
return Collections.singletonList(action);
}
return null;
@@ -108,4 +94,16 @@ public class Card4_001 extends AbstractAttachable {
}
return null;
}
@Override
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (game.getGameState().getCurrentPhase() == Phase.REGROUP
&& game.getGameState().isWearingRing()
&& effectResult.getType() == EffectResult.Type.START_OF_PHASE) {
RequiredTriggerAction action = new RequiredTriggerAction(self);
action.appendEffect(new TakeOffTheOneRingEffect());
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -0,0 +1,29 @@
package com.gempukku.lotro.cards.set6.dwarven;
import com.gempukku.lotro.cards.AbstractEvent;
import com.gempukku.lotro.cards.actions.PlayEventAction;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Phase;
import com.gempukku.lotro.common.Side;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
/**
* Set: Ents of Fangorn
* Side: Free
* Culture: Dwarven
* Twilight Cost: 1
* Type: Event
* Game Text: While this card is stacked on a [DWARVEN] condition, Gimli is strength +1. Fellowship: Place this card
* or another [DWARVEN] card from hand on top of or beneath your draw deck.
*/
public class Card6_011 extends AbstractEvent {
public Card6_011() {
super(Side.FREE_PEOPLE, 1, Culture.DWARVEN, "Toss Me", Phase.FELLOWSHIP);
}
@Override
public PlayEventAction getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) {
return null;
}
}