From ef1a899801bdda95f0d24c90b3feb3838a895090 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Mon, 24 Oct 2011 22:06:48 +0000 Subject: [PATCH] - "We Are the Fighting Uruk-hai" correctly adds bonuses to the Uruk-hai. - Liberating a site should no longer freeze the game. --- .../gempukku/lotro/cards/effects/LiberateASiteEffect.java | 4 ++-- .../com/gempukku/lotro/cards/set4/isengard/Card4_210.java | 4 ++-- .../src/main/java/com/gempukku/lotro/chat/ChatServer.java | 3 ++- .../src/main/java/com/gempukku/lotro/game/LotroServer.java | 7 +++++-- .../src/main/java/com/gempukku/lotro/hall/HallServer.java | 2 +- .../gemp-lotr-web/src/main/webapp/includes/changeLog.html | 2 ++ 6 files changed, 14 insertions(+), 8 deletions(-) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/LiberateASiteEffect.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/LiberateASiteEffect.java index 6a755a11a..f9c17c927 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/LiberateASiteEffect.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/LiberateASiteEffect.java @@ -36,9 +36,9 @@ public class LiberateASiteEffect extends AbstractEffect { for (String playerId : game.getGameState().getPlayerOrder().getAllPlayers()) maxUnoccupiedSite = Math.min(maxUnoccupiedSite, game.getGameState().getPlayerPosition(playerId) - 1); - for (int i = maxUnoccupiedSite; i >= 1; i++) { + for (int i = maxUnoccupiedSite; i >= 1; i--) { PhysicalCard site = game.getGameState().getSite(i); - if (site.getCardController() != null + if (site != null && site.getCardController() != null && !site.getCardController().equals(game.getGameState().getCurrentPlayerId())) return site; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_210.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_210.java index 35043a6a9..cb76caf87 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_210.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_210.java @@ -34,11 +34,11 @@ public class Card4_210 extends AbstractOldEvent { boolean controlsSite = Filters.countActive(game.getGameState(), game.getModifiersQuerying(), Filters.siteControlled(playerId)) > 0; action.insertEffect( new AddUntilEndOfPhaseModifierEffect( - new StrengthModifier(self, Filters.sameCard(self), 2), Phase.SKIRMISH)); + new StrengthModifier(self, card, 2), Phase.SKIRMISH)); if (controlsSite) action.appendEffect( new AddUntilEndOfPhaseModifierEffect( - new KeywordModifier(self, Filters.sameCard(self), Keyword.DAMAGE), Phase.SKIRMISH)); + new KeywordModifier(self, card, Keyword.DAMAGE), Phase.SKIRMISH)); } }); return action; diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/chat/ChatServer.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/chat/ChatServer.java index 5d63ca993..d5afe54a6 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/chat/ChatServer.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/chat/ChatServer.java @@ -8,10 +8,11 @@ import java.util.concurrent.ConcurrentHashMap; public class ChatServer extends AbstractServer { private Map _chatRooms = new ConcurrentHashMap(); - public void createChatRoom(String name) { + public ChatRoomMediator createChatRoom(String name) { ChatRoomMediator chatRoom = new ChatRoomMediator(); chatRoom.sendMessage("System", "Welcome to room: " + name); _chatRooms.put(name, chatRoom); + return chatRoom; } public ChatRoomMediator getChatRoom(String name) { diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/LotroServer.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/LotroServer.java index 549a7a275..dc4edbb1f 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/LotroServer.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/LotroServer.java @@ -1,6 +1,7 @@ package com.gempukku.lotro.game; import com.gempukku.lotro.AbstractServer; +import com.gempukku.lotro.chat.ChatRoomMediator; import com.gempukku.lotro.chat.ChatServer; import com.gempukku.lotro.common.CardType; import com.gempukku.lotro.common.Keyword; @@ -98,13 +99,15 @@ public class LotroServer extends AbstractServer { return "Game" + gameId; } - public synchronized String createNewGame(LotroFormat lotroFormat, LotroGameParticipant[] participants) { + public synchronized String createNewGame(LotroFormat lotroFormat, String formatName, LotroGameParticipant[] participants) { if (participants.length < 2) throw new IllegalArgumentException("There has to be at least two players"); final String gameId = String.valueOf(_nextGameId); String chatRoomName = getChatRoomName(gameId); - _chatServer.createChatRoom(chatRoomName); + ChatRoomMediator room = _chatServer.createChatRoom(chatRoomName); + room.sendMessage("System", "You're starting a game of " + formatName); + LotroGameMediator lotroGameMediator = new LotroGameMediator(lotroFormat, participants, _lotroCardBlueprintLibrary, new GameResultListener() { @Override diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/hall/HallServer.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/hall/HallServer.java index f16304a69..33f1a6c52 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/hall/HallServer.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/hall/HallServer.java @@ -138,7 +138,7 @@ public class HallServer extends AbstractServer { private void createGame(String tableId, AwaitingTable awaitingTable) { Set players = awaitingTable.getPlayers(); LotroGameParticipant[] participants = players.toArray(new LotroGameParticipant[players.size()]); - String gameId = _lotroServer.createNewGame(awaitingTable.getLotroFormat(), participants); + String gameId = _lotroServer.createNewGame(awaitingTable.getLotroFormat(), awaitingTable.getFormatName(), participants); LotroGameMediator lotroGameMediator = _lotroServer.getGameById(gameId); lotroGameMediator.startGame(); _runningTables.put(tableId, gameId); diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html b/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html index 9bf889c70..b27d5400b 100644 --- a/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html +++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html @@ -8,6 +8,8 @@ a site. - "Saruman, Rabble Rouser" now properly exerts itself for the ability. - Added multi-deck support (ugly but hopefully working). +- "We Are the Fighting Uruk-hai" correctly adds bonuses to the Uruk-hai. +- Liberating a site should no longer freeze the game. 23 Oct. 2011 - "Hornburg Causeway" now adds +2 to archery for each unbound companion over 3, instead of +1.