diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-019/cardFilter.js b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-019/cardFilter.js
index 5455e7dc6..1f14c681a 100644
--- a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-019/cardFilter.js
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-019/cardFilter.js
@@ -111,7 +111,7 @@ var CardFilter = Class.extend({
+ ""
+ ""
+ ""
- + ""
+ + ""
+ ""
+ ""
+ ""
diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-019/hobbit.js b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-019/hobbit.js
index 5e8c549e4..69b34ed3e 100644
--- a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-019/hobbit.js
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-019/hobbit.js
@@ -152,21 +152,21 @@ var hobbit = {
'32_24': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Saruman.png',
'32_25': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Bolg_Commander.png',
'32_26': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Hidden_Attack.png',
- '32_27': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Orkish_Bow.png',
- '32_28': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Orkish_Pursuer.png',
- '32_29': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Orkish_Veteran.png',
- '32_30': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Orc_Army.png',
+ '32_27': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Orc_Army.png',
+ '32_28': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Orkish_Bow.png',
+ '32_29': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Orkish_Pursuer.png',
+ '32_30': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Orkish_Veteran.png',
'32_31': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Alfrid.png',
'32_32': 'http://hobbitdraftgame.free.fr/Cards_Good_def/War_for_Gold.png',
'32_33': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Assaulting_Goblin.png',
'32_34': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Azog_Commander.png',
'32_35': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Azog_s_Mace.png',
- '32_36': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Azog_Servant.png',
- '32_37': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Dark_Bats.png',
- '32_38': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Demolition_Troll.png',
- '32_39': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Wolves_Army.png',
- '32_40': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Vicious_Warg.png',
- '32_41': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Were_worms.png',
+ '32_36': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Dark_Bats.png',
+ '32_37': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Demolition_Troll.png',
+ '32_38': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Vicious_Warg.png',
+ '32_39': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Were_worms.png',
+ '32_40': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Wolves_Army.png',
+ '32_41': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Azog_Servant.png',
'32_42': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Danger_Wrapped_in_Shadows.png',
'32_43': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Jail.png',
'32_44': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Shadow_Ring_of_Thror.png',
@@ -190,15 +190,15 @@ var hobbit = {
'32_62': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Twisted_Gold_of_Dragon.png',
'32_63': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Wrath_of_the_Dragon.png',
'32_64': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Dol_Guldur_Blade.png',
- '32_65': 'http://hobbitdraftgame.free.fr/Cards_Good_def/He_is_summoning_his_servants.png',
- '32_66': 'http://hobbitdraftgame.free.fr/Cards_Good_def/The_Great_Enemy.png',
- '32_67': 'http://hobbitdraftgame.free.fr/Cards_Good_def/The_Witch_King.png',
- '32_68': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Attea.png',
- '32_69': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Cantea.png',
- '32_70': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Enquea.png',
- '32_71': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Lemenya.png',
- '32_72': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Nelya.png',
- '32_73': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Nertea.png',
- '32_74': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Otsea.png',
- '32_75': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Toldea.png'
+ '32_65': 'http://hobbitdraftgame.free.fr/Cards_Good_def/The_Great_Enemy.png',
+ '32_66': 'http://hobbitdraftgame.free.fr/Cards_Good_def/He_is_summoning_his_servants.png',
+ '32_67': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Attea.png',
+ '32_68': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Cantea.png',
+ '32_69': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Enquea.png',
+ '32_70': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Lemenya.png',
+ '32_71': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Nelya.png',
+ '32_72': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Nertea.png',
+ '32_73': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Otsea.png',
+ '32_74': 'http://hobbitdraftgame.free.fr/Cards_Good_def/Toldea.png',
+ '32_75': 'http://hobbitdraftgame.free.fr/Cards_Good_def/The_Witch_King.png'
}
diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/leagueAdmin.html b/gemp-lotr/gemp-lotr-async/src/main/web/leagueAdmin.html
index 6e9a6768c..d1cf33ae7 100644
--- a/gemp-lotr/gemp-lotr-async/src/main/web/leagueAdmin.html
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/leagueAdmin.html
@@ -248,6 +248,7 @@
+
@@ -255,6 +256,7 @@
+
Series duration in days:
diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set18/men/Card18_067.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set18/men/Card18_067.java
index 0c2d8000f..b5a6cc2e1 100644
--- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set18/men/Card18_067.java
+++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set18/men/Card18_067.java
@@ -61,7 +61,7 @@ public class Card18_067 extends AbstractMinion {
}
if (game.getGameState().getTwilightPool() >= 4) {
ActivateCardAction action = new ActivateCardAction(self);
- action.setText("Remove (4) to exert and unbound companion");
+ action.setText("Remove (4) to exert an unbound companion");
action.appendCost(
new RemoveTwilightEffect(4));
action.appendEffect(
diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/elven/Card2_017.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/elven/Card2_017.java
index 2d7337948..6a3a598b4 100644
--- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/elven/Card2_017.java
+++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/elven/Card2_017.java
@@ -30,7 +30,7 @@ import java.util.List;
*/
public class Card2_017 extends AbstractResponseOldEvent {
public Card2_017() {
- super(Side.FREE_PEOPLE, Culture.ELVEN, "Dismay Our Enemiers");
+ super(Side.FREE_PEOPLE, Culture.ELVEN, "Dismay Our Enemies");
}
@Override
diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_114.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_114.java
index c139b4477..c03df48fc 100644
--- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_114.java
+++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_114.java
@@ -31,7 +31,7 @@ import java.util.List;
*/
public class Card5_114 extends AbstractAttachable {
public Card5_114() {
- super(Side.FREE_PEOPLE, CardType.CONDITION, 1, Culture.SHIRE, null, "Rare Good Balast", null, true);
+ super(Side.FREE_PEOPLE, CardType.CONDITION, 1, Culture.SHIRE, null, "Rare Good Ballast", null, true);
}
@Override
diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set8/shire/Card8_111.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set8/shire/Card8_111.java
index a8319ab01..884cbea8c 100644
--- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set8/shire/Card8_111.java
+++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set8/shire/Card8_111.java
@@ -25,7 +25,7 @@ import com.gempukku.lotro.logic.effects.AddThreatsEffect;
*/
public class Card8_111 extends AbstractEvent {
public Card8_111() {
- super(Side.FREE_PEOPLE, 1, Culture.SHIRE, "So Fair, So Desparate", Phase.SKIRMISH);
+ super(Side.FREE_PEOPLE, 1, Culture.SHIRE, "So Fair, So Desperate", Phase.SKIRMISH);
}
@Override
diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/SortAndFilterCards.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/SortAndFilterCards.java
index b0d559e56..d52f2287f 100644
--- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/SortAndFilterCards.java
+++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/SortAndFilterCards.java
@@ -1,6 +1,7 @@
package com.gempukku.lotro.game;
import com.gempukku.lotro.cards.packs.SetDefinition;
+import com.gempukku.lotro.common.Block;
import com.gempukku.lotro.common.CardType;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Keyword;
@@ -90,7 +91,7 @@ public class SortAndFilterCards {
final LotroCardBlueprint blueprint = cardBlueprint.get(blueprintId);
if (side == null || blueprint.getSide() == side)
if (rarity == null || isRarity(blueprintId, rarity, library, rarities))
- if (sets == null || isInSets(blueprintId, sets, library, formatLibrary))
+ if (sets == null || isInSets(blueprintId, sets, library, formatLibrary, cardBlueprint))
if (cardTypes == null || cardTypes.contains(blueprint.getCardType()))
if (cultures == null || cultures.contains(blueprint.getCulture()))
if (containsAllKeywords(blueprint, keywords))
@@ -149,16 +150,40 @@ public class SortAndFilterCards {
return true;
}
- private boolean isInSets(String blueprintId, String[] sets, LotroCardBlueprintLibrary library, LotroFormatLibrary formatLibrary) {
+ private boolean isInSets(String blueprintId, String[] sets, LotroCardBlueprintLibrary library, LotroFormatLibrary formatLibrary, Map cardBlueprint) {
for (String set : sets) {
LotroFormat format = formatLibrary.getFormat(set);
+
if (format != null) {
try {
format.validateCard(blueprintId);
- return true;
} catch (DeckInvalidException exp) {
return false;
}
+ final LotroCardBlueprint blueprint = cardBlueprint.get(blueprintId);
+ if (blueprint.getCardType() == CardType.SITE) {
+ if (blueprint.getSiteBlock() == Block.FELLOWSHIP) {
+ if ("fotr_block".contains(set)) {
+ return true;
+ }
+ return false;
+ }
+ if (blueprint.getSiteBlock() == Block.TWO_TOWERS) {
+ if ("towers_standard,ttt_block".contains(set)) {
+ return true;
+ }
+ return false;
+ }
+ if (blueprint.getSiteBlock() == Block.KING) {
+ if ("king_block,rotk_sta,movie".contains(set)) {
+ return true;
+ }
+ return false;
+ }
+ return true;
+ } else {
+ return true;
+ }
} else {
if (blueprintId.startsWith(set + "_") || library.hasAlternateInSet(blueprintId, Integer.parseInt(set)))
return true;
diff --git a/gemp-lotr/gemp-lotr-server/src/main/resources/lotrFormats.json b/gemp-lotr/gemp-lotr-server/src/main/resources/lotrFormats.json
index 7ef142966..8e2884b99 100644
--- a/gemp-lotr/gemp-lotr-server/src/main/resources/lotrFormats.json
+++ b/gemp-lotr/gemp-lotr-server/src/main/resources/lotrFormats.json
@@ -43,6 +43,14 @@
"set":[1, 2, 3],
"hall":false
},
+ {
+ "name":"Open - Sets 1-4",
+ "code":"open_legacy",
+ "sites":"TWO_TOWERS",
+ "cancelRingBearerSkirmish":true,
+ "set":[1, 2, 3, 4],
+ "hall":false
+ },
{
"name":"Towers block",
"code":"ttt_block",
@@ -119,7 +127,7 @@
},
{
"name":"King Standard",
- "code":"king_standard",
+ "code":"rotk_sta",
"sites":"KING",
"cancelRingBearerSkirmish":true,
"banned":["1_40", "1_45","1_80", "1_108", "1_139", "1_195", "1_234", "1_248", "1_313", "2_32", "2_101", "2_108", "3_38", "3_42", "3_67", "3_68", "3_106", "3_108"],
@@ -182,6 +190,14 @@
"set":[1, 2, 3, 4, 5, 6, 7, 8, 9],
"hall":false
},
+ {
+ "name":"Movie block - Sets 1-8, 10",
+ "code":"movie_sans9",
+ "sites":"KING",
+ "banned":["8_1", "3_38", "3_106", "1_40", "2_32", "1_248", "3_108", "1_45", "7_96", "3_42", "10_2", "10_91", "1_108", "1_80", "3_67", "1_195", "3_68", "1_139", "7_49", "1_313", "1_234"],
+ "set":[1, 2, 3, 4, 5, 6, 7, 8, 10],
+ "hall":false
+ },
{
"name":"War of the Ring block",
"code":"war_block",