Merge pull request #49 from PhallenCassidy/Fixes-And-Edits
Fixes and edits
This commit is contained in:
@@ -1,5 +1,17 @@
|
||||
<pre style="font-size:80%">
|
||||
<b>Most recent update</b>
|
||||
- "Drawn to Its Power" can no longer adds burden if The Ring-Bearer was killed
|
||||
- "The Witch-king, Deathless Lord" can now wound an ally twice if all Free Peoples characters are exhausted
|
||||
- "Nine-fingered Frodo and the Ring of Doom" can now remove one threat if there is one threat and no burdens
|
||||
- "Saved from the Fire" can no longer target the Ring-Bearer
|
||||
- "Tower Troll" now has the correct prevention pop-up text
|
||||
- "Uruk Guard" and "Uruk-hai Guard" now announce the selected companion in chat
|
||||
- "Shelob, Her Ladyship" now announces the seclected companion in chat
|
||||
- "Safe Passage" now announces the selected keyword in chat
|
||||
- "Saruman, Of Many Colours" now announces the selected culture in chat
|
||||
- The Hobbit Draft League should no longer disappear from users' collections each server day
|
||||
|
||||
<b>21 June 2018</b>
|
||||
- Added Draft for Fellowship block, The Two Towers block, and The Hobbit
|
||||
- Added prize support for Draft games
|
||||
- Users can now select what kind of foiling they want to see under the "Settings" tab in-game
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.gempukku.lotro.cards.modifiers.CantBeAssignedAgainstModifier;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.GameState;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
|
||||
@@ -47,6 +48,7 @@ public class Card1_147 extends AbstractMinion {
|
||||
action.appendEffect(
|
||||
new AddUntilEndOfPhaseModifierEffect(
|
||||
new CantBeAssignedAgainstModifier(self, Side.FREE_PEOPLE, Filters.sameCard(companion), self)));
|
||||
game.getGameState().sendMessage(self.getOwner() +" has chosen "+ companion.getBlueprint().getName());
|
||||
}
|
||||
});
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.gempukku.lotro.cards.AbstractPermanent;
|
||||
import com.gempukku.lotro.cards.TriggerConditions;
|
||||
import com.gempukku.lotro.cards.effects.AddBurdenEffect;
|
||||
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.RequiredTriggerAction;
|
||||
@@ -28,7 +29,7 @@ public class Card1_211 extends AbstractPermanent {
|
||||
|
||||
@Override
|
||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.forEachKilledInASkirmish(game, effectResult, Race.NAZGUL, CardType.COMPANION)) {
|
||||
if (TriggerConditions.forEachKilledInASkirmish(game, effectResult, Race.NAZGUL, CardType.COMPANION, Filters.not(Filters.ringBearer))) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new AddBurdenEffect(self.getOwner(), self, 1));
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Race;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.GameState;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
||||
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
|
||||
@@ -50,6 +51,7 @@ public class Card10_023 extends AbstractMinion {
|
||||
action.appendEffect(
|
||||
new AddUntilEndOfTurnModifierEffect(
|
||||
new CantBeAssignedToSkirmishModifier(self, card)));
|
||||
game.getGameState().sendMessage(self.getOwner() +" has chosen "+ card.getBlueprint().getName());
|
||||
}
|
||||
});
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -47,13 +47,18 @@ public class Card10_112 extends AbstractEvent {
|
||||
List<Effect> possibleEffects = new LinkedList<Effect>();
|
||||
possibleEffects.add(
|
||||
new RemoveBurdenEffect(playerId, self));
|
||||
possibleEffects.add(
|
||||
new RemoveThreatsEffect(self, 2) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Remove 2 threats";
|
||||
}
|
||||
});
|
||||
if (game.getGameState().getThreats() > 1) {
|
||||
possibleEffects.add(
|
||||
new RemoveThreatsEffect(self, 2) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Remove 2 threats";
|
||||
}
|
||||
});
|
||||
} else if (game.getGameState().getBurdens() == 0) {
|
||||
possibleEffects.add(
|
||||
new RemoveThreatsEffect(self, 1));
|
||||
}
|
||||
action.appendEffect(
|
||||
new ChoiceEffect(action, playerId, possibleEffects));
|
||||
return action;
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.GameState;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
||||
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
||||
@@ -33,7 +34,7 @@ public class Card11_050 extends AbstractPermanent {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, final PhysicalCard self) {
|
||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(final LotroGame game, EffectResult effectResult, final PhysicalCard self) {
|
||||
if (TriggerConditions.played(game, effectResult, self)) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
@@ -49,6 +50,8 @@ public class Card11_050 extends AbstractPermanent {
|
||||
self.setWhileInZoneData(Keyword.PLAINS);
|
||||
else
|
||||
self.setWhileInZoneData(Keyword.RIVER);
|
||||
|
||||
game.getGameState().sendMessage(self.getOwner() +" has chosen "+ result);
|
||||
}
|
||||
}));
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -63,7 +63,7 @@ public class Card12_054 extends AbstractMinion {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, final PhysicalCard self) {
|
||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(final LotroGame game, EffectResult effectResult, final PhysicalCard self) {
|
||||
if (TriggerConditions.played(game, effectResult, self)) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
|
||||
@@ -78,6 +78,7 @@ public class Card12_054 extends AbstractMinion {
|
||||
@Override
|
||||
protected void validDecisionMade(int index, String result) {
|
||||
self.setWhileInZoneData(Culture.findCultureByHumanReadable(result));
|
||||
game.getGameState().sendMessage(self.getOwner() +" has chosen "+ result);
|
||||
}
|
||||
}));
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.gempukku.lotro.cards.effects.SelfExertEffect;
|
||||
import com.gempukku.lotro.cards.modifiers.CantBeAssignedAgainstModifier;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.GameState;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
|
||||
@@ -48,6 +49,7 @@ public class Card12_156 extends AbstractMinion {
|
||||
action.appendEffect(
|
||||
new AddUntilEndOfPhaseModifierEffect(
|
||||
new CantBeAssignedAgainstModifier(self, Side.FREE_PEOPLE, card, self)));
|
||||
game.getGameState().sendMessage(self.getOwner() +" has chosen "+ card.getBlueprint().getName());
|
||||
}
|
||||
});
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -56,23 +56,28 @@ public class Card15_117 extends AbstractMinion {
|
||||
new SelfExertEffect(action, self));
|
||||
action.appendEffect(
|
||||
new ChooseActiveCardEffect(self, playerId, "Choose companion", CardType.COMPANION, Filters.not(Filters.ringBearer), Filters.assignableToSkirmishAgainst(Side.SHADOW, self)) {
|
||||
@Override
|
||||
protected void cardSelected(LotroGame game, PhysicalCard companion) {
|
||||
if (PlayConditions.canSpot(game, 6, CardType.COMPANION))
|
||||
action.appendEffect(
|
||||
new AssignmentEffect(playerId, companion, self));
|
||||
else
|
||||
action.appendEffect(
|
||||
new PreventableEffect(action,
|
||||
new AssignmentEffect(playerId, companion, self), game.getGameState().getCurrentPlayerId(),
|
||||
new PreventableEffect.PreventionCost() {
|
||||
@Override
|
||||
public Effect createPreventionCostForPlayer(SubAction subAction, String playerId) {
|
||||
return new ChooseAndExertCharactersEffect(action, playerId, 1, 1, CardType.COMPANION);
|
||||
}
|
||||
}));
|
||||
}
|
||||
});
|
||||
@Override
|
||||
protected void cardSelected(LotroGame game, PhysicalCard companion) {
|
||||
if (PlayConditions.canSpot(game, 6, CardType.COMPANION))
|
||||
action.appendEffect(
|
||||
new AssignmentEffect(playerId, companion, self));
|
||||
else
|
||||
action.appendEffect(
|
||||
new PreventableEffect(action,
|
||||
new AssignmentEffect(playerId, companion, self), game.getGameState().getCurrentPlayerId(),
|
||||
new PreventableEffect.PreventionCost() {
|
||||
@Override
|
||||
public Effect createPreventionCostForPlayer(SubAction subAction, String playerId) {
|
||||
return new ChooseAndExertCharactersEffect(action, playerId, 1, 1, CardType.COMPANION) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Exert a companion";
|
||||
}
|
||||
};
|
||||
}
|
||||
}));
|
||||
}
|
||||
});
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -5,13 +5,17 @@ import com.gempukku.lotro.cards.TriggerConditions;
|
||||
import com.gempukku.lotro.cards.effects.ChoiceEffect;
|
||||
import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect;
|
||||
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.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect;
|
||||
import com.gempukku.lotro.logic.effects.WoundCharactersEffect;
|
||||
import com.gempukku.lotro.logic.timing.Effect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
@@ -39,13 +43,26 @@ public class Card6_122 extends AbstractMinion {
|
||||
if (TriggerConditions.forEachKilledInASkirmish(game, effectResult, Race.NAZGUL, CardType.COMPANION)) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
List<Effect> possibleEffects = new LinkedList<Effect>();
|
||||
possibleEffects.add(
|
||||
new ChooseAndWoundCharactersEffect(action, self.getOwner(), 1, 1, 2, CardType.ALLY) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Wound an ally twice";
|
||||
}
|
||||
});
|
||||
if (Filters.canSpot(game.getGameState(), game.getModifiersQuerying(),
|
||||
CardType.ALLY, Filters.moreVitalityThan(1))) {
|
||||
possibleEffects.add(
|
||||
new ChooseAndWoundCharactersEffect(action, self.getOwner(), 1, 1, 2, CardType.ALLY) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Wound an ally twice";
|
||||
}
|
||||
});
|
||||
} else if (!Filters.canSpot(game.getGameState(), game.getModifiersQuerying(),
|
||||
CardType.COMPANION, Filters.moreVitalityThan(1))) {
|
||||
possibleEffects.add(
|
||||
new ChooseAndWoundCharactersEffect(action, self.getOwner(), 1, 1, 1, CardType.ALLY) {
|
||||
@Override
|
||||
protected void woundedCardsCallback(Collection<PhysicalCard> cards) {
|
||||
for (PhysicalCard card : cards)
|
||||
action.appendEffect(new WoundCharactersEffect(self, card));
|
||||
}
|
||||
});
|
||||
}
|
||||
possibleEffects.add(
|
||||
new ChooseAndExertCharactersEffect(action, self.getOwner(), 1, 1, CardType.COMPANION) {
|
||||
@Override
|
||||
|
||||
@@ -39,7 +39,7 @@ public class Card8_020 extends AbstractEvent {
|
||||
public PlayEventAction getPlayCardAction(final String playerId, LotroGame game, PhysicalCard self, int twilightModifier, boolean ignoreRoamingPenalty) {
|
||||
final PlayEventAction action = new PlayEventAction(self);
|
||||
action.appendCost(
|
||||
new ChooseActiveCardEffect(self, playerId, "Choose a companion", CardType.COMPANION) {
|
||||
new ChooseActiveCardEffect(self, playerId, "Choose a companion", CardType.COMPANION, Filters.not(Filters.ringBearer)) {
|
||||
@Override
|
||||
protected void cardSelected(LotroGame game, final PhysicalCard card) {
|
||||
action.insertCost(
|
||||
|
||||
@@ -86,10 +86,20 @@ public class SoloDraftLeagueData implements LeagueData {
|
||||
@Override
|
||||
public int process(CollectionsManager collectionsManager, List<PlayerStanding> leagueStandings, int oldStatus, int currentTime) {
|
||||
int status = oldStatus;
|
||||
|
||||
|
||||
if (status == 0) {
|
||||
Map<Player, CardCollection> map = collectionsManager.getPlayersCollection(_collectionType.getCode());
|
||||
for (Map.Entry<Player, CardCollection> playerCardCollectionEntry : map.entrySet()) {
|
||||
Player player = playerCardCollectionEntry.getKey();
|
||||
CardCollection leagueProduct = _draft.initializeNewCollection(getSeed(player));
|
||||
collectionsManager.addItemsToPlayerCollection(false, "New sealed league product", player, _collectionType, leagueProduct.getAll().values());
|
||||
}
|
||||
status = 1;
|
||||
}
|
||||
|
||||
int maxGamesTotal = _serie.getMaxMatches();
|
||||
|
||||
if (status == 0) {
|
||||
if (status == 1) {
|
||||
if (currentTime > DateUtils.offsetDate(_serie.getEnd(), 1)) {
|
||||
for (PlayerStanding leagueStanding : leagueStandings) {
|
||||
CardCollection leaguePrize = _leaguePrizes.getPrizeForLeague(leagueStanding.getStanding(), leagueStandings.size(), leagueStanding.getGamesPlayed(), maxGamesTotal, _collectionType);
|
||||
|
||||
Reference in New Issue
Block a user