Merge pull request #40 from PhallenCassidy/Fixes-for-Dwarf-Race-Issues

Fixed "Smaug's Den"
This commit is contained in:
Marcin Sciesinski
2017-11-23 18:38:35 -08:00
committed by GitHub
11 changed files with 28 additions and 26 deletions

View File

@@ -47,7 +47,7 @@ public class Card30_030 extends AbstractEvent {
action.appendCost(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.gandalf));
action.appendCost(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Keyword.WISE, CardType.ALLY));
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Keyword.WISE, Culture.ELVEN, CardType.ALLY));
action.appendEffect(
new RemoveBurdenEffect(playerId, self, 2));
};

View File

@@ -65,11 +65,11 @@ public class Card30_045 extends AbstractCompanion {
action.insertEffect(
new AddUntilEndOfPhaseModifierEffect(
new StrengthModifier(self, Filters.sameCard(card), null,
new CardPhaseLimitEvaluator(game, self, Phase.SKIRMISH, -2, new ConstantEvaluator(-4)))));
new CardPhaseLimitEvaluator(game, self, Phase.SKIRMISH, -4, new ConstantEvaluator(-2)))));
}
});
return Collections.singletonList(action);
}
return null;
}
}
}

View File

@@ -39,15 +39,13 @@ public class Card30_056 extends AbstractSite {
ActivateCardAction action = new ActivateCardAction(self);
List<Effect> possibleEffects = new LinkedList<Effect>();
if (Filters.filter(game.getGameState().getHand(playerId), game.getGameState(), game.getModifiersQuerying(), Filters.name("Smaug")).size() > 0) {
possibleEffects.add(
possibleEffects.add(
new ChooseAndPlayCardFromDeckEffect(playerId, Filters.name("Smaug")) {
@Override
public String getText(LotroGame game) {
return "Play Smaug from your draw deck";
}
});
}
@Override
public String getText(LotroGame game) {
return "Play Smaug from your draw deck";
}
});
if (PlayConditions.canPlayFromDiscard(playerId, game, Filters.name("Smaug"))) {
possibleEffects.add(
new ChooseAndPlayCardFromDiscardEffect(playerId, game, Filters.name("Smaug")) {
@@ -65,4 +63,4 @@ public class Card30_056 extends AbstractSite {
}
return null;
}
}
}

View File

@@ -67,7 +67,7 @@ public class Card30_058 extends AbstractMinion {
action.appendCost(
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, CardType.MINION, Filters.not(self)));
action.appendEffect(
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Side.FREE_PEOPLE, Filters.not(CardType.COMPANION, PossessionClass.RING, Filters.name("Bard"))));
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Side.FREE_PEOPLE, Filters.and(Filters.not(CardType.COMPANION), Filters.not(PossessionClass.RING), Filters.not(Filters.name("Bard")))));
return Collections.singletonList(action);
}
return null;

View File

@@ -37,7 +37,8 @@ public class Card31_003 extends AbstractPermanent {
@Override
protected List<? extends Action> getExtraPhaseActions(String playerId, LotroGame game, final PhysicalCard self) {
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.FELLOWSHIP, self)) {
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.FELLOWSHIP, self)
&& PlayConditions.canExert(self, game, Race.ELF)) {
final ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Race.ELF));

View File

