diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/css/gemp-001/game.css b/gemp-lotr/gemp-lotr-async/src/main/web/css/gemp-001/game.css
index 1f9b044ce..fad6a3f36 100644
--- a/gemp-lotr/gemp-lotr-async/src/main/web/css/gemp-001/game.css
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/css/gemp-001/game.css
@@ -68,6 +68,17 @@ body {
background-image: url('/gemp-lotr/images/adventureDeck-42.png');
}
+.removedPileSize {
+ display: none;
+ text-align: center;
+ vertical-align: middle;
+ font-size: 200%;
+ font-weight: bolder;
+ width: 42px;
+ height: 42px;
+ background-image: url('/gemp-lotr/images/exiled-42.png');
+}
+
.showStats {
display: table-cell;
}
diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/images/exiled-42.png b/gemp-lotr/gemp-lotr-async/src/main/web/images/exiled-42.png
new file mode 100644
index 000000000..cf1faf080
Binary files /dev/null and b/gemp-lotr/gemp-lotr-async/src/main/web/images/exiled-42.png differ
diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/gameAnimations.js b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/gameAnimations.js
index 2af91a52d..59e1eac59 100644
--- a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/gameAnimations.js
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/gameAnimations.js
@@ -226,6 +226,8 @@ var GameAnimations = Class.extend({
that.game.deadPileDialogs[participantId].append(cardDiv);
else if (zone == "ADVENTURE_DECK")
that.game.adventureDeckDialogs[participantId].append(cardDiv);
+ else if (zone == "REMOVED")
+ that.game.removedPileDialogs[participantId].append(cardDiv);
else
$("#main").append(cardDiv);
@@ -797,12 +799,14 @@ var GameAnimations = Class.extend({
var adventureDeck = playerZone.getAttribute("ADVENTURE_DECK");
var dead = playerZone.getAttribute("DEAD");
var deck = playerZone.getAttribute("DECK");
+ var removed = playerZone.getAttribute("REMOVED");
$("#deck" + that.game.getPlayerIndex(playerId)).text(deck);
$("#hand" + that.game.getPlayerIndex(playerId)).text(hand);
$("#discard" + that.game.getPlayerIndex(playerId)).text(discard);
$("#deadPile" + that.game.getPlayerIndex(playerId)).text(dead);
$("#adventureDeck" + that.game.getPlayerIndex(playerId)).text(adventureDeck);
+ $("#removedPile" + that.game.getPlayerIndex(playerId)).text(removed);
}
var playerThreats = element.getElementsByTagName("threats")
diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/gameUi.js b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/gameUi.js
index 6747c533f..5d162a6ee 100644
--- a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/gameUi.js
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/gameUi.js
@@ -32,6 +32,8 @@ var GempLotrGameUI = Class.extend({
adventureDeckGroups: null,
deadPileDialogs: null,
deadPileGroups: null,
+ removedPileDialogs: null,
+ removedPileGroups: null,
statsDiv: null,
@@ -146,6 +148,8 @@ var GempLotrGameUI = Class.extend({
this.adventureDeckGroups = {};
this.deadPileDialogs = {};
this.deadPileGroups = {};
+ this.removedPileDialogs = {};
+ this.removedPileGroups = {};
this.skirmishShadowGroup = new NormalCardGroup($("#main"), function (card) {
return card.zone == "SHADOW_CHARACTERS" && card.skirmish == true;
@@ -294,7 +298,7 @@ var GempLotrGameUI = Class.extend({
for (var i = 0; i < this.allPlayerIds.length; i++) {
this.gameStateElem.append("
" + (i + 1) + ". " + this.allPlayerIds[i] + "
"
- + "
");
+ + "");
}
this.gameStateElem.append("0
");
@@ -314,11 +318,13 @@ var GempLotrGameUI = Class.extend({
$("#discard" + playerIndex).css({display: "none"});
$("#deadPile" + playerIndex).css({display: "none"});
$("#adventureDeck" + playerIndex).css({display: "none"});
+ $("#removedPile" + playerIndex).css({display: "none"});
} else {
- $(this).addClass("opened").css({width: 150 - that.padding + 126});
+ $(this).addClass("opened").css({width: 150 - that.padding + 168});
$("#discard" + playerIndex).css({display: "table-cell"});
$("#deadPile" + playerIndex).css({display: "table-cell"});
$("#adventureDeck" + playerIndex).css({display: "table-cell"});
+ $("#removedPile" + playerIndex).css({display: "table-cell"});
}
}
});
@@ -328,7 +334,6 @@ var GempLotrGameUI = Class.extend({
$("#showStats" + i).append(showBut);
}
- //TODO: This is where we will need to add support for public discard piles
if (!this.spectatorMode) {
if(!discardPublic) {
$("#discard" + this.getPlayerIndex(this.bottomPlayerId)).addClass("clickable").click(
@@ -366,6 +371,17 @@ var GempLotrGameUI = Class.extend({
};
})(i));
+ $("#removedPile" + i).addClass("clickable").click(
+ (function (index) {
+ return function () {
+ var dialog = that.removedPileDialogs[that.allPlayerIds[index]];
+ var group = that.removedPileGroups[that.allPlayerIds[index]];
+ openSizeDialog(dialog);
+ that.dialogResize(dialog, group);
+ group.layoutCards();
+ };
+ })(i));
+
if(discardPublic) {
$("#discard" + i).addClass("clickable").click(
(function (index) {
@@ -1028,6 +1044,10 @@ var GempLotrGameUI = Class.extend({
for (var playerId in this.deadPileGroups)
if (this.deadPileGroups.hasOwnProperty(playerId))
this.deadPileGroups[playerId].layoutCards();
+
+ for (var playerId in this.removedPileGroups)
+ if (this.removedPileGroups.hasOwnProperty(playerId))
+ this.removedPileGroups[playerId].layoutCards();
}
this.tabPane.css({
position: "absolute",
@@ -1399,33 +1419,11 @@ var GempLotrGameUI = Class.extend({
participantId = this.allPlayerIds[i];
this.createPile(participantId, "Dead Pile", "deadPileDialogs", "deadPileGroups");
+ this.createPile(participantId, "Removed Pile", "removedPileDialogs", "removedPileGroups");
if(discardPublic) {
this.createPile(participantId, "Discard Pile", "discardPileDialogs", "discardPileGroups");
}
-
- // var deadPileDialog = $("").dialog({
- // autoOpen: false,
- // closeOnEscape: true,
- // resizable: true,
- // title: "Dead pile - " + this.allPlayerIds[i],
- // minHeight: 80,
- // minWidth: 200,
- // width: 600,
- // height: 300
- // });
- // this.deadPileDialogs[this.allPlayerIds[i]] = deadPileDialog;
- // this.deadPileGroups[this.allPlayerIds[i]] = new NormalCardGroup(deadPileDialog, function (card) {
- // return true;
- // }, false);
-
- // this.deadPileGroups[this.allPlayerIds[i]].setBounds(this.padding, this.padding, 580 - 2 * (this.padding), 250 - 2 * (this.padding));
-
- // deadPileDialog.bind("dialogresize", (function (dialog, index) {
- // return function () {
- // that.dialogResize(dialog, that.deadPileGroups[that.allPlayerIds[index]]);
- // }
- // })(deadPileDialog, i));
}
this.initializeGameUI(discardPublic);
diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/GameStats.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/GameStats.java
index 08142a571..7b95a42a2 100644
--- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/GameStats.java
+++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/GameStats.java
@@ -135,6 +135,7 @@ public class GameStats {
playerZoneSizes.put(Zone.ADVENTURE_DECK, game.getGameState().getAdventureDeck(player).size());
playerZoneSizes.put(Zone.DISCARD, game.getGameState().getDiscard(player).size());
playerZoneSizes.put(Zone.DEAD, game.getGameState().getDeadPile(player).size());
+ playerZoneSizes.put(Zone.REMOVED, game.getGameState().getRemoved(player).size());
newZoneSizes.put(player, playerZoneSizes);
}
}