Removing card duplicates.
This commit is contained in:
@@ -11,18 +11,20 @@ public class LotroCardBlueprintLibraryTest {
|
||||
LotroCardBlueprintLibrary library = new LotroCardBlueprintLibrary();
|
||||
|
||||
Map<String, String> cardNames = new HashMap<String, String>();
|
||||
for (int i = 1; i <= 1; i++) {
|
||||
for (int i = 0; i <= 19; i++) {
|
||||
for (int j = 1; j <= 365; j++) {
|
||||
String blueprintId = i + "_" + j;
|
||||
try {
|
||||
LotroCardBlueprint cardBlueprint = library.getLotroCardBlueprint(blueprintId);
|
||||
String cardName = cardBlueprint.getName();
|
||||
if (cardNames.containsKey(cardName))
|
||||
System.out.println("Multiple detected - " + cardName + ": " + cardNames.get(cardName) + " and " + blueprintId);
|
||||
else
|
||||
cardNames.put(cardName, blueprintId);
|
||||
if (blueprintId.equals(library.getBaseBlueprintId(blueprintId))) {
|
||||
LotroCardBlueprint cardBlueprint = library.getLotroCardBlueprint(blueprintId);
|
||||
String cardName = cardBlueprint.getName();
|
||||
if (cardNames.containsKey(cardName) && !cardBlueprint.isUnique())
|
||||
System.out.println("Multiple detected - " + cardName + ": " + cardNames.get(cardName) + " and " + blueprintId);
|
||||
else
|
||||
cardNames.put(cardName, blueprintId);
|
||||
}
|
||||
} catch (IllegalArgumentException exp) {
|
||||
exp.printStackTrace();
|
||||
//exp.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set15.gandalf;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractCompanion;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
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.logic.modifiers.Condition;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
|
||||
/**
|
||||
* Set: The Hunters
|
||||
* Side: Free
|
||||
* Culture: Gandalf
|
||||
* Twilight Cost: 4
|
||||
* Type: Companion • Ent
|
||||
* Strength: 6
|
||||
* Vitality: 4
|
||||
* Resistance: 6
|
||||
* Game Text: While you can spot 3 Ents, this companion is strength +2.
|
||||
*/
|
||||
public class Card15_028 extends AbstractCompanion {
|
||||
public Card15_028() {
|
||||
super(4, 6, 4, 6, Culture.GANDALF, Race.ENT, null, "Ent Avenger");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Modifier getAlwaysOnModifier(PhysicalCard self) {
|
||||
return new StrengthModifier(self, self,
|
||||
new Condition() {
|
||||
@Override
|
||||
public boolean isFullfilled(GameState gameState, ModifiersQuerying modifiersQuerying) {
|
||||
return Filters.countActive(gameState, modifiersQuerying, Race.ENT)
|
||||
+ modifiersQuerying.getSpotBonus(gameState, Race.ENT) >= 3;
|
||||
}
|
||||
}, 2);
|
||||
}
|
||||
}
|
||||
@@ -22,7 +22,7 @@ import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
*/
|
||||
public class Card18_124 extends AbstractMinion {
|
||||
public Card18_124() {
|
||||
super(3, 8, 2, 5, Race.URUK_HAI, Culture.URUK_HAI, "White Hand Attacker");
|
||||
super(3, 8, 2, 5, Race.URUK_HAI, Culture.URUK_HAI, "White Hand Attacker(2)");
|
||||
addKeyword(Keyword.DAMAGE, 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
package com.gempukku.lotro.cards.set4.raider;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractMinion;
|
||||
import com.gempukku.lotro.cards.PlayConditions;
|
||||
import com.gempukku.lotro.cards.TriggerConditions;
|
||||
import com.gempukku.lotro.cards.effects.RemoveTwilightEffect;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.Race;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
@@ -38,13 +36,13 @@ public class Card4_220 extends AbstractMinion {
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.startOfPhase(game, effectResult, Phase.SKIRMISH)
|
||||
&& game.getGameState().getSkirmish().getShadowCharacters().contains(self)
|
||||
&& PlayConditions.canSpot(game, self, Filters.inSkirmish)
|
||||
&& game.getGameState().getTwilightPool() >= 3) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendCost(
|
||||
new RemoveTwilightEffect(3));
|
||||
action.appendEffect(
|
||||
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, Filters.inSkirmishAgainst(self)));
|
||||
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, Filters.or(CardType.COMPANION, CardType.ALLY), Filters.inSkirmishAgainst(self)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
package com.gempukku.lotro.cards.set4.raider;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractMinion;
|
||||
import com.gempukku.lotro.cards.PlayConditions;
|
||||
import com.gempukku.lotro.cards.TriggerConditions;
|
||||
import com.gempukku.lotro.cards.effects.RemoveTwilightEffect;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.Race;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
@@ -38,13 +36,13 @@ public class Card4_221 extends AbstractMinion {
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.startOfPhase(game, effectResult, Phase.SKIRMISH)
|
||||
&& game.getGameState().getSkirmish().getShadowCharacters().contains(self)
|
||||
&& PlayConditions.canSpot(game, self, Filters.inSkirmish)
|
||||
&& game.getGameState().getTwilightPool() >= 3) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendCost(
|
||||
new RemoveTwilightEffect(3));
|
||||
action.appendEffect(
|
||||
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, Filters.inSkirmishAgainst(self)));
|
||||
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, Filters.or(CardType.COMPANION, CardType.ALLY), Filters.inSkirmishAgainst(self)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -43,9 +43,6 @@ public class Card4_265 extends AbstractCompanion {
|
||||
@Override
|
||||
public List<? extends Modifier> getAlwaysOnModifiers(LotroGame game, PhysicalCard self) {
|
||||
return Collections.singletonList(
|
||||
new StrengthModifier(self,
|
||||
Filters.and(
|
||||
self,
|
||||
Filters.inSkirmishAgainst(CardType.MINION, Filters.wounded)), 2));
|
||||
new StrengthModifier(self, Filters.and(self, Filters.inSkirmishAgainst(CardType.MINION, Filters.wounded)), 2));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,15 +6,11 @@ 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.modifiers.Condition;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Ents of Fangorn
|
||||
* Side: Free
|
||||
@@ -32,15 +28,14 @@ public class Card6_027 extends AbstractCompanion {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends Modifier> getAlwaysOnModifiers(LotroGame game, PhysicalCard self) {
|
||||
return Collections.singletonList(
|
||||
new StrengthModifier(self, self,
|
||||
new Condition() {
|
||||
@Override
|
||||
public boolean isFullfilled(GameState gameState, ModifiersQuerying modifiersQuerying) {
|
||||
return Filters.countActive(gameState, modifiersQuerying, Race.ENT)
|
||||
+ modifiersQuerying.getSpotBonus(gameState, Race.ENT) >= 3;
|
||||
}
|
||||
}, 2));
|
||||
public Modifier getAlwaysOnModifier(PhysicalCard self) {
|
||||
return new StrengthModifier(self, self,
|
||||
new Condition() {
|
||||
@Override
|
||||
public boolean isFullfilled(GameState gameState, ModifiersQuerying modifiersQuerying) {
|
||||
return Filters.countActive(gameState, modifiersQuerying, Race.ENT)
|
||||
+ modifiersQuerying.getSpotBonus(gameState, Race.ENT) >= 3;
|
||||
}
|
||||
}, 2);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set7.raider;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractMinion;
|
||||
import com.gempukku.lotro.cards.TriggerConditions;
|
||||
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.OptionalTriggerAction;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: The Return of the King
|
||||
* Side: Shadow
|
||||
* Culture: Raider
|
||||
* Twilight Cost: 4
|
||||
* Type: Minion • Man
|
||||
* Strength: 9
|
||||
* Vitality: 2
|
||||
* Site: 4
|
||||
* Game Text: Southron. At the start of each skirmish involving this minion, you may remove (3) to wound a companion
|
||||
* or ally he is skirmishing.
|
||||
*/
|
||||
public class Card7_136 extends AbstractMinion {
|
||||
public Card7_136() {
|
||||
super(4, 9, 2, 4, Race.MAN, Culture.RAIDER, "Desert Soldier");
|
||||
addKeyword(Keyword.SOUTHRON);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.startOfPhase(game, effectResult, Phase.SKIRMISH)
|
||||
&& Filters.inSkirmish.accepts(game.getGameState(), game.getModifiersQuerying(), self)
|
||||
&& game.getGameState().getTwilightPool() >= 3) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendCost(
|
||||
new RemoveTwilightEffect(3));
|
||||
action.appendEffect(
|
||||
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, Filters.or(CardType.COMPANION, CardType.ALLY), Filters.inSkirmishAgainst(self)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,49 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set7.raider;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractMinion;
|
||||
import com.gempukku.lotro.cards.TriggerConditions;
|
||||
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.OptionalTriggerAction;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: The Return of the King
|
||||
* Side: Shadow
|
||||
* Culture: Raider
|
||||
* Twilight Cost: 3
|
||||
* Type: Minion • Man
|
||||
* Strength: 8
|
||||
* Vitality: 2
|
||||
* Site: 4
|
||||
* Game Text: Southron. At the start of each skirmish involving this minion, you may remove (3) to wound a companion
|
||||
* or ally he is skirmishing.
|
||||
*/
|
||||
public class Card7_137 extends AbstractMinion {
|
||||
public Card7_137() {
|
||||
super(3, 8, 2, 4, Race.MAN, Culture.RAIDER, "Desert Spearman");
|
||||
addKeyword(Keyword.SOUTHRON);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.startOfPhase(game, effectResult, Phase.SKIRMISH)
|
||||
&& Filters.inSkirmish.accepts(game.getGameState(), game.getModifiersQuerying(), self)
|
||||
&& game.getGameState().getTwilightPool() >= 3) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendCost(
|
||||
new RemoveTwilightEffect(3));
|
||||
action.appendEffect(
|
||||
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, Filters.or(CardType.COMPANION, CardType.ALLY), Filters.inSkirmishAgainst(self)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set7.rohan;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractCompanion;
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
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.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: The Return of the King
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 3
|
||||
* Type: Companion • Man
|
||||
* Strength: 6
|
||||
* Vitality: 3
|
||||
* Resistance: 6
|
||||
* Game Text: When this companion is in your starting fellowship, his twilight cost is -1. While skirmishing a wounded
|
||||
* minion, this companion is strength +2.
|
||||
*/
|
||||
public class Card7_225 extends AbstractCompanion {
|
||||
public Card7_225() {
|
||||
super(3, 6, 3, 6, Culture.ROHAN, Race.MAN, null, "Elite Rider");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTwilightCostModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard self) {
|
||||
if (gameState.getCurrentPhase() == Phase.PLAY_STARTING_FELLOWSHIP)
|
||||
return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends Modifier> getAlwaysOnModifiers(LotroGame game, PhysicalCard self) {
|
||||
return Collections.singletonList(
|
||||
new StrengthModifier(self, Filters.and(self, Filters.inSkirmishAgainst(CardType.MINION, Filters.wounded)), 2));
|
||||
}
|
||||
}
|
||||
@@ -144,7 +144,10 @@
|
||||
7_41,1_76
|
||||
7_52,2_29
|
||||
7_84,1_102
|
||||
7_136,4_220
|
||||
7_137,4_221
|
||||
7_207,1_226
|
||||
7_225,4_265
|
||||
7_297,3_94
|
||||
7_319,1_299
|
||||
7_322,1_304
|
||||
@@ -186,6 +189,7 @@
|
||||
# The Hunters set
|
||||
15_2,1_2
|
||||
15_13,1_41
|
||||
15_28,6_27
|
||||
15_133,4_287
|
||||
15_145,1_299
|
||||
# Masterworks in The Hunters
|
||||
|
||||
Reference in New Issue
Block a user