@@ -44,7 +44,7 @@ public class Card31_005 extends AbstractAttachableFPPossession {
modifiers.add(
new ArcheryTotalModifier(self, Side.SHADOW, -1));
modifiers.add(
new TwilightCostModifier(self, Filters.and(Side.SHADOW, CardType.POSSESSION),
new TwilightCostModifier(self, Filters.and(Side.SHADOW, CardType.EVENT),
new Condition() {
@Override
public boolean isFullfilled(GameState gameState, ModifiersQuerying modifiersQuerying) {

View File

@@ -49,6 +49,7 @@ public class Card31_042 extends AbstractFollower {
@Override
protected List<? extends Action> getExtraPhaseActions(String playerId, LotroGame game, PhysicalCard self) {
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self)
&& PlayConditions.canSpot(game, Filters.hasAttached(self))
&& PlayConditions.canSelfDiscard(self, game)) {
ActivateCardAction action= new ActivateCardAction(self);
action.appendCost(

View File

@@ -34,7 +34,7 @@ import java.util.List;
* Twilight Cost 2
* Strength bonus: -2
* 'Plays on Bilbo.
* At sites 7 to 9, wound bearer at the start of the maneuver phase. (If bearer is Bilbo, add a doubt instead.)
* At sites 7 to 9, wound bearer at the end of the maneuver phase. (If bearer is Bilbo, add a doubt instead.)
* Thorin gains this ability: "Maneuver: Add a doubt to transfer the Arkenstone to Thorin (or add 3 doubts to discard it)"
*/
public class Card31_056 extends AbstractAttachable {
@@ -88,7 +88,7 @@ public class Card31_056 extends AbstractAttachable {
@Override
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (TriggerConditions.startOfPhase(game, effectResult, Phase.MANEUVER)
if (TriggerConditions.endOfPhase(game, effectResult, Phase.MANEUVER)
&& (game.getGameState().getCurrentSiteNumber() == 7 || game.getGameState().getCurrentSiteNumber()==9)) {
RequiredTriggerAction action = new RequiredTriggerAction(self);
if (Filters.name("Bilbo").accepts(game.getGameState(), game.getModifiersQuerying(), self.getAttachedTo())) {

View File

@@ -45,7 +45,7 @@ public class Card31_063 extends AbstractMinion {
new ChooseActiveCardEffect(self, playerId, "Choose a Spider", Race.SPIDER) {
@Override
protected void cardSelected(LotroGame game, PhysicalCard spider) {
if (PlayConditions.canSpot(game, 5, CardType.COMPANION)) {
if (PlayConditions.canSpot(game, 6, CardType.COMPANION)) {
action.appendEffect(
new AddUntilStartOfPhaseModifierEffect(
new StrengthModifier(self, Filters.sameCard(spider), 5), Phase.REGROUP));
@@ -60,4 +60,4 @@ public class Card31_063 extends AbstractMinion {
}
return null;
}
}
}

View File

@@ -60,10 +60,12 @@ public class Card31_064 extends AbstractMinion {
@Override
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (TriggerConditions.forEachDiscardedFromPlay(game, effectResult, CardType.CONDITION)) {
OptionalTriggerAction action = new OptionalTriggerAction(self);
action.appendEffect(
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, CardType.ALLY));
return Collections.singletonList(action);
if (!discardEffect.getPerformingPlayer().equals(self.getOwner())) {
OptionalTriggerAction action = new OptionalTriggerAction(self);
action.appendEffect(
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, CardType.ALLY));
return Collections.singletonList(action);
}
}
return null;
}

View File

@@ -317,9 +317,9 @@
"code":"hobbit_tsr",
"sites":"HOBBIT",
"cancelRingBearerSkirmish":true,
"restricted":["30_2", "30_22", "30_5", "30_43", "30_44", "30_45", "30_46", "30_6", "30_7", "30_8", "30_9", "30_21", "30_10", "30_25", "30_26", "30_27", "30_28", "30_29", "30_11", "30_12", "30_15", "30_16", "30_17", "30_18", "30_58", "30_47", "30_48", "30_19", "31_1", "31_4", "31_6", "31_8", "31_9", "31_10", "31_15", "31_24", "31_34", "31_36", "31_39", "31_58", "31_62", "31_65"],
"limit2":["30_33", "30_34", "30_36", "30_37", "30_38", "30_41", "31_13", "31_14", "31_16", "31_29", "31_40", "31_43", "31_56"],
"limit3":["30_23", "30_1", "30_3", "30_4", "30_24", "30_30", "30_13", "30_14", "30_31", "30_20", "30_32", "30_39", "30_40", "31_2", "31_3", "31_5", "31_7", "31_11", "31_12", "31_17", "31_18", "31_19", "31_20", "31_21", "31_22", "31_23", "31_25", "31_26", "31_27", "31_28", "31_30", "31_31", "31_32", "31_33", "31_35", "31_37", "31_38", "31_41", "31_42", "31_47", "31_57", "31_59", "31_60", "31_61", "31_63", "31_64", "31_66", "31_67", "31_68", "31_69"],
"restricted":["30_2", "30_5", "30_6", "30_7", "30_8", "30_9", "30_10", "30_11", "30_12", "30_15", "30_16", "30_17", "30_18", "30_19", "30_21", "30_22", "30_25", "30_26", "30_27", "30_28", "30_29", "30_43", "30_44", "30_45", "30_46", "30_47", "30_48", "30_58", "31_1", "31_4", "31_6", "31_8", "31_9", "31_10", "31_14", "31_15", "31_16", "31_24", "31_29", "31_34", "31_36", "31_39", "31_40", "31_43", "31_56", "31_58", "31_62", "31_65"],
"limit2":["30_33", "30_34", "30_36", "30_37", "30_38", "30_41", "31_2", "31_3", "31_5", "31_7", "31_11", "31_12", "31_13", "31_17", "31_18", "31_20", "31_21", "31_22", "31_23", "31_25", "31_26", "31_28", "31_33", "31_37", "31_38", "31_41", "31_42", "31_57", "31_60", "31_64", "31_66", "31_67", "31_68", "31_69"],
"limit3":["30_1", "30_3", "30_4", "30_13", "30_14", "30_20", "30_23", "30_24", "30_30", "30_31", "30_32", "30_39", "30_40", "31_19", "31_27", "31_30", "31_31", "31_32", "31_35", "31_47", "31_59", "31_61", "31_63"],
"set":[30, 31],
"restrictedName":["Gandalf", "Bilbo"],
"hall":true