"Uruk Bloodlust"
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
package com.gempukku.lotro.cards;
|
package com.gempukku.lotro.cards;
|
||||||
|
|
||||||
import com.gempukku.lotro.cards.actions.PlayPermanentAction;
|
import com.gempukku.lotro.cards.actions.PlayPermanentAction;
|
||||||
import com.gempukku.lotro.cards.effects.HealCardEffect;
|
import com.gempukku.lotro.cards.effects.HealCharacterEffect;
|
||||||
import com.gempukku.lotro.common.CardType;
|
import com.gempukku.lotro.common.CardType;
|
||||||
import com.gempukku.lotro.common.Culture;
|
import com.gempukku.lotro.common.Culture;
|
||||||
import com.gempukku.lotro.common.Side;
|
import com.gempukku.lotro.common.Side;
|
||||||
@@ -48,7 +48,7 @@ public class AbstractAlly extends AbstractLotroCardBlueprint {
|
|||||||
|
|
||||||
PhysicalCard active = Filters.findFirstActive(lotroGame.getGameState(), lotroGame.getModifiersQuerying(), Filters.name(self.getBlueprint().getName()));
|
PhysicalCard active = Filters.findFirstActive(lotroGame.getGameState(), lotroGame.getModifiersQuerying(), Filters.name(self.getBlueprint().getName()));
|
||||||
if (active != null)
|
if (active != null)
|
||||||
action.addEffect(new HealCardEffect(active));
|
action.addEffect(new HealCharacterEffect(active));
|
||||||
|
|
||||||
actions.add(action);
|
actions.add(action);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.gempukku.lotro.cards;
|
package com.gempukku.lotro.cards;
|
||||||
|
|
||||||
import com.gempukku.lotro.cards.actions.PlayPermanentAction;
|
import com.gempukku.lotro.cards.actions.PlayPermanentAction;
|
||||||
import com.gempukku.lotro.cards.effects.HealCardEffect;
|
import com.gempukku.lotro.cards.effects.HealCharacterEffect;
|
||||||
import com.gempukku.lotro.common.*;
|
import com.gempukku.lotro.common.*;
|
||||||
import com.gempukku.lotro.filters.Filters;
|
import com.gempukku.lotro.filters.Filters;
|
||||||
import com.gempukku.lotro.game.PhysicalCard;
|
import com.gempukku.lotro.game.PhysicalCard;
|
||||||
@@ -55,7 +55,7 @@ public abstract class AbstractCompanion extends AbstractLotroCardBlueprint {
|
|||||||
|
|
||||||
PhysicalCard active = Filters.findFirstActive(lotroGame.getGameState(), lotroGame.getModifiersQuerying(), Filters.name(self.getBlueprint().getName()));
|
PhysicalCard active = Filters.findFirstActive(lotroGame.getGameState(), lotroGame.getModifiersQuerying(), Filters.name(self.getBlueprint().getName()));
|
||||||
if (active != null)
|
if (active != null)
|
||||||
action.addEffect(new HealCardEffect(active));
|
action.addEffect(new HealCharacterEffect(active));
|
||||||
|
|
||||||
actions.add(action);
|
actions.add(action);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,10 +4,10 @@ import com.gempukku.lotro.game.PhysicalCard;
|
|||||||
import com.gempukku.lotro.game.state.LotroGame;
|
import com.gempukku.lotro.game.state.LotroGame;
|
||||||
import com.gempukku.lotro.logic.timing.UnrespondableEffect;
|
import com.gempukku.lotro.logic.timing.UnrespondableEffect;
|
||||||
|
|
||||||
public class HealCardEffect extends UnrespondableEffect {
|
public class HealCharacterEffect extends UnrespondableEffect {
|
||||||
private PhysicalCard _physicalCard;
|
private PhysicalCard _physicalCard;
|
||||||
|
|
||||||
public HealCardEffect(PhysicalCard physicalCard) {
|
public HealCharacterEffect(PhysicalCard physicalCard) {
|
||||||
_physicalCard = physicalCard;
|
_physicalCard = physicalCard;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3,7 +3,7 @@ package com.gempukku.lotro.cards.set1.dwarven;
|
|||||||
import com.gempukku.lotro.cards.AbstractAttachable;
|
import com.gempukku.lotro.cards.AbstractAttachable;
|
||||||
import com.gempukku.lotro.cards.PlayConditions;
|
import com.gempukku.lotro.cards.PlayConditions;
|
||||||
import com.gempukku.lotro.cards.effects.ExertCharacterEffect;
|
import com.gempukku.lotro.cards.effects.ExertCharacterEffect;
|
||||||
import com.gempukku.lotro.cards.effects.HealCardEffect;
|
import com.gempukku.lotro.cards.effects.HealCharacterEffect;
|
||||||
import com.gempukku.lotro.common.CardType;
|
import com.gempukku.lotro.common.CardType;
|
||||||
import com.gempukku.lotro.common.Culture;
|
import com.gempukku.lotro.common.Culture;
|
||||||
import com.gempukku.lotro.common.Keyword;
|
import com.gempukku.lotro.common.Keyword;
|
||||||
@@ -49,8 +49,8 @@ public class Card1_010 extends AbstractAttachable {
|
|||||||
public List<? extends Action> getRequiredWhenActions(LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
public List<? extends Action> getRequiredWhenActions(LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||||
if (PlayConditions.played(game.getGameState(), game.getModifiersQuerying(), effectResult, Filters.sameCard(self))) {
|
if (PlayConditions.played(game.getGameState(), game.getModifiersQuerying(), effectResult, Filters.sameCard(self))) {
|
||||||
CostToEffectAction action = new CostToEffectAction(self, "Heal bearer up to 2 times");
|
CostToEffectAction action = new CostToEffectAction(self, "Heal bearer up to 2 times");
|
||||||
action.addEffect(new HealCardEffect(self.getAttachedTo()));
|
action.addEffect(new HealCharacterEffect(self.getAttachedTo()));
|
||||||
action.addEffect(new HealCardEffect(self.getAttachedTo()));
|
action.addEffect(new HealCharacterEffect(self.getAttachedTo()));
|
||||||
return Collections.<Action>singletonList(action);
|
return Collections.<Action>singletonList(action);
|
||||||
} else if (effectResult.getType() == EffectResult.Type.START_OF_TURN) {
|
} else if (effectResult.getType() == EffectResult.Type.START_OF_TURN) {
|
||||||
CostToEffectAction action = new CostToEffectAction(self, "Exert bearer at the start of each of your turns");
|
CostToEffectAction action = new CostToEffectAction(self, "Exert bearer at the start of each of your turns");
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package com.gempukku.lotro.cards.set1.dwarven;
|
|||||||
import com.gempukku.lotro.cards.AbstractLotroCardBlueprint;
|
import com.gempukku.lotro.cards.AbstractLotroCardBlueprint;
|
||||||
import com.gempukku.lotro.cards.PlayConditions;
|
import com.gempukku.lotro.cards.PlayConditions;
|
||||||
import com.gempukku.lotro.cards.actions.PlayEventAction;
|
import com.gempukku.lotro.cards.actions.PlayEventAction;
|
||||||
import com.gempukku.lotro.cards.effects.HealCardEffect;
|
import com.gempukku.lotro.cards.effects.HealCharacterEffect;
|
||||||
import com.gempukku.lotro.common.*;
|
import com.gempukku.lotro.common.*;
|
||||||
import com.gempukku.lotro.filters.Filters;
|
import com.gempukku.lotro.filters.Filters;
|
||||||
import com.gempukku.lotro.game.PhysicalCard;
|
import com.gempukku.lotro.game.PhysicalCard;
|
||||||
@@ -39,7 +39,7 @@ public class Card1_025 extends AbstractLotroCardBlueprint {
|
|||||||
if (self.getZone() == Zone.HAND && PlayConditions.winsSkirmish(game.getGameState(), game.getModifiersQuerying(), effectResult, Filters.keyword(Keyword.DWARF))) {
|
if (self.getZone() == Zone.HAND && PlayConditions.winsSkirmish(game.getGameState(), game.getModifiersQuerying(), effectResult, Filters.keyword(Keyword.DWARF))) {
|
||||||
SkirmishResult skirmishResult = (SkirmishResult) effectResult;
|
SkirmishResult skirmishResult = (SkirmishResult) effectResult;
|
||||||
PlayEventAction action = new PlayEventAction(self);
|
PlayEventAction action = new PlayEventAction(self);
|
||||||
action.addEffect(new HealCardEffect(skirmishResult.getWinners().get(0)));
|
action.addEffect(new HealCharacterEffect(skirmishResult.getWinners().get(0)));
|
||||||
return Collections.<Action>singletonList(action);
|
return Collections.<Action>singletonList(action);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package com.gempukku.lotro.cards.set1.elven;
|
|||||||
import com.gempukku.lotro.cards.AbstractAlly;
|
import com.gempukku.lotro.cards.AbstractAlly;
|
||||||
import com.gempukku.lotro.cards.PlayConditions;
|
import com.gempukku.lotro.cards.PlayConditions;
|
||||||
import com.gempukku.lotro.cards.effects.ExertCharacterEffect;
|
import com.gempukku.lotro.cards.effects.ExertCharacterEffect;
|
||||||
import com.gempukku.lotro.cards.effects.HealCardEffect;
|
import com.gempukku.lotro.cards.effects.HealCharacterEffect;
|
||||||
import com.gempukku.lotro.common.CardType;
|
import com.gempukku.lotro.common.CardType;
|
||||||
import com.gempukku.lotro.common.Culture;
|
import com.gempukku.lotro.common.Culture;
|
||||||
import com.gempukku.lotro.common.Keyword;
|
import com.gempukku.lotro.common.Keyword;
|
||||||
@@ -48,7 +48,7 @@ public class Card1_034 extends AbstractAlly {
|
|||||||
action.addEffect(new ChooseActiveCardEffect(playerId, "Choose an ELVEN ally", Filters.culture(Culture.ELVEN), Filters.type(CardType.ALLY)) {
|
action.addEffect(new ChooseActiveCardEffect(playerId, "Choose an ELVEN ally", Filters.culture(Culture.ELVEN), Filters.type(CardType.ALLY)) {
|
||||||
@Override
|
@Override
|
||||||
protected void cardSelected(LotroGame game, PhysicalCard elvenAlly) {
|
protected void cardSelected(LotroGame game, PhysicalCard elvenAlly) {
|
||||||
action.addEffect(new HealCardEffect(elvenAlly));
|
action.addEffect(new HealCharacterEffect(elvenAlly));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package com.gempukku.lotro.cards.set1.elven;
|
|||||||
import com.gempukku.lotro.cards.AbstractAlly;
|
import com.gempukku.lotro.cards.AbstractAlly;
|
||||||
import com.gempukku.lotro.cards.PlayConditions;
|
import com.gempukku.lotro.cards.PlayConditions;
|
||||||
import com.gempukku.lotro.cards.effects.ExertCharacterEffect;
|
import com.gempukku.lotro.cards.effects.ExertCharacterEffect;
|
||||||
import com.gempukku.lotro.cards.effects.HealCardEffect;
|
import com.gempukku.lotro.cards.effects.HealCharacterEffect;
|
||||||
import com.gempukku.lotro.common.CardType;
|
import com.gempukku.lotro.common.CardType;
|
||||||
import com.gempukku.lotro.common.Culture;
|
import com.gempukku.lotro.common.Culture;
|
||||||
import com.gempukku.lotro.common.Keyword;
|
import com.gempukku.lotro.common.Keyword;
|
||||||
@@ -65,7 +65,7 @@ public class Card1_040 extends AbstractAlly {
|
|||||||
|
|
||||||
CostToEffectAction action = new CostToEffectAction(self, "Heal every ally whose home is site 3");
|
CostToEffectAction action = new CostToEffectAction(self, "Heal every ally whose home is site 3");
|
||||||
for (PhysicalCard ally : allies)
|
for (PhysicalCard ally : allies)
|
||||||
action.addEffect(new HealCardEffect(ally));
|
action.addEffect(new HealCharacterEffect(ally));
|
||||||
|
|
||||||
return Collections.singletonList(action);
|
return Collections.singletonList(action);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import com.gempukku.lotro.cards.AbstractAlly;
|
|||||||
import com.gempukku.lotro.cards.PlayConditions;
|
import com.gempukku.lotro.cards.PlayConditions;
|
||||||
import com.gempukku.lotro.cards.actions.PlayPermanentAction;
|
import com.gempukku.lotro.cards.actions.PlayPermanentAction;
|
||||||
import com.gempukku.lotro.cards.effects.ExertCharacterEffect;
|
import com.gempukku.lotro.cards.effects.ExertCharacterEffect;
|
||||||
import com.gempukku.lotro.cards.effects.HealCardEffect;
|
import com.gempukku.lotro.cards.effects.HealCharacterEffect;
|
||||||
import com.gempukku.lotro.common.*;
|
import com.gempukku.lotro.common.*;
|
||||||
import com.gempukku.lotro.filters.Filters;
|
import com.gempukku.lotro.filters.Filters;
|
||||||
import com.gempukku.lotro.game.LotroCardBlueprint;
|
import com.gempukku.lotro.game.LotroCardBlueprint;
|
||||||
@@ -73,7 +73,7 @@ public class Card1_045 extends AbstractAlly {
|
|||||||
|
|
||||||
CostToEffectAction action = new CostToEffectAction(self, "Heal every ally whose home is site 6");
|
CostToEffectAction action = new CostToEffectAction(self, "Heal every ally whose home is site 6");
|
||||||
for (PhysicalCard ally : allies)
|
for (PhysicalCard ally : allies)
|
||||||
action.addEffect(new HealCardEffect(ally));
|
action.addEffect(new HealCharacterEffect(ally));
|
||||||
|
|
||||||
return Collections.singletonList(action);
|
return Collections.singletonList(action);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import com.gempukku.lotro.cards.actions.PlayPermanentAction;
|
|||||||
import com.gempukku.lotro.cards.effects.AddTwilightEffect;
|
import com.gempukku.lotro.cards.effects.AddTwilightEffect;
|
||||||
import com.gempukku.lotro.cards.effects.ChoiceEffect;
|
import com.gempukku.lotro.cards.effects.ChoiceEffect;
|
||||||
import com.gempukku.lotro.cards.effects.ExertCharacterEffect;
|
import com.gempukku.lotro.cards.effects.ExertCharacterEffect;
|
||||||
import com.gempukku.lotro.cards.effects.HealCardEffect;
|
import com.gempukku.lotro.cards.effects.HealCharacterEffect;
|
||||||
import com.gempukku.lotro.common.*;
|
import com.gempukku.lotro.common.*;
|
||||||
import com.gempukku.lotro.filters.Filters;
|
import com.gempukku.lotro.filters.Filters;
|
||||||
import com.gempukku.lotro.game.PhysicalCard;
|
import com.gempukku.lotro.game.PhysicalCard;
|
||||||
@@ -65,7 +65,7 @@ public class Card1_059 extends AbstractLotroCardBlueprint {
|
|||||||
new ChooseActiveCardEffect(playerId, "Choose Elf to heal", Filters.keyword(Keyword.ELF)) {
|
new ChooseActiveCardEffect(playerId, "Choose Elf to heal", Filters.keyword(Keyword.ELF)) {
|
||||||
@Override
|
@Override
|
||||||
protected void cardSelected(LotroGame game, PhysicalCard elf) {
|
protected void cardSelected(LotroGame game, PhysicalCard elf) {
|
||||||
action.addEffect(new HealCardEffect(elf));
|
action.addEffect(new HealCharacterEffect(elf));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -80,7 +80,7 @@ public class Card1_059 extends AbstractLotroCardBlueprint {
|
|||||||
new ChooseActiveCardEffect(playerId, "Choose Dwarf to heal", Filters.keyword(Keyword.DWARF)) {
|
new ChooseActiveCardEffect(playerId, "Choose Dwarf to heal", Filters.keyword(Keyword.DWARF)) {
|
||||||
@Override
|
@Override
|
||||||
protected void cardSelected(LotroGame game, PhysicalCard dwarf) {
|
protected void cardSelected(LotroGame game, PhysicalCard dwarf) {
|
||||||
action.addEffect(new HealCardEffect(dwarf));
|
action.addEffect(new HealCharacterEffect(dwarf));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,68 @@
|
|||||||
|
package com.gempukku.lotro.cards.set1.isengard;
|
||||||
|
|
||||||
|
import com.gempukku.lotro.cards.AbstractLotroCardBlueprint;
|
||||||
|
import com.gempukku.lotro.cards.PlayConditions;
|
||||||
|
import com.gempukku.lotro.cards.actions.PlayPermanentAction;
|
||||||
|
import com.gempukku.lotro.cards.effects.HealCharacterEffect;
|
||||||
|
import com.gempukku.lotro.cards.effects.RemoveTwilightEffect;
|
||||||
|
import com.gempukku.lotro.common.*;
|
||||||
|
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.CostToEffectAction;
|
||||||
|
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
|
||||||
|
import com.gempukku.lotro.logic.timing.Action;
|
||||||
|
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||||
|
import com.gempukku.lotro.logic.timing.results.SkirmishResult;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set: The Fellowship of the Ring
|
||||||
|
* Side: Shadow
|
||||||
|
* Culture: Isengard
|
||||||
|
* Twilight Cost: 3
|
||||||
|
* Type: Condition
|
||||||
|
* Game Text: Plays to your support area. Response: If your Uruk-hai wins a skirmish, remove (1) to heal him.
|
||||||
|
*/
|
||||||
|
public class Card1_144 extends AbstractLotroCardBlueprint {
|
||||||
|
public Card1_144() {
|
||||||
|
super(Side.SHADOW, CardType.CONDITION, Culture.ISENGARD, "Uruk Bloodlust", "1_144");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getTwilightCost() {
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<? extends Action> getPlayablePhaseActions(String playerId, LotroGame game, PhysicalCard self) {
|
||||||
|
if (PlayConditions.canPlayShadowCardDuringPhase(game, Phase.SHADOW, self)) {
|
||||||
|
PlayPermanentAction action = new PlayPermanentAction(self, Zone.SHADOW_SUPPORT);
|
||||||
|
return Collections.singletonList(action);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<? extends Action> getPlayableWhenActions(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||||
|
if (PlayConditions.winsSkirmish(game.getGameState(), game.getModifiersQuerying(), effectResult, Filters.and(Filters.keyword(Keyword.URUK_HAI), Filters.owner(playerId)))
|
||||||
|
&& game.getGameState().getTwilightPool() >= 1) {
|
||||||
|
SkirmishResult skirmishResult = ((SkirmishResult) effectResult);
|
||||||
|
final CostToEffectAction action = new CostToEffectAction(self, "If your Uruk-hai wins a skirmish, remove (1) to heal him.");
|
||||||
|
action.addCost(new RemoveTwilightEffect(1));
|
||||||
|
action.addEffect(
|
||||||
|
new ChooseActiveCardEffect(playerId, "Choose Uruk-hai to heal", Filters.keyword(Keyword.URUK_HAI), Filters.in(skirmishResult.getWinners())) {
|
||||||
|
@Override
|
||||||
|
protected void cardSelected(LotroGame game, PhysicalCard winningUrukHai) {
|
||||||
|
action.addEffect(new HealCharacterEffect(winningUrukHai));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
return Collections.singletonList(action);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -118,6 +118,15 @@ public class Filters {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Filter in(final List<PhysicalCard> cards) {
|
||||||
|
return new Filter() {
|
||||||
|
@Override
|
||||||
|
public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) {
|
||||||
|
return cards.contains(physicalCard);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
public static Filter zone(final Zone zone) {
|
public static Filter zone(final Zone zone) {
|
||||||
return new Filter() {
|
return new Filter() {
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user