diff --git a/go.graphics.swing/src/main/java/go/graphics/swing/event/swingInterpreter/GOSwingEventConverter.java b/go.graphics.swing/src/main/java/go/graphics/swing/event/swingInterpreter/GOSwingEventConverter.java
index 7c1100970b..9c73659674 100644
--- a/go.graphics.swing/src/main/java/go/graphics/swing/event/swingInterpreter/GOSwingEventConverter.java
+++ b/go.graphics.swing/src/main/java/go/graphics/swing/event/swingInterpreter/GOSwingEventConverter.java
@@ -65,6 +65,8 @@ public class GOSwingEventConverter extends AbstractEventConverter
public GOSwingEventConverter(Component component, GOEventHandlerProvider provider) {
super(provider);
+ component.setFocusTraversalKeysEnabled(false);
+
component.addKeyListener(this);
component.addMouseListener(this);
component.addMouseMotionListener(this);
@@ -252,6 +254,9 @@ private String getKeyName(KeyEvent e) {
case KeyEvent.VK_BACK_SPACE:
text = "BACK_SPACE";
break;
+ case KeyEvent.VK_TAB:
+ text = "TAB";
+ break;
default:
text = "" + e.getKeyChar();
}
diff --git a/jsettlers.buildingcreator/src/main/java/jsettlers/buildingcreator/editor/map/PseudoBuilding.java b/jsettlers.buildingcreator/src/main/java/jsettlers/buildingcreator/editor/map/PseudoBuilding.java
index 0699050f77..dc290243f8 100644
--- a/jsettlers.buildingcreator/src/main/java/jsettlers/buildingcreator/editor/map/PseudoBuilding.java
+++ b/jsettlers.buildingcreator/src/main/java/jsettlers/buildingcreator/editor/map/PseudoBuilding.java
@@ -14,6 +14,9 @@
*******************************************************************************/
package jsettlers.buildingcreator.editor.map;
+import java.util.Collections;
+import java.util.List;
+
import jsettlers.common.buildings.EBuildingType;
import jsettlers.common.buildings.IBuilding;
import jsettlers.common.buildings.IBuildingMaterial;
@@ -24,9 +27,6 @@
import jsettlers.common.position.ShortPoint2D;
import jsettlers.common.selectable.ESelectionType;
-import java.util.Collections;
-import java.util.List;
-
public class PseudoBuilding implements IBuilding, IBuilding.IMill {
private final EBuildingType type;
private final ShortPoint2D pos;
@@ -61,6 +61,11 @@ public boolean isSelected() {
return false;
}
+ @Override
+ public boolean isWounded() {
+ return false;
+ }
+
@Override
public void setSelected(boolean b) {
}
diff --git a/jsettlers.common/src/main/java/jsettlers/common/action/EActionType.java b/jsettlers.common/src/main/java/jsettlers/common/action/EActionType.java
index 2f8e0d2751..4aafbd4fa2 100644
--- a/jsettlers.common/src/main/java/jsettlers/common/action/EActionType.java
+++ b/jsettlers.common/src/main/java/jsettlers/common/action/EActionType.java
@@ -1,5 +1,5 @@
-/*******************************************************************************
- * Copyright (c) 2015
+/*
+ * Copyright (c) 2015 - 2018
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
@@ -11,26 +11,26 @@
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
- *******************************************************************************/
+ */
package jsettlers.common.action;
/**
* This enum defines the type of the action.
- *
+ *
* @author Michael Zangl
* @author Andreas Eberle
*/
public enum EActionType {
/**
* Builds a building, the building has to be supplied by the action.
- *
+ *
* @see BuildAction
*/
BUILD,
/**
* Show or hide the construction marks.
- *
+ *
* @see ShowConstructionMarksAction
*/
SHOW_CONSTRUCTION_MARK,
@@ -42,18 +42,23 @@ public enum EActionType {
/**
* Select a point on the map.
- *
+ *
* @see PointAction
*/
SELECT_POINT,
/**
* Select all units of the type on that point that are around that point.
- *
+ *
* @see PointAction
*/
SELECT_POINT_TYPE,
+ /**
+ * Select only the wounded of the current selection.
+ */
+ FILTER_WOUNDED,
+
/**
* Skip the next minute of gameplay.
*/
@@ -98,14 +103,14 @@ public enum EActionType {
/**
* Request to set the working area of the building.
- *
+ *
* @see SelectAction
*/
SET_WORK_AREA,
/**
* Lets the settler move to a given point.
- *
+ *
* @see MoveToAction
*/
MOVE_TO,
@@ -122,7 +127,7 @@ public enum EActionType {
/**
* Selects an area of the screen.
- *
+ *
* @see SelectAreaAction
*/
SELECT_AREA,
@@ -134,7 +139,7 @@ public enum EActionType {
/**
* The screen changed.
- *
+ *
* @see ScreenChangeAction
*/
SCREEN_CHANGE,
@@ -146,7 +151,7 @@ public enum EActionType {
/**
* Changes the side panel content.
- *
+ *
* @see ChangePanelAction
*/
CHANGE_PANEL,
@@ -185,7 +190,7 @@ public enum EActionType {
/**
* used to convert any movable to another.
- *
+ *
* @see ConvertAction
*/
CONVERT,
@@ -241,21 +246,21 @@ public enum EActionType {
/**
* The user wants to set the priority of the building.
- *
+ *
* @see SetBuildingPriorityAction
*/
SET_BUILDING_PRIORITY,
/**
* The user wants to change the settings for the distribution of a material to the receiving buildings.
- *
+ *
* @see SetMaterialDistributionSettingsAction
*/
SET_MATERIAL_DISTRIBUTION_SETTINGS,
/**
* The user wants to change the order in which materials are served by bearers.
- *
+ *
* @see SetMaterialPrioritiesAction
*/
SET_MATERIAL_PRIORITIES,
@@ -271,21 +276,21 @@ public enum EActionType {
NEXT_OF_TYPE,
/**
* Request an upgrade of the soldiers.
- *
+ *
* @see UpgradeSoldiersAction
*/
UPGRADE_SOLDIERS,
/**
* Set the material production.
- *
+ *
* @see SetMaterialProductionAction
*/
SET_MATERIAL_PRODUCTION,
/**
* Sets if the material should be placed in stock or not.
- *
+ *
* @see SetMaterialShouldUseStockAction
*/
SET_MATERIAL_STOCK_ACCEPTED,
@@ -300,27 +305,27 @@ public enum EActionType {
SOLDIERS_ONE,
/**
* Add one more soldier of this type to the building.
- *
+ *
* @see SoldierAction
*/
SOLDIERS_MORE,
/**
* Add one more soldier of this type to the building.
- *
+ *
* @see SoldierAction
*/
SOLDIERS_LESS,
/**
* Ask the user to select a trading waypoint.
- *
+ *
* @see AskSetTradingWaypointAction
*/
ASK_SET_TRADING_WAYPOINT,
/**
* Set the trading waypoint for the current selection.
- *
+ *
* @see SetTradingWaypointAction
*/
SET_TRADING_WAYPOINT,
@@ -362,7 +367,7 @@ public enum EActionType {
/**
* Changes the amount of materials that should be traded from the current trading building.
- *
+ *
* @see ChangeTradingRequestAction
*/
CHANGE_TRADING_REQUEST
diff --git a/jsettlers.common/src/main/java/jsettlers/common/selectable/ISelectable.java b/jsettlers.common/src/main/java/jsettlers/common/selectable/ISelectable.java
index 20b01d6dd8..f558d76c83 100644
--- a/jsettlers.common/src/main/java/jsettlers/common/selectable/ISelectable.java
+++ b/jsettlers.common/src/main/java/jsettlers/common/selectable/ISelectable.java
@@ -46,4 +46,10 @@ public interface ISelectable extends IPlayerable{
* @return {@link ESelectionType}
*/
ESelectionType getSelectionType();
+
+ /**
+ * Returns whether this object is currently wounded.
+ * @return If it is wounded or not.
+ */
+ boolean isWounded();
}
diff --git a/jsettlers.graphics/src/main/java/jsettlers/graphics/map/MapContent.java b/jsettlers.graphics/src/main/java/jsettlers/graphics/map/MapContent.java
index 7934c7cbf1..d085b68fec 100644
--- a/jsettlers.graphics/src/main/java/jsettlers/graphics/map/MapContent.java
+++ b/jsettlers.graphics/src/main/java/jsettlers/graphics/map/MapContent.java
@@ -37,9 +37,17 @@
import go.graphics.sound.SoundPlayer;
import go.graphics.text.EFontSize;
import go.graphics.text.TextDrawer;
+
import jsettlers.common.Color;
import jsettlers.common.CommitInfo;
import jsettlers.common.CommonConstants;
+import jsettlers.common.action.Action;
+import jsettlers.common.action.EActionType;
+import jsettlers.common.action.IAction;
+import jsettlers.common.action.PointAction;
+import jsettlers.common.action.ScreenChangeAction;
+import jsettlers.common.action.SelectAreaAction;
+import jsettlers.common.action.ShowConstructionMarksAction;
import jsettlers.common.buildings.EBuildingType;
import jsettlers.common.buildings.IBuilding;
import jsettlers.common.images.AnimationSequence;
@@ -56,8 +64,6 @@
import jsettlers.common.menu.IMapInterfaceListener;
import jsettlers.common.menu.IStartedGame;
import jsettlers.common.menu.UIState;
-import jsettlers.common.action.EActionType;
-import jsettlers.common.action.IAction;
import jsettlers.common.menu.messages.IMessage;
import jsettlers.common.movable.IMovable;
import jsettlers.common.position.FloatRectangle;
@@ -65,14 +71,9 @@
import jsettlers.common.selectable.ISelectionSet;
import jsettlers.common.statistics.FramerateComputer;
import jsettlers.common.statistics.IGameTimeProvider;
-import jsettlers.common.action.Action;
import jsettlers.graphics.action.ActionFireable;
import jsettlers.graphics.action.ActionHandler;
import jsettlers.graphics.action.ActionThreadBlockingListener;
-import jsettlers.common.action.PointAction;
-import jsettlers.common.action.ScreenChangeAction;
-import jsettlers.common.action.SelectAreaAction;
-import jsettlers.common.action.ShowConstructionMarksAction;
import jsettlers.graphics.font.FontDrawerFactory;
import jsettlers.graphics.localization.Labels;
import jsettlers.graphics.map.controls.IControls;
@@ -769,6 +770,8 @@ private static Action getActionForKeyboard(String keyCode) {
return new Action(EActionType.ZOOM_OUT);
} else if ("F2".equalsIgnoreCase(keyCode)) {
return new Action(EActionType.SAVE);
+ } else if ("TAB".equalsIgnoreCase(keyCode)) {
+ return new Action(EActionType.FILTER_WOUNDED);
} else if ("DELETE".equalsIgnoreCase(keyCode)) {
return new Action(EActionType.DESTROY);
} else if ("ESCAPE".equalsIgnoreCase(keyCode)) {
diff --git a/jsettlers.graphics/src/main/java/jsettlers/graphics/map/MapDrawContext.java b/jsettlers.graphics/src/main/java/jsettlers/graphics/map/MapDrawContext.java
index c945460893..61ab436802 100644
--- a/jsettlers.graphics/src/main/java/jsettlers/graphics/map/MapDrawContext.java
+++ b/jsettlers.graphics/src/main/java/jsettlers/graphics/map/MapDrawContext.java
@@ -17,6 +17,7 @@
import java.util.Iterator;
import go.graphics.GLDrawContext;
+
import jsettlers.common.Color;
import jsettlers.common.landscape.ELandscapeType;
import jsettlers.common.map.IDirectGridProvider;
@@ -211,6 +212,7 @@ private ShortPoint2D getPositionUnder(float screenX, float screenY) {
height = map.getHeightAt(mapX, mapY);
mapX = (int) (getConverter().getExactMapXwithHeight(screenX, screenY, height) + 0.5);
mapY = (int) (getConverter().getExactMapYwithHeight(screenX, screenY, height) + 0.5);
+
return new ShortPoint2D(mapX, mapY);
}
diff --git a/jsettlers.graphics/src/main/java/jsettlers/graphics/map/PlacementBuilding.java b/jsettlers.graphics/src/main/java/jsettlers/graphics/map/PlacementBuilding.java
index 0e7e5e12b2..3297388ec4 100644
--- a/jsettlers.graphics/src/main/java/jsettlers/graphics/map/PlacementBuilding.java
+++ b/jsettlers.graphics/src/main/java/jsettlers/graphics/map/PlacementBuilding.java
@@ -72,6 +72,11 @@ public boolean isSelected() {
return false;
}
+ @Override
+ public boolean isWounded() {
+ return false;
+ }
+
@Override
public IMapObject getNextObject() {
return null;
diff --git a/jsettlers.logic/src/main/java/jsettlers/input/GuiInterface.java b/jsettlers.logic/src/main/java/jsettlers/input/GuiInterface.java
index 3f26b95906..944e1e761a 100644
--- a/jsettlers.logic/src/main/java/jsettlers/input/GuiInterface.java
+++ b/jsettlers.logic/src/main/java/jsettlers/input/GuiInterface.java
@@ -24,6 +24,7 @@
import java8.util.Optional;
import java8.util.function.BiFunction;
import java8.util.function.Predicate;
+import java8.util.stream.Collectors;
import jsettlers.algorithms.construction.ConstructionMarksThread;
import jsettlers.common.action.BuildAction;
import jsettlers.common.action.ChangeTradingRequestAction;
@@ -212,6 +213,10 @@ public void action(IAction action) {
handleSelectPointAction((PointAction) action);
break;
+ case FILTER_WOUNDED:
+ filterWounded();
+ break;
+
case SELECT_AREA:
selectArea((SelectAreaAction) action);
break;
@@ -334,7 +339,7 @@ public void action(IAction action) {
if (selected instanceof Building) {
final ChangeTradingRequestAction a = (ChangeTradingRequestAction) action;
scheduleTask(new ChangeTradingRequestGuiTask(EGuiAction.CHANGE_TRADING, playerId, ((Building) selected).getPosition(), a.getMaterial(),
- a.getAmount(), a.isRelative()
+ a.getAmount(), a.isRelative()
));
}
break;
@@ -345,7 +350,7 @@ public void action(IAction action) {
if (selected instanceof Building) {
final SetTradingWaypointAction a = (SetTradingWaypointAction) action;
scheduleTask(new SetTradingWaypointGuiTask(EGuiAction.SET_TRADING_WAYPOINT, playerId, ((Building) selected).getPosition(),
- a.getWaypointType(), a.getPosition()
+ a.getWaypointType(), a.getPosition()
));
}
break;
@@ -608,6 +613,15 @@ private boolean canSelectPlayer(byte playerIdOfSelected) {
return MatchConstants.ENABLE_ALL_PLAYER_SELECTION || playerIdOfSelected == playerId;
}
+ private void filterWounded() {
+ if (currentSelection.getSelectionType() == ESelectionType.BUILDING) {
+ return;
+ }
+
+ final List wounded = currentSelection.stream().filter(ISelectable::isWounded).collect(Collectors.toList());
+ setSelection(new SelectionSet(wounded));
+ }
+
private void deselect() {
setSelection(new SelectionSet());
}
@@ -625,7 +639,6 @@ private void handleSelectPointAction(PointAction action) {
} else {
setSelection(new SelectionSet());
}
-
}
private void scheduleTask(SimpleGuiTask guiTask) {
diff --git a/jsettlers.logic/src/main/java/jsettlers/logic/buildings/Building.java b/jsettlers.logic/src/main/java/jsettlers/logic/buildings/Building.java
index ac606f55da..281283b359 100644
--- a/jsettlers.logic/src/main/java/jsettlers/logic/buildings/Building.java
+++ b/jsettlers.logic/src/main/java/jsettlers/logic/buildings/Building.java
@@ -14,6 +14,16 @@
*******************************************************************************/
package jsettlers.logic.buildings;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.concurrent.ConcurrentLinkedQueue;
+
import jsettlers.algorithms.fogofwar.IViewDistancable;
import jsettlers.common.buildings.EBuildingType;
import jsettlers.common.buildings.IBuilding;
@@ -57,16 +67,6 @@
import jsettlers.logic.timer.IScheduledTimerable;
import jsettlers.logic.timer.RescheduleTimer;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.concurrent.ConcurrentLinkedQueue;
-
public abstract class Building extends AbstractHexMapObject implements IConstructableBuilding, IPlayerable, IBuilding, IScheduledTimerable,
IDebugable, IDiggerRequester, IViewDistancable {
private static final long serialVersionUID = 4379555028512391595L;
@@ -426,6 +426,11 @@ public boolean isSelected() {
return this.selected;
}
+ @Override
+ public boolean isWounded() {
+ return false;
+ }
+
@Override
public void setSelected(boolean selected) {
this.selected = selected;
diff --git a/jsettlers.logic/src/main/java/jsettlers/logic/movable/Movable.java b/jsettlers.logic/src/main/java/jsettlers/logic/movable/Movable.java
index 484e242fb7..accd4d725f 100644
--- a/jsettlers.logic/src/main/java/jsettlers/logic/movable/Movable.java
+++ b/jsettlers.logic/src/main/java/jsettlers/logic/movable/Movable.java
@@ -17,6 +17,7 @@
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
+import java.io.Serializable;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
@@ -53,6 +54,8 @@
* @author Andreas Eberle
*/
public final class Movable implements ILogicMovable {
+ private static final long serialVersionUID = -705947810059935865L;
+
private static final int SHIP_PUSH_DISTANCE = 10;
private static final HashMap movablesByID = new HashMap<>();
@@ -845,6 +848,11 @@ public final boolean isSelected() {
return selected;
}
+ @Override
+ public final boolean isWounded() {
+ return health < movableType.health;
+ }
+
@Override
public final void setSelected(boolean selected) {
this.selected = selected;
@@ -862,7 +870,7 @@ public EBuildingType getGarrisonedBuildingType() {
@Override
public final ESelectionType getSelectionType() {
- return movableType.getSelectionType();
+ return movableType.selectionType;
}
@Override
diff --git a/jsettlers.mapcreator/src/main/java/jsettlers/mapcreator/data/objects/BuildingContainer.java b/jsettlers.mapcreator/src/main/java/jsettlers/mapcreator/data/objects/BuildingContainer.java
index 4178602a7f..4723a8d066 100644
--- a/jsettlers.mapcreator/src/main/java/jsettlers/mapcreator/data/objects/BuildingContainer.java
+++ b/jsettlers.mapcreator/src/main/java/jsettlers/mapcreator/data/objects/BuildingContainer.java
@@ -82,6 +82,11 @@ public boolean isSelected() {
return false;
}
+ @Override
+ public boolean isWounded() {
+ return false;
+ }
+
@Override
public void setSelected(boolean selected) {
}
diff --git a/jsettlers.mapcreator/src/main/java/jsettlers/mapcreator/data/objects/MovableObjectContainer.java b/jsettlers.mapcreator/src/main/java/jsettlers/mapcreator/data/objects/MovableObjectContainer.java
index 8d7b8cb629..abb1f71c40 100644
--- a/jsettlers.mapcreator/src/main/java/jsettlers/mapcreator/data/objects/MovableObjectContainer.java
+++ b/jsettlers.mapcreator/src/main/java/jsettlers/mapcreator/data/objects/MovableObjectContainer.java
@@ -14,6 +14,9 @@
*******************************************************************************/
package jsettlers.mapcreator.data.objects;
+import java.util.Collections;
+import java.util.List;
+
import jsettlers.common.buildings.EBuildingType;
import jsettlers.common.material.EMaterialType;
import jsettlers.common.movable.EDirection;
@@ -27,10 +30,6 @@
import jsettlers.logic.map.loading.data.objects.MapDataObject;
import jsettlers.logic.map.loading.data.objects.MovableObject;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
public class MovableObjectContainer implements ObjectContainer, IMovable {
private final MovableObject movableObject;
@@ -58,6 +57,11 @@ public boolean isSelected() {
return false;
}
+ @Override
+ public boolean isWounded() {
+ return false;
+ }
+
@Override
public void setSelected(boolean selected) {
}
diff --git a/jsettlers.testutils/src/main/java/jsettlers/testutils/map/DebugOutputStream.java b/jsettlers.testutils/src/main/java/jsettlers/testutils/map/DebugOutputStream.java
index 1ad06e00fb..b537a77164 100644
--- a/jsettlers.testutils/src/main/java/jsettlers/testutils/map/DebugOutputStream.java
+++ b/jsettlers.testutils/src/main/java/jsettlers/testutils/map/DebugOutputStream.java
@@ -15,7 +15,7 @@ public DebugOutputStream(OutputStream outputStream) {
@Override
public void write(int b) throws IOException {
byteCounter++;
- if (byteCounter == 492368) {
+ if (byteCounter == 2136387) {
System.out.println();
}
outputStream.write(b);
diff --git a/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-0m.zmap b/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-0m.zmap
index 8e167cb44c..1e85f38c76 100644
Binary files a/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-0m.zmap and b/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-0m.zmap differ
diff --git a/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-10m.zmap b/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-10m.zmap
index 4f6bb5497b..42a8729a02 100644
Binary files a/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-10m.zmap and b/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-10m.zmap differ
diff --git a/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-20m.zmap b/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-20m.zmap
index 50dfa6266c..1213a5adb5 100644
Binary files a/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-20m.zmap and b/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-20m.zmap differ
diff --git a/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-40m.zmap b/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-40m.zmap
index 9b2f12b279..14e28d375c 100644
Binary files a/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-40m.zmap and b/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-40m.zmap differ
diff --git a/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-65m.zmap b/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-65m.zmap
index 1cd8959994..65c416c9f7 100644
Binary files a/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-65m.zmap and b/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-65m.zmap differ
diff --git a/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-90m.zmap b/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-90m.zmap
index 8a49824f39..c58a71f456 100644
Binary files a/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-90m.zmap and b/jsettlers.testutils/src/main/resources/jsettlers/integration/replay/fullproduction/savegame-90m.zmap differ
diff --git a/jsettlers.tools/src/main/java/jsettlers/graphics/test/TestBuilding.java b/jsettlers.tools/src/main/java/jsettlers/graphics/test/TestBuilding.java
index f85f925c80..d152d68dbd 100644
--- a/jsettlers.tools/src/main/java/jsettlers/graphics/test/TestBuilding.java
+++ b/jsettlers.tools/src/main/java/jsettlers/graphics/test/TestBuilding.java
@@ -68,6 +68,11 @@ public boolean isSelected() {
return false;
}
+ @Override
+ public boolean isWounded() {
+ return false;
+ }
+
@Override
public void setSelected(boolean b) {
diff --git a/jsettlers.tools/src/main/java/jsettlers/graphics/test/TestSettler.java b/jsettlers.tools/src/main/java/jsettlers/graphics/test/TestSettler.java
index 2b30bf86fb..6bfa94fe72 100644
--- a/jsettlers.tools/src/main/java/jsettlers/graphics/test/TestSettler.java
+++ b/jsettlers.tools/src/main/java/jsettlers/graphics/test/TestSettler.java
@@ -100,6 +100,11 @@ public boolean isSelected() {
return false;
}
+ @Override
+ public boolean isWounded() {
+ return false;
+ }
+
@Override
public void setSelected(boolean b) {
}