From: "Enrico Weigelt, metux IT consult" <enrico.weig...@gr13.net>
--- .../freecol/client/control/InGameController.java | 10 +- .../client/gui/dialog/DifficultyDialog.java | 2 +- .../client/gui/dialog/GameOptionsDialog.java | 2 +- .../gui/dialog/MapGeneratorOptionsDialog.java | 2 +- src/net/sf/freecol/common/model/Colony.java | 4 +- .../sf/freecol/common/model/LostCityRumour.java | 2 +- src/net/sf/freecol/common/model/Market.java | 8 +- src/net/sf/freecol/common/model/Player.java | 2 +- .../common/networking/ServerListMessage.java | 2 +- .../freecol/server/control/InGameController.java | 92 ++--- .../sf/freecol/server/model/ServerBuilding.java | 16 +- src/net/sf/freecol/server/model/ServerColony.java | 74 ++-- .../sf/freecol/server/model/ServerColonyTile.java | 4 +- src/net/sf/freecol/server/model/ServerGame.java | 12 +- .../server/model/ServerIndianSettlement.java | 10 +- src/net/sf/freecol/server/model/ServerPlayer.java | 424 ++++++++++----------- src/net/sf/freecol/server/model/ServerUnit.java | 50 +-- 17 files changed, 358 insertions(+), 358 deletions(-) diff --git a/src/net/sf/freecol/client/control/InGameController.java b/src/net/sf/freecol/client/control/InGameController.java index 9fa126560c0..de616004cb9 100644 --- a/src/net/sf/freecol/client/control/InGameController.java +++ b/src/net/sf/freecol/client/control/InGameController.java @@ -3876,9 +3876,9 @@ public final class InGameController extends FreeColClientHolder { .getAccelerator()); player.addModelMessage(new ModelMessage(ModelMessage.MessageType.TUTORIAL, "buildColony.tutorial", player) - .addName("%colonyKey%", key) - .add("%colonyMenuItem%", "buildColonyAction.name") - .add("%ordersMenuItem%", "menuBar.orders")); + .<ModelMessage>addName("%colonyKey%", key) + .<ModelMessage>add("%colonyMenuItem%", "buildColonyAction.name") + .<ModelMessage>add("%ordersMenuItem%", "menuBar.orders")); displayModelMessages(false); return true; } @@ -4141,8 +4141,8 @@ public final class InGameController extends FreeColClientHolder { if (currTurn.isFirstSeasonTurn()) { player.addModelMessage(new ModelMessage(MessageType.WARNING, "twoTurnsPerYear", player) - .addStringTemplate("%year%", currTurn.getLabel()) - .addAmount("%amount%", currTurn.getSeasonNumber())); + .<ModelMessage>addStringTemplate("%year%", currTurn.getLabel()) + .<ModelMessage>addAmount("%amount%", currTurn.getSeasonNumber())); } player.clearNationCache(); return true; diff --git a/src/net/sf/freecol/client/gui/dialog/DifficultyDialog.java b/src/net/sf/freecol/client/gui/dialog/DifficultyDialog.java index 3e8d25ee036..16ae809a026 100644 --- a/src/net/sf/freecol/client/gui/dialog/DifficultyDialog.java +++ b/src/net/sf/freecol/client/gui/dialog/DifficultyDialog.java @@ -103,7 +103,7 @@ public final class DifficultyDialog extends OptionsDialog this.panel.add(loadButton); this.panel.add(saveButton); } - initialize(frame, choices()); + initialize(frame, this.<OptionGroup>choices()); } diff --git a/src/net/sf/freecol/client/gui/dialog/GameOptionsDialog.java b/src/net/sf/freecol/client/gui/dialog/GameOptionsDialog.java index c650ece52c4..a097f1369c3 100644 --- a/src/net/sf/freecol/client/gui/dialog/GameOptionsDialog.java +++ b/src/net/sf/freecol/client/gui/dialog/GameOptionsDialog.java @@ -63,7 +63,7 @@ public final class GameOptionsDialog extends OptionsDialog { } } - initialize(frame, choices()); + initialize(frame, this.<OptionGroup>choices()); } diff --git a/src/net/sf/freecol/client/gui/dialog/MapGeneratorOptionsDialog.java b/src/net/sf/freecol/client/gui/dialog/MapGeneratorOptionsDialog.java index 1f21e36515c..d5ac216092f 100644 --- a/src/net/sf/freecol/client/gui/dialog/MapGeneratorOptionsDialog.java +++ b/src/net/sf/freecol/client/gui/dialog/MapGeneratorOptionsDialog.java @@ -108,7 +108,7 @@ public final class MapGeneratorOptionsDialog extends OptionsDialog { panel.add(scrollPane); } } - initialize(frame, choices()); + initialize(frame, this.<OptionGroup>choices()); } /** diff --git a/src/net/sf/freecol/common/model/Colony.java b/src/net/sf/freecol/common/model/Colony.java index 83491089da1..ab20c99ea80 100644 --- a/src/net/sf/freecol/common/model/Colony.java +++ b/src/net/sf/freecol/common/model/Colony.java @@ -1595,8 +1595,8 @@ public class Colony extends Settlement implements Nameable, TradeLocation { GoodsType bells = getSpecification().getGoodsType("model.goods.bells"); return (msgId == null) ? null : new ModelMessage(msgType, msgId, this, bells) - .addName("%colony%", getName()) - .addAmount("%number%", number); + .<ModelMessage>addName("%colony%", getName()) + .<ModelMessage>addAmount("%number%", number); } /** diff --git a/src/net/sf/freecol/common/model/LostCityRumour.java b/src/net/sf/freecol/common/model/LostCityRumour.java index 48ef7947e20..9c22b6f2054 100644 --- a/src/net/sf/freecol/common/model/LostCityRumour.java +++ b/src/net/sf/freecol/common/model/LostCityRumour.java @@ -282,7 +282,7 @@ public class LostCityRumour extends TileItem { ? new ModelMessage(ModelMessage.MessageType.LOST_CITY_RUMOUR, RumourType.NOTHING.getAlternateDescriptionKey("mayans"), player) - .addAmount("%years%", + .<ModelMessage>addAmount("%years%", MAYAN_PROPHESY_YEAR - game.getTurn().getYear()) : new ModelMessage(ModelMessage.MessageType.LOST_CITY_RUMOUR, NameCache.getRumourNothingKey(random), diff --git a/src/net/sf/freecol/common/model/Market.java b/src/net/sf/freecol/common/model/Market.java index d9c7e8d92b3..87f10f1bc46 100644 --- a/src/net/sf/freecol/common/model/Market.java +++ b/src/net/sf/freecol/common/model/Market.java @@ -399,10 +399,10 @@ public final class Market extends FreeColGameObject implements Ownable { ? "model.market.priceIncrease" : "model.market.priceDecrease"), this, goodsType) - .addStringTemplate("%market%", owner.getMarketName()) - .addNamed("%goods%", goodsType) - .addAmount("%buy%", newPrice) - .addAmount("%sell%", data.getPaidForSale()); + .<ModelMessage>addStringTemplate("%market%", owner.getMarketName()) + .<ModelMessage>addNamed("%goods%", goodsType) + .<ModelMessage>addAmount("%buy%", newPrice) + .<ModelMessage>addAmount("%sell%", data.getPaidForSale()); } /** diff --git a/src/net/sf/freecol/common/model/Player.java b/src/net/sf/freecol/common/model/Player.java index 8de2ccc2d03..4e63f0f2b91 100644 --- a/src/net/sf/freecol/common/model/Player.java +++ b/src/net/sf/freecol/common/model/Player.java @@ -2703,7 +2703,7 @@ public class Player extends FreeColGameObject implements Nameable { : "west"; addModelMessage(new ModelMessage(ModelMessage.MessageType.TUTORIAL, "model.player.startGame", this) - .addTagged("%direction%", sailTag)); + .<ModelMessage>addTagged("%direction%", sailTag)); } /** diff --git a/src/net/sf/freecol/common/networking/ServerListMessage.java b/src/net/sf/freecol/common/networking/ServerListMessage.java index 84fe010a70d..1a3d7b2a726 100644 --- a/src/net/sf/freecol/common/networking/ServerListMessage.java +++ b/src/net/sf/freecol/common/networking/ServerListMessage.java @@ -102,7 +102,7 @@ public class ServerListMessage extends DOMMessage { @Override public Element toXMLElement() { return new DOMMessage(TAG) - .addMessages(transform(this.servers, alwaysTrue(), + .<DOMMessage>addMessages(transform(this.servers, alwaysTrue(), si -> new RegisterServerMessage(si))) .toXMLElement(); } diff --git a/src/net/sf/freecol/server/control/InGameController.java b/src/net/sf/freecol/server/control/InGameController.java index f9b360ad11e..8a015b5d744 100644 --- a/src/net/sf/freecol/server/control/InGameController.java +++ b/src/net/sf/freecol/server/control/InGameController.java @@ -321,8 +321,8 @@ public final class InGameController extends Controller { cs.addGlobalMessage(game, null, new ModelMessage(MessageType.DEFAULT, "model.disaster.strikes", owner) - .addName("%colony%", colony.getName()) - .addName("%disaster%", disaster)); + .<ModelMessage>addName("%colony%", colony.getName()) + .<ModelMessage>addName("%disaster%", disaster)); for (ModelMessage message : messages) { cs.addGlobalMessage(game, null, message); } @@ -581,7 +581,7 @@ public final class InGameController extends Controller { cs.addMessage(independent, new ModelMessage(MessageType.FOREIGN_DIPLOMACY, "giveIndependence.announce", independent) - .addStringTemplate("%ref%", serverPlayer.getNationLabel())); + .<ModelMessage>addStringTemplate("%ref%", serverPlayer.getNationLabel())); // Who surrenders? final Predicate<Unit> surrenderPred = u -> //-vis(both) @@ -599,7 +599,7 @@ public final class InGameController extends Controller { cs.addMessage(independent, new ModelMessage(MessageType.FOREIGN_DIPLOMACY, "giveIndependence.unitsAcquired", independent) - .addStringTemplate("%units%", + .<ModelMessage>addStringTemplate("%units%", unitTemplate(", ", surrenderUnits))); independent.invalidateCanSeeTiles();//+vis(independent) serverPlayer.invalidateCanSeeTiles();//+vis(serverPlayer) @@ -611,8 +611,8 @@ public final class InGameController extends Controller { cs.addGlobalMessage(game, independent, new ModelMessage(MessageType.FOREIGN_DIPLOMACY, "giveIndependence.otherAnnounce", independent) - .addStringTemplate("%nation%", independent.getNationLabel()) - .addStringTemplate("%ref%", serverPlayer.getNationLabel())); + .<ModelMessage>addStringTemplate("%nation%", independent.getNationLabel()) + .<ModelMessage>addStringTemplate("%ref%", serverPlayer.getNationLabel())); cs.add(See.only(independent), independent); // Reveal the map on independence. @@ -819,7 +819,7 @@ public final class InGameController extends Controller { cs.addHistory(serverPlayer, new HistoryEvent(getGame().getTurn(), HistoryEvent.HistoryEventType.ABANDON_COLONY, serverPlayer) - .addName("%colony%", settlement.getName())); + .<HistoryEvent>addName("%colony%", settlement.getName())); } // Comprehensive dispose. @@ -958,7 +958,7 @@ public final class InGameController extends Controller { cs.addHistory(serverPlayer, new HistoryEvent(game.getTurn(), HistoryEvent.HistoryEventType.FOUND_COLONY, serverPlayer) - .addName("%colony%", settlement.getName())); + .<HistoryEvent>addName("%colony%", settlement.getName())); // Remove equipment from founder in case role confuses // placement. @@ -972,10 +972,10 @@ public final class InGameController extends Controller { cs.addMessage(sp, new ModelMessage(MessageType.FOREIGN_DIPLOMACY, "buildColony.others", settlement) - .addStringTemplate("%nation%", nation) - .addStringTemplate("%colony%", + .<ModelMessage>addStringTemplate("%nation%", nation) + .<ModelMessage>addStringTemplate("%colony%", settlement.getLocationLabelFor(sp)) - .addStringTemplate("%region%", + .<ModelMessage>addStringTemplate("%region%", tile.getRegion().getLabel())); } } else { @@ -1086,8 +1086,8 @@ public final class InGameController extends Controller { cs.addMessage(serverPlayer, new ModelMessage(MessageType.FOREIGN_DIPLOMACY, messageId, serverPlayer, unit) - .addAmount("%amount%", fullAmount) - .addAmount("%cashInAmount%", cashInAmount)); + .<ModelMessage>addAmount("%amount%", fullAmount) + .<ModelMessage>addAmount("%cashInAmount%", cashInAmount)); messageId = (serverPlayer.isRebel() || serverPlayer.getPlayerType() == PlayerType.INDEPENDENT) ? "cashInTreasureTrain.otherIndependent" @@ -1095,8 +1095,8 @@ public final class InGameController extends Controller { cs.addGlobalMessage(game, serverPlayer, new ModelMessage(MessageType.FOREIGN_DIPLOMACY, messageId, serverPlayer) - .addAmount("%amount%", fullAmount) - .addStringTemplate("%nation%", serverPlayer.getNationLabel())); + .<ModelMessage>addAmount("%amount%", fullAmount) + .<ModelMessage>addStringTemplate("%nation%", serverPlayer.getNationLabel())); // Dispose of the unit, only visible to the owner. cs.add(See.only(serverPlayer), (FreeColGameObject)unit.getLocation()); @@ -1392,7 +1392,7 @@ public final class InGameController extends Controller { new ModelMessage(MessageType.UNIT_LOST, "declareIndependence.unitsSeized", serverPlayer) - .addStringTemplate("%units%", seized)); + .<ModelMessage>addStringTemplate("%units%", seized)); } serverPlayer.csLoseLocation(europe, cs); @@ -1407,8 +1407,8 @@ public final class InGameController extends Controller { new ModelMessage(MessageType.FOREIGN_DIPLOMACY, "declareIndependence.interventionForce", serverPlayer) - .add("%nation%", otherKey) - .addAmount("%number%", + .<ModelMessage>add("%nation%", otherKey) + .<ModelMessage>addAmount("%number%", spec.getInteger(GameOptions.INTERVENTION_BELLS))); serverPlayer.csChangeStance(Stance.WAR, refPlayer, true, cs); @@ -1441,10 +1441,10 @@ public final class InGameController extends Controller { new ModelMessage(MessageType.UNIT_IMPROVED, "declareIndependence.continentalArmyMuster", serverPlayer, colony) - .addName("%colony%", colony.getName()) - .addAmount("%number%", n) - .addNamed("%oldUnit%", fromType) - .addNamed("%unit%", toType)); + .<ModelMessage>addName("%colony%", colony.getName()) + .<ModelMessage>addAmount("%number%", n) + .<ModelMessage>addNamed("%oldUnit%", fromType) + .<ModelMessage>addNamed("%unit%", toType)); limit -= n; } } @@ -1464,8 +1464,8 @@ public final class InGameController extends Controller { cs.addMessage(serverPlayer, new ModelMessage(MessageType.FOREIGN_DIPLOMACY, "declareIndependence.nativeSupport", good) - .addStringTemplate("%nation%", good.getNationLabel()) - .add("%ruler%", serverPlayer.getRulerNameKey())); + .<ModelMessage>addStringTemplate("%nation%", good.getNationLabel()) + .<ModelMessage>add("%ruler%", serverPlayer.getRulerNameKey())); int delta; switch (good.getStance(serverPlayer)) { case ALLIANCE: case PEACE: default: @@ -1507,7 +1507,7 @@ public final class InGameController extends Controller { cs.addMessage(serverPlayer, new ModelMessage(MessageType.FOREIGN_DIPLOMACY, "declareIndependence.nativeHostile", bad) - .addStringTemplate("%nation%", bad.getNationLabel())); + .<ModelMessage>addStringTemplate("%nation%", bad.getNationLabel())); if (delta != 0) bad.csModifyTension(serverPlayer, delta, cs); Player.makeContact(bad, refPlayer); bad.csModifyTension(refPlayer, @@ -1532,9 +1532,9 @@ public final class InGameController extends Controller { new ModelMessage(MessageType.FOREIGN_DIPLOMACY, "declareIndependence.announce", serverPlayer) - .addStringTemplate("%oldNation%", oldNation) - .addStringTemplate("%newNation%", serverPlayer.getNationLabel()) - .add("%ruler%", serverPlayer.getRulerNameKey())); + .<ModelMessage>addStringTemplate("%oldNation%", oldNation) + .<ModelMessage>addStringTemplate("%newNation%", serverPlayer.getNationLabel()) + .<ModelMessage>add("%ruler%", serverPlayer.getRulerNameKey())); cs.add(See.only(serverPlayer), serverPlayer); serverPlayer.invalidateCanSeeTiles();//+vis(serverPlayer) @@ -1629,10 +1629,10 @@ public final class InGameController extends Controller { ModelMessage m = new ModelMessage(MessageType.GIFT_GOODS, "deliverGift.goods", settlement, goods.getType()) - .addStringTemplate("%player%", serverPlayer.getNationLabel()) - .addNamed("%type%", goods) - .addAmount("%amount%", goods.getAmount()) - .addName("%settlement%", settlement.getName()); + .<ModelMessage>addStringTemplate("%player%", serverPlayer.getNationLabel()) + .<ModelMessage>addNamed("%type%", goods) + .<ModelMessage>addAmount("%amount%", goods.getAmount()) + .<ModelMessage>addName("%settlement%", settlement.getName()); cs.addMessage(serverPlayer, m); ServerPlayer receiver = (ServerPlayer) settlement.getOwner(); if (receiver.isConnected() && settlement instanceof Colony) { @@ -1701,7 +1701,7 @@ public final class InGameController extends Controller { m = new ModelMessage(MessageType.FOREIGN_DIPLOMACY, "scoutSettlement.tributeAgree", unit, is) - .addAmount("%amount%", gold); + .<ModelMessage>addAmount("%amount%", gold); } else { m = new ModelMessage(MessageType.FOREIGN_DIPLOMACY, "scoutSettlement.tributeDisagree", @@ -1759,15 +1759,15 @@ public final class InGameController extends Controller { new ModelMessage(MessageType.FOREIGN_DIPLOMACY, "indianSettlement.mission.noDenounce", serverPlayer, unit) - .addStringTemplate("%nation%", owner.getNationLabel())); + .<ModelMessage>addStringTemplate("%nation%", owner.getNationLabel())); cs.addMessage(enemy, new ModelMessage(MessageType.FOREIGN_DIPLOMACY, "indianSettlement.mission.enemyDenounce", enemy, is) - .addStringTemplate("%enemy%", serverPlayer.getNationLabel()) - .addStringTemplate("%settlement%", + .<ModelMessage>addStringTemplate("%enemy%", serverPlayer.getNationLabel()) + .<ModelMessage>addStringTemplate("%settlement%", is.getLocationLabelFor(enemy)) - .addStringTemplate("%nation%", owner.getNationLabel())); + .<ModelMessage>addStringTemplate("%nation%", owner.getNationLabel())); cs.add(See.perhaps().always(serverPlayer), (FreeColGameObject)unit.getLocation()); cs.addRemove(See.perhaps().always(serverPlayer), @@ -2287,7 +2287,7 @@ public final class InGameController extends Controller { new ModelMessage(MessageType.FOREIGN_DIPLOMACY, "indianSettlement.mission." + tension.getKey(), serverPlayer, unit) - .addStringTemplate("%nation%", nation)); + .<ModelMessage>addStringTemplate("%nation%", nation)); // Others can see missionary disappear and settlement acquire // mission. @@ -2391,9 +2391,9 @@ public final class InGameController extends Controller { new ModelMessage(MessageType.FOREIGN_DIPLOMACY, "missionarySettlement.inciteGoldFail", serverPlayer, is) - .addStringTemplate("%player%", + .<ModelMessage>addStringTemplate("%player%", enemyPlayer.getNationLabel()) - .addAmount("%amount%", goldToPay)); + .<ModelMessage>addAmount("%amount%", goldToPay)); cs.addAttribute(See.only(serverPlayer), "gold", "0"); unit.setMovesLeft(0); cs.addPartial(See.only(serverPlayer), unit, "movesLeft"); @@ -2413,8 +2413,8 @@ public final class InGameController extends Controller { new ModelMessage(MessageType.FOREIGN_DIPLOMACY, "missionarySettlement.inciteSuccess", nativePlayer) - .addStringTemplate("%native%", nativePlayer.getNationLabel()) - .addStringTemplate("%enemy%", enemy.getNationLabel())); + .<ModelMessage>addStringTemplate("%native%", nativePlayer.getNationLabel()) + .<ModelMessage>addStringTemplate("%enemy%", enemy.getNationLabel())); cs.addPartial(See.only(serverPlayer), serverPlayer, "gold"); unit.setMovesLeft(0); cs.addPartial(See.only(serverPlayer), unit, "movesLeft"); @@ -2903,10 +2903,10 @@ public final class InGameController extends Controller { ModelMessage m = new ModelMessage(MessageType.GIFT_GOODS, "deliverGift.goods", colony, goods.getType()) - .addStringTemplate("%player%", serverPlayer.getNationLabel()) - .addNamed("%type%", goods) - .addAmount("%amount%", goods.getAmount()) - .addName("%settlement%", colony.getName()); + .<ModelMessage>addStringTemplate("%player%", serverPlayer.getNationLabel()) + .<ModelMessage>addNamed("%type%", goods) + .<ModelMessage>addAmount("%amount%", goods.getAmount()) + .<ModelMessage>addName("%settlement%", colony.getName()); cs.addMessage(otherPlayer, m); cs.add(See.only(otherPlayer), colony); logger.info("Gift delivered by unit: " + unit.getId() diff --git a/src/net/sf/freecol/server/model/ServerBuilding.java b/src/net/sf/freecol/server/model/ServerBuilding.java index f9b2419a8fb..61e3024950e 100644 --- a/src/net/sf/freecol/server/model/ServerBuilding.java +++ b/src/net/sf/freecol/server/model/ServerBuilding.java @@ -154,9 +154,9 @@ public class ServerBuilding extends Building implements ServerModelObject { new ModelMessage(ModelMessage.MessageType.UNIT_IMPROVED, "model.building.unitEducated", getColony(), this) - .addStringTemplate("%oldName%", oldName) - .addStringTemplate("%unit%", newName) - .addName("%colony%", getColony().getName())); + .<ModelMessage>addStringTemplate("%oldName%", oldName) + .<ModelMessage>addStringTemplate("%unit%", newName) + .<ModelMessage>addName("%colony%", getColony().getName())); } student.setTurnsOfTraining(0); student.setMovesLeft(0); @@ -184,8 +184,8 @@ public class ServerBuilding extends Building implements ServerModelObject { cs.addMessage(owner, new ModelMessage(ModelMessage.MessageType.WARNING, "model.building.noStudent", colony, teacher) - .addStringTemplate("%teacher%", teacher.getLabel()) - .addName("%colony%", colony.getName())); + .<ModelMessage>addStringTemplate("%teacher%", teacher.getLabel()) + .<ModelMessage>addName("%colony%", colony.getName())); return false; } teacher.setStudent(student); @@ -225,9 +225,9 @@ public class ServerBuilding extends Building implements ServerModelObject { new ModelMessage(ModelMessage.MessageType.MISSING_GOODS, "model.building.notEnoughInput", this, gt) - .addNamed("%inputGoods%", gt) - .addNamed("%building%", this) - .addName("%colony%", getColony().getName())); + .<ModelMessage>addNamed("%inputGoods%", gt) + .<ModelMessage>addNamed("%building%", this) + .<ModelMessage>addName("%colony%", getColony().getName())); } } } diff --git a/src/net/sf/freecol/server/model/ServerColony.java b/src/net/sf/freecol/server/model/ServerColony.java index a62d29c62dc..b3019e17e54 100644 --- a/src/net/sf/freecol/server/model/ServerColony.java +++ b/src/net/sf/freecol/server/model/ServerColony.java @@ -165,15 +165,15 @@ public class ServerColony extends Colony implements ServerModelObject { new ModelMessage(MessageType.UNIT_ADDED, "model.colony.newColonist", this, unit) - .addName("%colony%", getName())); + .<ModelMessage>addName("%colony%", getName())); } else { unit.setName(owner.getNameForUnit(type, random)); cs.addMessage(owner, new ModelMessage(MessageType.UNIT_ADDED, "model.colony.unitReady", this, unit) - .addName("%colony%", getName()) - .addStringTemplate("%unit%", unit.getLabel())); + .<ModelMessage>addName("%colony%", getName()) + .<ModelMessage>addStringTemplate("%unit%", unit.getLabel())); } logger.info("New unit in " + getName() + ": " + type.getSuffix()); @@ -239,8 +239,8 @@ public class ServerColony extends Colony implements ServerModelObject { cs.addMessage(owner, new ModelMessage(MessageType.BUILDING_COMPLETED, "model.colony.buildingReady", this) - .addName("%colony%", getName()) - .addNamed("%building%", type)); + .<ModelMessage>addName("%colony%", getName()) + .<ModelMessage>addNamed("%building%", type)); if (owner.isAI()) { firePropertyChange(REARRANGE_COLONY, true, false); } @@ -282,7 +282,7 @@ public class ServerColony extends Colony implements ServerModelObject { cs.addMessage(owner, new ModelMessage(MessageType.WARNING, "model.colony.cannotBuild", this) - .addName("%colony%", getName())); + .<ModelMessage>addName("%colony%", getName())); } return null; @@ -291,8 +291,8 @@ public class ServerColony extends Colony implements ServerModelObject { new ModelMessage(MessageType.WARNING, "model.colony.buildNeedPop", this) - .addName("%colony%", getName()) - .addNamed("%building%", buildable)); + .<ModelMessage>addName("%colony%", getName()) + .<ModelMessage>addNamed("%building%", buildable)); break; default: // Are there other warnings to send? logger.warning("Unexpected build failure at " + getName() @@ -329,9 +329,9 @@ public class ServerColony extends Colony implements ServerModelObject { new ModelMessage(MessageType.WARNING, "model.colony.workersEvicted", this, this) - .addName("%colony%", getName()) - .addStringTemplate("%location%", tile.getLocationLabel()) - .addStringTemplate("%enemyUnit%", enemyUnit.getLabel())); + .<ModelMessage>addName("%colony%", getName()) + .<ModelMessage>addStringTemplate("%location%", tile.getLocationLabel()) + .<ModelMessage>addStringTemplate("%enemyUnit%", enemyUnit.getLabel())); cs.add(See.only(serverPlayer), ct); cs.add(See.perhaps(), getTile()); // Colony size might have changed } @@ -489,8 +489,8 @@ public class ServerColony extends Colony implements ServerModelObject { cs.addMessage(newOwner, new ModelMessage(MessageType.UNIT_ADDED, "model.colony.newConvert", brave) - .addStringTemplate("%nation%", nation) - .addName("%colony%", getName())); + .<ModelMessage>addStringTemplate("%nation%", nation) + .<ModelMessage>addName("%colony%", getName())); newOwner.invalidateCanSeeTiles();//+vis(other) logger.fine("Convert at " + getName() + " for " + getName()); } @@ -591,10 +591,10 @@ public class ServerColony extends Colony implements ServerModelObject { new ModelMessage(MessageType.MISSING_GOODS, "model.colony.buildableNeedsGoods", this, build) - .addName("%colony%", getName()) - .addNamed("%buildable%", build) - .addAmount("%amount%", needed.getAmount()) - .addNamed("%goodsType%", needed.getType())); + .<ModelMessage>addName("%colony%", getName()) + .<ModelMessage>addNamed("%buildable%", build) + .<ModelMessage>addAmount("%amount%", needed.getAmount()) + .<ModelMessage>addNamed("%goodsType%", needed.getType())); } } } else { @@ -655,13 +655,13 @@ public class ServerColony extends Colony implements ServerModelObject { new ModelMessage(MessageType.UNIT_LOST, "model.colony.colonistStarved", this) - .addName("%colony%", getName())); + .<ModelMessage>addName("%colony%", getName())); } else { // Its dead, Jim. cs.addMessage(owner, new ModelMessage(MessageType.UNIT_LOST, "model.colony.colonyStarved", this) - .addName("%colony%", getName())); + .<ModelMessage>addName("%colony%", getName())); owner.csDisposeSettlement(this, cs); return; } @@ -672,8 +672,8 @@ public class ServerColony extends Colony implements ServerModelObject { new ModelMessage(MessageType.WARNING, "model.colony.famineFeared", this) - .addName("%colony%", getName()) - .addAmount("%number%", turns)); + .<ModelMessage>addName("%colony%", getName()) + .<ModelMessage>addAmount("%number%", turns)); lb.add(" famine in ", turns, " food=", stored, " production=", net); } @@ -740,8 +740,8 @@ public class ServerColony extends Colony implements ServerModelObject { cs.addMessage(owner, new ModelMessage(MessageType.GOODS_MOVEMENT, "model.colony.customs.sale", this) - .addName("%colony%", getName()) - .addName("%data%", lb2.toString())); + .<ModelMessage>addName("%colony%", getName()) + .<ModelMessage>addName("%data%", lb2.toString())); cs.addPartial(See.only(owner), owner, "gold"); lb.add(lb2.toString()); } @@ -766,9 +766,9 @@ public class ServerColony extends Colony implements ServerModelObject { new ModelMessage(MessageType.WAREHOUSE_CAPACITY, "model.colony.warehouseEmpty", this, type) - .addNamed("%goods%", type) - .addAmount("%level%", low) - .addName("%colony%", getName())); + .<ModelMessage>addNamed("%goods%", type) + .<ModelMessage>addAmount("%level%", low) + .<ModelMessage>addName("%colony%", getName())); continue; } if (type.limitIgnored()) continue; @@ -791,10 +791,10 @@ public class ServerColony extends Colony implements ServerModelObject { cs.addMessage(owner, new ModelMessage(MessageType.WAREHOUSE_CAPACITY, messageId, this, type) - .addNamed("%goods%", type) - .addAmount("%waste%", waste) - .addAmount("%level%", high) - .addName("%colony%", getName())); + .<ModelMessage>addNamed("%goods%", type) + .<ModelMessage>addAmount("%waste%", waste) + .<ModelMessage>addAmount("%level%", high) + .<ModelMessage>addName("%colony%", getName())); } // No problem this turn, but what about the next? @@ -808,9 +808,9 @@ public class ServerColony extends Colony implements ServerModelObject { new ModelMessage(MessageType.WAREHOUSE_CAPACITY, "model.colony.warehouseSoonFull", this, type) - .addNamed("%goods%", goods) - .addName("%colony%", getName()) - .addAmount("%amount%", loss)); + .<ModelMessage>addNamed("%goods%", goods) + .<ModelMessage>addName("%colony%", getName()) + .<ModelMessage>addAmount("%amount%", loss)); } } } @@ -841,7 +841,7 @@ public class ServerColony extends Colony implements ServerModelObject { cs.addMessage(owner, new ModelMessage(MessageType.BUILDING_COMPLETED, "model.colony.notBuildingAnything", this) - .addName("%colony%", getName())); + .<ModelMessage>addName("%colony%", getName())); } } @@ -854,9 +854,9 @@ public class ServerColony extends Colony implements ServerModelObject { ? "model.colony.soLIncrease" : "model.colony.soLDecrease"), this, spec.getGoodsType("model.goods.bells")) - .addAmount("%oldSoL%", oldSonsOfLiberty) - .addAmount("%newSoL%", sonsOfLiberty) - .addName("%colony%", getName())); + .<ModelMessage>addAmount("%oldSoL%", oldSonsOfLiberty) + .<ModelMessage>addAmount("%newSoL%", sonsOfLiberty) + .<ModelMessage>addName("%colony%", getName())); ModelMessage govMgtMessage = checkForGovMgtChangeMessage(); if (govMgtMessage != null) { diff --git a/src/net/sf/freecol/server/model/ServerColonyTile.java b/src/net/sf/freecol/server/model/ServerColonyTile.java index 92f57b19dbe..147f0082048 100644 --- a/src/net/sf/freecol/server/model/ServerColonyTile.java +++ b/src/net/sf/freecol/server/model/ServerColonyTile.java @@ -121,8 +121,8 @@ public class ServerColonyTile extends ColonyTile implements ServerModelObject { new ModelMessage(ModelMessage.MessageType.WARNING, "model.colonyTile.resourceExhausted", colony) - .addNamed("%resource%", resource) - .addName("%colony%", colony.getName())); + .<ModelMessage>addNamed("%resource%", resource) + .<ModelMessage>addName("%colony%", colony.getName())); cs.add(See.perhaps(), workTile); break; } diff --git a/src/net/sf/freecol/server/model/ServerGame.java b/src/net/sf/freecol/server/model/ServerGame.java index d2aed2cd7b0..7fcd45f8cd1 100644 --- a/src/net/sf/freecol/server/model/ServerGame.java +++ b/src/net/sf/freecol/server/model/ServerGame.java @@ -429,13 +429,13 @@ public class ServerGame extends Game implements ServerModelObject { cs.addGlobalMessage(this, null, new ModelMessage(ModelMessage.MessageType.FOREIGN_DIPLOMACY, "model.game.spanishSuccession", strongAI) - .addStringTemplate("%loserNation%", loser) - .addStringTemplate("%nation%", winner)); + .<ModelMessage>addStringTemplate("%loserNation%", loser) + .<ModelMessage>addStringTemplate("%nation%", winner)); cs.addGlobalHistory(this, new HistoryEvent(getTurn(), HistoryEvent.HistoryEventType.SPANISH_SUCCESSION, null) - .addStringTemplate("%loserNation%", loser) - .addStringTemplate("%nation%", winner)); + .<HistoryEvent>addStringTemplate("%loserNation%", loser) + .<HistoryEvent>addStringTemplate("%nation%", winner)); setSpanishSuccession(true); cs.addPartial(See.all(), this, "spanishSuccession"); tiles.removeAll(updated); @@ -596,9 +596,9 @@ public class ServerGame extends Game implements ServerModelObject { new ModelMessage(MessageType.FOREIGN_DIPLOMACY, Stance.WAR.getOtherStanceChangeKey(), source) - .addStringTemplate("%attacker%", + .<ModelMessage>addStringTemplate("%attacker%", source.getNationLabel()) - .addStringTemplate("%defender%", + .<ModelMessage>addStringTemplate("%defender%", victim.getNationLabel())); } else { logger.warning("Incite trade failure: " + victim); diff --git a/src/net/sf/freecol/server/model/ServerIndianSettlement.java b/src/net/sf/freecol/server/model/ServerIndianSettlement.java index 42c984dc826..65570d4e19f 100644 --- a/src/net/sf/freecol/server/model/ServerIndianSettlement.java +++ b/src/net/sf/freecol/server/model/ServerIndianSettlement.java @@ -442,14 +442,14 @@ public class ServerIndianSettlement extends IndianSettlement new ModelMessage(ModelMessage.MessageType.UNIT_LOST, "model.indianSettlement.mission.destroyed", this) - .addStringTemplate("%settlement%", + .<ModelMessage>addStringTemplate("%settlement%", getLocationLabelFor(missionaryOwner))); } else { cs.addMessage(missionaryOwner, new ModelMessage(ModelMessage.MessageType.FOREIGN_DIPLOMACY, "model.indianSettlement.mission.denounced", this) - .addStringTemplate("%settlement%", + .<ModelMessage>addStringTemplate("%settlement%", getLocationLabelFor(missionaryOwner))); } } @@ -503,9 +503,9 @@ public class ServerIndianSettlement extends IndianSettlement cs.addMessage(enemy, new ModelMessage(ModelMessage.MessageType.FOREIGN_DIPLOMACY, key, this) - .addStringTemplate("%nation%", getOwner().getNationLabel()) - .addStringTemplate("%enemy%", enemy.getNationLabel()) - .addName("%settlement%", getName())); + .<ModelMessage>addStringTemplate("%nation%", getOwner().getNationLabel()) + .<ModelMessage>addStringTemplate("%enemy%", enemy.getNationLabel()) + .<ModelMessage>addName("%settlement%", getName())); } diff --git a/src/net/sf/freecol/server/model/ServerPlayer.java b/src/net/sf/freecol/server/model/ServerPlayer.java index ad493e61ae8..424276deac7 100644 --- a/src/net/sf/freecol/server/model/ServerPlayer.java +++ b/src/net/sf/freecol/server/model/ServerPlayer.java @@ -716,12 +716,12 @@ public class ServerPlayer extends Player implements ServerModelObject { : "model.player.dead.native"; cs.addGlobalMessage(getGame(), null, new ModelMessage(MessageType.FOREIGN_DIPLOMACY, key, this) - .addStringTemplate("%nation%", getNationLabel())); + .<ModelMessage>addStringTemplate("%nation%", getNationLabel())); Game game = getGame(); cs.addGlobalHistory(game, new HistoryEvent(game.getTurn(), HistoryEvent.HistoryEventType.NATION_DESTROYED, null) - .addStringTemplate("%nation%", getNationLabel())); + .<HistoryEvent>addStringTemplate("%nation%", getNationLabel())); csKill(cs); } @@ -1323,7 +1323,7 @@ public class ServerPlayer extends Player implements ServerModelObject { } cs.addHistory(this, new HistoryEvent(getGame().getTurn(), HistoryEvent.getEventTypeFromStance(stance), otherPlayer) - .addStringTemplate("%nation%", otherPlayer.getNationLabel())); + .<HistoryEvent>addStringTemplate("%nation%", otherPlayer.getNationLabel())); logger.info("Stance modification " + getName() + " " + old + " -> " + stance + " wrt " + otherPlayer.getName()); this.addStanceChange(other); @@ -1331,7 +1331,7 @@ public class ServerPlayer extends Player implements ServerModelObject { cs.addMessage(other, new ModelMessage(MessageType.FOREIGN_DIPLOMACY, stance.getStanceChangeKey(), this) - .addStringTemplate("%nation%", getNationLabel())); + .<ModelMessage>addStringTemplate("%nation%", getNationLabel())); } cs.addStance(See.only(this), this, stance, otherPlayer); cs.addStance(See.only(other), this, stance, otherPlayer); @@ -1345,7 +1345,7 @@ public class ServerPlayer extends Player implements ServerModelObject { } cs.addHistory(otherPlayer, new HistoryEvent(getGame().getTurn(), HistoryEvent.getEventTypeFromStance(stance), this) - .addStringTemplate("%nation%", this.getNationLabel())); + .<HistoryEvent>addStringTemplate("%nation%", this.getNationLabel())); logger.info("Stance modification " + otherPlayer.getName() + " " + old + " -> " + stance + " wrt " + getName() + " (symmetric)"); @@ -1354,7 +1354,7 @@ public class ServerPlayer extends Player implements ServerModelObject { cs.addMessage(this, new ModelMessage(MessageType.FOREIGN_DIPLOMACY, stance.getStanceChangeKey(), otherPlayer) - .addStringTemplate("%nation%", + .<ModelMessage>addStringTemplate("%nation%", otherPlayer.getNationLabel())); } cs.addStance(See.only(this), otherPlayer, stance, this); @@ -1466,8 +1466,8 @@ public class ServerPlayer extends Player implements ServerModelObject { new ModelMessage(MessageType.DEFAULT, "model.player.disaster.strikes", colony) - .addName("%colony%", colony.getName()) - .addName("%disaster%", disaster)); + .<ModelMessage>addName("%colony%", colony.getName()) + .<ModelMessage>addName("%disaster%", disaster)); for (ModelMessage message : messages) { cs.addMessage(this, message); } @@ -1549,7 +1549,7 @@ outer: for (Effect effect : effects) { cs.addPartial(See.only(this), this, "gold"); mm = new ModelMessage(MessageType.DEFAULT, effect.getId(), this) - .addAmount("%amount%", plunder); + .<ModelMessage>addAmount("%amount%", plunder); break; case Effect.LOSS_OF_BUILDING: Building building = getBuildingForEffect(colony, effect, random); @@ -1557,7 +1557,7 @@ outer: for (Effect effect : effects) { // Add message before damaging building mm = new ModelMessage(MessageType.DEFAULT, effect.getId(), colony) - .addNamed("%building%", building.getType()); + .<ModelMessage>addNamed("%building%", building.getType()); csDamageBuilding(building, cs); colonyDirty = true; } @@ -1571,7 +1571,7 @@ outer: for (Effect effect : effects) { colony.removeGoods(goods); mm = new ModelMessage(MessageType.DEFAULT, effect.getId(), colony) - .addStringTemplate("%goods%", goods.getLabel(true)); + .<ModelMessage>addStringTemplate("%goods%", goods.getLabel(true)); colonyDirty = true; } break; @@ -1584,7 +1584,7 @@ outer: for (Effect effect : effects) { mm = new ModelMessage(MessageType.DEFAULT, "model.player.disaster.effect.colonyDestroyed", this) - .addName("%colony%", colony.getName()); + .<ModelMessage>addName("%colony%", colony.getName()); messages.add(mm); csDisposeSettlement(colony, cs); colonyDirty = false; @@ -1592,7 +1592,7 @@ outer: for (Effect effect : effects) { } mm = new ModelMessage(MessageType.DEFAULT, effect.getId(), colony) - .addStringTemplate("%unit%", + .<ModelMessage>addStringTemplate("%unit%", unit.getLabel()); cs.addRemove(See.only(this), null, unit); unit.dispose();//-vis: Safe, entirely within colony @@ -1609,14 +1609,14 @@ outer: for (Effect effect : effects) { mm = new ModelMessage(MessageType.DEFAULT, effect.getId(), colony) - .addStringTemplate("%unit%", + .<ModelMessage>addStringTemplate("%unit%", unit.getLabel()); csSinkShip(unit, null, cs); } else { mm = new ModelMessage(MessageType.DEFAULT, effect.getId(), colony) - .addStringTemplate("%unit%", + .<ModelMessage>addStringTemplate("%unit%", unit.getLabel()); csDamageShip(unit, repairLocation, cs); } @@ -1911,7 +1911,7 @@ outer: for (Effect effect : effects) { addFather(father); addHistory(new HistoryEvent(turn, HistoryEvent.HistoryEventType.FOUNDING_FATHER, this) - .addNamed("%father%", father)); + .<HistoryEvent>addNamed("%father%", father)); // FIXME: We do not want to have to update the whole player // just to get the FF into the client, but for now if there // are modifiers that is the only way to do it. @@ -1920,8 +1920,8 @@ outer: for (Effect effect : effects) { new ModelMessage(ModelMessage.MessageType.SONS_OF_LIBERTY, "model.player.foundingFatherJoinedCongress", this) - .addNamed("%foundingFather%", father) - .add("%description%", father.getDescriptionKey())); + .<ModelMessage>addNamed("%foundingFather%", father) + .<ModelMessage>add("%description%", father.getDescriptionKey())); List<AbstractUnit> units = father.getUnits(); if (units != null && !units.isEmpty() && europe != null) { @@ -2159,8 +2159,8 @@ outer: for (Effect effect : effects) { new ModelMessage(ModelMessage.MessageType.UNIT_ADDED, "model.player.autoRecruit", this, unit) - .addNamed("%europe%", europe) - .addStringTemplate("%unit%", unit.getLabel())); + .<ModelMessage>addNamed("%europe%", europe) + .<ModelMessage>addStringTemplate("%unit%", unit.getLabel())); break; default: throw new IllegalArgumentException("Bogus migration type"); @@ -2213,8 +2213,8 @@ outer: for (Effect effect : effects) { cs.addMessage(defenderPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.raid.ours", colony) - .addName("%colony%", colony.getName()) - .addStringTemplate("%nation%", attackerNation)); + .<ModelMessage>addName("%colony%", colony.getName()) + .<ModelMessage>addStringTemplate("%nation%", attackerNation)); } } else if (isBombard) { attackerSettlement = (Settlement)attacker; @@ -2691,8 +2691,8 @@ outer: for (Effect effect : effects) { cs.addMessage(player, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.automaticDefence", unit) - .addStringTemplate("%unit%", unit.getLabel()) - .addName("%colony%", settlement.getName())); + .<ModelMessage>addStringTemplate("%unit%", unit.getLabel()) + .<ModelMessage>addName("%colony%", settlement.getName())); } /** @@ -2713,8 +2713,8 @@ outer: for (Effect effect : effects) { cs.addMessage(attackerPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.burnMissions", attacker, is) - .addStringTemplate("%nation%", attackerNation) - .addStringTemplate("%enemyNation%", nativeNation)); + .<ModelMessage>addStringTemplate("%nation%", attackerNation) + .<ModelMessage>addStringTemplate("%enemyNation%", nativeNation)); // Burn down the missions boolean here = is.hasMissionary(attackerPlayer); @@ -2761,27 +2761,27 @@ outer: for (Effect effect : effects) { cs.addHistory(attackerPlayer, new HistoryEvent(game.getTurn(), HistoryEvent.HistoryEventType.CONQUER_COLONY, attackerPlayer) - .addStringTemplate("%nation%", colonyNation) - .addName("%colony%", colony.getName())); + .<HistoryEvent>addStringTemplate("%nation%", colonyNation) + .<HistoryEvent>addName("%colony%", colony.getName())); cs.addHistory(colonyPlayer, new HistoryEvent(game.getTurn(), HistoryEvent.HistoryEventType.COLONY_CONQUERED, attackerPlayer) - .addStringTemplate("%nation%", attackerNation) - .addName("%colony%", colony.getName())); + .<HistoryEvent>addStringTemplate("%nation%", attackerNation) + .<HistoryEvent>addName("%colony%", colony.getName())); cs.addMessage(attackerPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.colonyCaptured.enemy", colony) - .addName("%colony%", colony.getName()) - .addStringTemplate("%unit%", attacker.getLabel()) - .addStringTemplate("%enemyNation%", colonyNation) - .addAmount("%amount%", plunder)); + .<ModelMessage>addName("%colony%", colony.getName()) + .<ModelMessage>addStringTemplate("%unit%", attacker.getLabel()) + .<ModelMessage>addStringTemplate("%enemyNation%", colonyNation) + .<ModelMessage>addAmount("%amount%", plunder)); cs.addMessage(colonyPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.colonyCaptured.ours", tile) - .addName("%colony%", colony.getName()) - .addStringTemplate("%enemyUnit%", attacker.getLabel()) - .addStringTemplate("%enemyNation%", attackerNation) - .addAmount("%amount%", plunder)); + .<ModelMessage>addName("%colony%", colony.getName()) + .<ModelMessage>addStringTemplate("%enemyUnit%", attacker.getLabel()) + .<ModelMessage>addStringTemplate("%enemyNation%", attackerNation) + .<ModelMessage>addAmount("%amount%", plunder)); colonyPlayer.csLoseLocation(colony, cs); // Allocate some plunder @@ -2839,9 +2839,9 @@ outer: for (Effect effect : effects) { cs.addMessage(attackerPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.newConvertFromAttack", convert) - .addStringTemplate("%unit%", attacker.getLabel()) - .addStringTemplate("%enemyNation%", convertNation) - .addStringTemplate("%enemyUnit%", convert.getLabel())); + .<ModelMessage>addStringTemplate("%unit%", attacker.getLabel()) + .<ModelMessage>addStringTemplate("%enemyNation%", convertNation) + .<ModelMessage>addStringTemplate("%enemyUnit%", convert.getLabel())); attackerPlayer.invalidateCanSeeTiles();//+vis(attackerPlayer) } } @@ -2887,8 +2887,8 @@ outer: for (Effect effect : effects) { new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.equipmentCaptured", winnerPlayer) - .addStringTemplate("%nation%", winnerNation) - .addNamed("%equipment%", goodsType)); + .<ModelMessage>addStringTemplate("%nation%", winnerNation) + .<ModelMessage>addNamed("%equipment%", goodsType)); // CHEAT: Immediately transferring the captured goods // back to a potentially remote settlement is pretty @@ -2944,21 +2944,21 @@ outer: for (Effect effect : effects) { cs.addMessage(winnerPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, key, loser) - .addDefaultId("combat.unitCaptured.enemy") - .addStringTemplate("%location%", winnerLocation) - .addStringTemplate("%unit%", winner.getLabel()) - .addStringTemplate("%enemyNation%", loserNation) - .addStringTemplate("%enemyUnit%", loserLabel)); + .<ModelMessage>addDefaultId("combat.unitCaptured.enemy") + .<ModelMessage>addStringTemplate("%location%", winnerLocation) + .<ModelMessage>addStringTemplate("%unit%", winner.getLabel()) + .<ModelMessage>addStringTemplate("%enemyNation%", loserNation) + .<ModelMessage>addStringTemplate("%enemyUnit%", loserLabel)); } key = "combat.unitCaptured.ours." + loser.getType().getSuffix(); cs.addMessage(loserPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, key, oldTile) - .addDefaultId("combat.unitCaptured.ours") - .addStringTemplate("%location%", loserLocation) - .addStringTemplate("%unit%", loserLabel) - .addStringTemplate("%enemyNation%", winnerNation) - .addStringTemplate("%enemyUnit%", winner.getLabel())); + .<ModelMessage>addDefaultId("combat.unitCaptured.ours") + .<ModelMessage>addStringTemplate("%location%", loserLocation) + .<ModelMessage>addStringTemplate("%unit%", loserLabel) + .<ModelMessage>addStringTemplate("%enemyNation%", winnerNation) + .<ModelMessage>addStringTemplate("%enemyUnit%", winner.getLabel())); winnerPlayer.invalidateCanSeeTiles();//+vis(winnerPlayer) loserPlayer.invalidateCanSeeTiles();//+vis(loserPlayer) } @@ -2988,9 +2988,9 @@ outer: for (Effect effect : effects) { cs.addMessage(shipPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.shipsDamaged", shipPlayer) - .addStringTemplate("%ships%", t) - .addAmount("%number%", units.size()) - .addStringTemplate("%repairLocation%", + .<ModelMessage>addStringTemplate("%ships%", t) + .<ModelMessage>addAmount("%number%", units.size()) + .<ModelMessage>addStringTemplate("%repairLocation%", repairLocation.getLocationLabelFor(shipPlayer))); } } @@ -3014,20 +3014,20 @@ outer: for (Effect effect : effects) { cs.addMessage(attackerPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.shipDamaged.enemy", attacker) - .addStringTemplate("%location%", + .<ModelMessage>addStringTemplate("%location%", shipLocation.getLocationLabelFor(attackerPlayer)) - .addStringTemplate("%unit%", attacker.getLabel()) - .addStringTemplate("%enemyNation%", shipNation) - .addStringTemplate("%enemyUnit%", ship.getLabel())); + .<ModelMessage>addStringTemplate("%unit%", attacker.getLabel()) + .<ModelMessage>addStringTemplate("%enemyNation%", shipNation) + .<ModelMessage>addStringTemplate("%enemyUnit%", ship.getLabel())); cs.addMessage(shipPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.shipDamaged.ours", ship) - .addStringTemplate("%location%", + .<ModelMessage>addStringTemplate("%location%", shipLocation.getLocationLabelFor(shipPlayer)) - .addStringTemplate("%unit%", ship.getLabel()) - .addStringTemplate("%enemyUnit%", attacker.getLabel()) - .addStringTemplate("%enemyNation%", attackerNation) - .addStringTemplate("%repairLocation%", repairLoc)); + .<ModelMessage>addStringTemplate("%unit%", ship.getLabel()) + .<ModelMessage>addStringTemplate("%enemyUnit%", attacker.getLabel()) + .<ModelMessage>addStringTemplate("%enemyNation%", attackerNation) + .<ModelMessage>addStringTemplate("%repairLocation%", repairLoc)); csDamageShip(ship, repair, cs); } @@ -3052,21 +3052,21 @@ outer: for (Effect effect : effects) { new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.shipDamagedByBombardment.enemy", settlement) - .addStringTemplate("%location%", + .<ModelMessage>addStringTemplate("%location%", settlement.getLocationLabelFor(attackerPlayer)) - .addNamed("%building%", building) - .addStringTemplate("%enemyNation%", shipNation) - .addStringTemplate("%enemyUnit%", ship.getLabel())); + .<ModelMessage>addNamed("%building%", building) + .<ModelMessage>addStringTemplate("%enemyNation%", shipNation) + .<ModelMessage>addStringTemplate("%enemyUnit%", ship.getLabel())); cs.addMessage(shipPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.shipDamagedByBombardment.ours", ship) - .addStringTemplate("%location%", + .<ModelMessage>addStringTemplate("%location%", settlement.getLocationLabelFor(shipPlayer)) - .addStringTemplate("%unit%", ship.getLabel()) - .addNamed("%building%", building) - .addStringTemplate("%enemyNation%", + .<ModelMessage>addStringTemplate("%unit%", ship.getLabel()) + .<ModelMessage>addNamed("%building%", building) + .<ModelMessage>addStringTemplate("%enemyNation%", attackerPlayer.getNationLabel()) - .addStringTemplate("%repairLocation%", repairLoc)); + .<ModelMessage>addStringTemplate("%repairLocation%", repairLoc)); csDamageShip(ship, repair, cs); } @@ -3137,22 +3137,22 @@ outer: for (Effect effect : effects) { cs.addMessage(winnerPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, key, winner) - .addDefaultId("combat.unitDemoted.enemy") - .addStringTemplate("%location%", winnerLocation) - .addStringTemplate("%unit%", winner.getLabel()) - .addStringTemplate("%enemyNation%", loserNation) - .addStringTemplate("%oldName%", loserLabel) - .addStringTemplate("%enemyUnit%", loser.getLabel())); + .<ModelMessage>addDefaultId("combat.unitDemoted.enemy") + .<ModelMessage>addStringTemplate("%location%", winnerLocation) + .<ModelMessage>addStringTemplate("%unit%", winner.getLabel()) + .<ModelMessage>addStringTemplate("%enemyNation%", loserNation) + .<ModelMessage>addStringTemplate("%oldName%", loserLabel) + .<ModelMessage>addStringTemplate("%enemyUnit%", loser.getLabel())); key = "combat.unitDemoted.ours." + suffix; cs.addMessage(loserPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, key, loser) - .addDefaultId("combat.unitDemoted.ours") - .addStringTemplate("%location%", loserLocation) - .addStringTemplate("%oldName%", loserLabel) - .addStringTemplate("%unit%", loser.getLabel()) - .addStringTemplate("%enemyNation%", winnerNation) - .addStringTemplate("%enemyUnit%", winner.getLabel())); + .<ModelMessage>addDefaultId("combat.unitDemoted.ours") + .<ModelMessage>addStringTemplate("%location%", loserLocation) + .<ModelMessage>addStringTemplate("%oldName%", loserLabel) + .<ModelMessage>addStringTemplate("%unit%", loser.getLabel()) + .<ModelMessage>addStringTemplate("%enemyNation%", winnerNation) + .<ModelMessage>addStringTemplate("%enemyUnit%", winner.getLabel())); } /** @@ -3176,21 +3176,21 @@ outer: for (Effect effect : effects) { cs.addHistory(colonyPlayer, new HistoryEvent(game.getTurn(), HistoryEvent.HistoryEventType.COLONY_DESTROYED, attackerPlayer) - .addStringTemplate("%nation%", attackerNation) - .addName("%colony%", colony.getName())); + .<HistoryEvent>addStringTemplate("%nation%", attackerNation) + .<HistoryEvent>addName("%colony%", colony.getName())); cs.addMessage(colonyPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.colonyBurned.ours", colony.getTile()) - .addName("%colony%", colony.getName()) - .addStringTemplate("%enemyNation%", attackerNation) - .addStringTemplate("%enemyUnit%", attacker.getLabel()) - .addAmount("%amount%", plunder)); + .<ModelMessage>addName("%colony%", colony.getName()) + .<ModelMessage>addStringTemplate("%enemyNation%", attackerNation) + .<ModelMessage>addStringTemplate("%enemyUnit%", attacker.getLabel()) + .<ModelMessage>addAmount("%amount%", plunder)); cs.addGlobalMessage(game, colonyPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.colonyBurned.other", colonyPlayer) - .addName("%colony%", colony.getName()) - .addStringTemplate("%nation%", colonyNation) - .addStringTemplate("%attackerNation%", attackerNation)); + .<ModelMessage>addName("%colony%", colony.getName()) + .<ModelMessage>addStringTemplate("%nation%", colonyNation) + .<ModelMessage>addStringTemplate("%attackerNation%", attackerNation)); colonyPlayer.csLoseLocation(colony, cs); // Allocate some plunder. @@ -3250,8 +3250,8 @@ outer: for (Effect effect : effects) { int score = spec.getInteger(GameOptions.DESTROY_SETTLEMENT_SCORE); HistoryEvent h = new HistoryEvent(game.getTurn(), HistoryEvent.HistoryEventType.DESTROY_SETTLEMENT, this) - .addStringTemplate("%nation%", nativeNation) - .addName("%settlement%", settlementName); + .<HistoryEvent>addStringTemplate("%nation%", nativeNation) + .<HistoryEvent>addName("%settlement%", settlementName); h.setScore(score); cs.addHistory(attackerPlayer, h); @@ -3259,22 +3259,22 @@ outer: for (Effect effect : effects) { cs.addMessage(attackerPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.destroySettlement.enemy", attacker) - .addName("%settlement%", settlementName) - .addStringTemplate("%unit%", attacker.getLabel()) - .addStringTemplate("%nativeNation%", nativeNation) - .addAmount("%amount%", plunder)); + .<ModelMessage>addName("%settlement%", settlementName) + .<ModelMessage>addStringTemplate("%unit%", attacker.getLabel()) + .<ModelMessage>addStringTemplate("%nativeNation%", nativeNation) + .<ModelMessage>addAmount("%amount%", plunder)); if (capital) { cs.addMessage(attackerPlayer, new ModelMessage(ModelMessage.MessageType.FOREIGN_DIPLOMACY, "combat.destroySettlement.enemy.capital", attacker) - .addStringTemplate("%nation%", nativeNation)); + .<ModelMessage>addStringTemplate("%nation%", nativeNation)); } if (nativePlayer.checkForDeath() == IS_DEAD) { h = new HistoryEvent(game.getTurn(), HistoryEvent.HistoryEventType.DESTROY_NATION, this) - .addStringTemplate("%nation%", attackerNation) - .addStringTemplate("%nativeNation%", nativeNation); + .<HistoryEvent>addStringTemplate("%nation%", attackerNation) + .<HistoryEvent>addStringTemplate("%nativeNation%", nativeNation); h.setScore(SCORE_NATION_DESTROYED); cs.addGlobalHistory(game, h); } @@ -3366,19 +3366,19 @@ outer: for (Effect effect : effects) { cs.addMessage(attackerPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.shipEvaded.enemy", attacker) - .addStringTemplate("%location%", + .<ModelMessage>addStringTemplate("%location%", attackerLocation.getLocationLabelFor(attackerPlayer)) - .addStringTemplate("%unit%", attacker.getLabel()) - .addStringTemplate("%enemyNation%", defenderNation) - .addStringTemplate("%enemyUnit%", defender.getLabel())); + .<ModelMessage>addStringTemplate("%unit%", attacker.getLabel()) + .<ModelMessage>addStringTemplate("%enemyNation%", defenderNation) + .<ModelMessage>addStringTemplate("%enemyUnit%", defender.getLabel())); cs.addMessage(defenderPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.shipEvaded.ours", defender) - .addStringTemplate("%location%", + .<ModelMessage>addStringTemplate("%location%", defenderLocation.getLocationLabelFor(defenderPlayer)) - .addStringTemplate("%unit%", defender.getLabel()) - .addStringTemplate("%enemyNation%", attackerNation) - .addStringTemplate("%enemyUnit%", attacker.getLabel())); + .<ModelMessage>addStringTemplate("%unit%", defender.getLabel()) + .<ModelMessage>addStringTemplate("%enemyNation%", attackerNation) + .<ModelMessage>addStringTemplate("%enemyUnit%", attacker.getLabel())); } /** @@ -3398,19 +3398,19 @@ outer: for (Effect effect : effects) { cs.addMessage(attackerPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.shipEvadedBombardment.enemy", settlement) - .addStringTemplate("%location%", + .<ModelMessage>addStringTemplate("%location%", settlement.getLocationLabelFor(attackerPlayer)) - .addNamed("%building%", building) - .addStringTemplate("%enemyNation%", defenderNation) - .addStringTemplate("%enemyUnit%", defender.getLabel())); + .<ModelMessage>addNamed("%building%", building) + .<ModelMessage>addStringTemplate("%enemyNation%", defenderNation) + .<ModelMessage>addStringTemplate("%enemyUnit%", defender.getLabel())); cs.addMessage(defenderPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.shipEvadedBombardment.ours", defender) - .addStringTemplate("%location%", + .<ModelMessage>addStringTemplate("%location%", settlement.getLocationLabelFor(defenderPlayer)) - .addStringTemplate("%unit%", defender.getLabel()) - .addNamed("%building%", building) - .addStringTemplate("%enemyNation%", + .<ModelMessage>addStringTemplate("%unit%", defender.getLabel()) + .<ModelMessage>addNamed("%building%", building) + .<ModelMessage>addStringTemplate("%enemyNation%", attackerPlayer.getNationLabel())); } @@ -3463,20 +3463,20 @@ outer: for (Effect effect : effects) { cs.addMessage(attackerPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.unitDemotedToUnarmed.enemy", attacker) - .addStringTemplate("%location%", + .<ModelMessage>addStringTemplate("%location%", settlement.getLocationLabelFor(attackerPlayer)) - .addStringTemplate("%unit%", attacker.getLabel()) - .addStringTemplate("%oldName%", defenderLabel) - .addStringTemplate("%enemyNation%", defenderNation) - .addStringTemplate("%enemyUnit%", defender.getLabel())); + .<ModelMessage>addStringTemplate("%unit%", attacker.getLabel()) + .<ModelMessage>addStringTemplate("%oldName%", defenderLabel) + .<ModelMessage>addStringTemplate("%enemyNation%", defenderNation) + .<ModelMessage>addStringTemplate("%enemyUnit%", defender.getLabel())); cs.addMessage(defenderPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.unitLoseAutoEquip", defender) - .addStringTemplate("%location%", + .<ModelMessage>addStringTemplate("%location%", settlement.getLocationLabelFor(defenderPlayer)) - .addStringTemplate("%unit%", defender.getLabel()) - .addStringTemplate("%enemyNation%", attackerNation) - .addStringTemplate("%enemyUnit%", attacker.getLabel())); + .<ModelMessage>addStringTemplate("%unit%", defender.getLabel()) + .<ModelMessage>addStringTemplate("%enemyNation%", attackerNation) + .<ModelMessage>addStringTemplate("%enemyUnit%", attacker.getLabel())); } /** @@ -3515,41 +3515,41 @@ outer: for (Effect effect : effects) { cs.addMessage(winnerPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.unitDemotedToUnarmed.enemy", winner) - .addStringTemplate("%location%", winnerLocation) - .addStringTemplate("%unit%", winner.getLabel()) - .addStringTemplate("%oldName%", loserLabel) - .addStringTemplate("%enemyNation%", loserNation) - .addStringTemplate("%enemyUnit%", loser.getLabel())); + .<ModelMessage>addStringTemplate("%location%", winnerLocation) + .<ModelMessage>addStringTemplate("%unit%", winner.getLabel()) + .<ModelMessage>addStringTemplate("%oldName%", loserLabel) + .<ModelMessage>addStringTemplate("%enemyNation%", loserNation) + .<ModelMessage>addStringTemplate("%enemyUnit%", loser.getLabel())); cs.addMessage(loserPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.unitDemotedToUnarmed.ours", loser) - .addStringTemplate("%location%", loserLocation) - .addStringTemplate("%oldName%", loserLabel) - .addStringTemplate("%unit%", loser.getLabel()) - .addStringTemplate("%enemyNation%", winnerNation) - .addStringTemplate("%enemyUnit%", winner.getLabel())); + .<ModelMessage>addStringTemplate("%location%", loserLocation) + .<ModelMessage>addStringTemplate("%oldName%", loserLabel) + .<ModelMessage>addStringTemplate("%unit%", loser.getLabel()) + .<ModelMessage>addStringTemplate("%enemyNation%", winnerNation) + .<ModelMessage>addStringTemplate("%enemyUnit%", winner.getLabel())); loser.setState(Unit.UnitState.ACTIVE); } else { key = "combat.unitDemoted.enemy." + loser.getType().getSuffix(); cs.addMessage(winnerPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, key, winner) - .addDefaultId("combat.unitDemoted.enemy") - .addStringTemplate("%location%", winnerLocation) - .addStringTemplate("%unit%", winner.getLabel()) - .addStringTemplate("%oldName%", loserLabel) - .addStringTemplate("%enemyNation%", loserNation) - .addStringTemplate("%enemyUnit%", loser.getLabel())); + .<ModelMessage>addDefaultId("combat.unitDemoted.enemy") + .<ModelMessage>addStringTemplate("%location%", winnerLocation) + .<ModelMessage>addStringTemplate("%unit%", winner.getLabel()) + .<ModelMessage>addStringTemplate("%oldName%", loserLabel) + .<ModelMessage>addStringTemplate("%enemyNation%", loserNation) + .<ModelMessage>addStringTemplate("%enemyUnit%", loser.getLabel())); key = "combat.unitDemoted.ours." + loser.getType().getSuffix(); cs.addMessage(loserPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, key, loser) - .addDefaultId("combat.unitDemoted.ours") - .addStringTemplate("%location%", loserLocation) - .addStringTemplate("%oldName%", loserLabel) - .addStringTemplate("%unit%", loser.getLabel()) - .addStringTemplate("%enemyNation%", winnerNation) - .addStringTemplate("%enemyUnit%", winner.getLabel())); + .<ModelMessage>addDefaultId("combat.unitDemoted.ours") + .<ModelMessage>addStringTemplate("%location%", loserLocation) + .<ModelMessage>addStringTemplate("%oldName%", loserLabel) + .<ModelMessage>addStringTemplate("%unit%", loser.getLabel()) + .<ModelMessage>addStringTemplate("%enemyNation%", winnerNation) + .<ModelMessage>addStringTemplate("%enemyUnit%", winner.getLabel())); } } @@ -3570,8 +3570,8 @@ outer: for (Effect effect : effects) { cs.addMessage(this, new ModelMessage(ModelMessage.MessageType.GOODS_MOVEMENT, "combat.tradeRouteSuspended", this) - .addName("%route%", tr.getName()) - .addStringTemplate("%stop%", loc.getLocationLabel())); + .<ModelMessage>addName("%route%", tr.getName()) + .<ModelMessage>addStringTemplate("%stop%", loc.getLocationLabel())); cs.add(See.only(this), tr); } } @@ -3606,10 +3606,10 @@ outer: for (Effect effect : effects) { cs.addMessage(colonyPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.raid.building", colony) - .addName("%colony%", colony.getName()) - .addNamed("%building%", building) - .addStringTemplate("%enemyNation%", attackerNation) - .addStringTemplate("%enemyUnit%", attacker.getLabel())); + .<ModelMessage>addName("%colony%", colony.getName()) + .<ModelMessage>addNamed("%building%", building) + .<ModelMessage>addStringTemplate("%enemyNation%", attackerNation) + .<ModelMessage>addStringTemplate("%enemyUnit%", attacker.getLabel())); } else if (pillage < buildingList.size() + shipList.size()) { Unit ship = shipList.get(pillage - buildingList.size()); if (ship.getRepairLocation() == null) { @@ -3627,11 +3627,11 @@ outer: for (Effect effect : effects) { cs.addMessage(colonyPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.raid.goods", colony, goods) - .addName("%colony%", colony.getName()) - .addAmount("%amount%", goods.getAmount()) - .addNamed("%goods%", goods.getType()) - .addStringTemplate("%enemyNation%", attackerNation) - .addStringTemplate("%enemyUnit%", attacker.getLabel())); + .<ModelMessage>addName("%colony%", colony.getName()) + .<ModelMessage>addAmount("%amount%", goods.getAmount()) + .<ModelMessage>addNamed("%goods%", goods.getType()) + .<ModelMessage>addStringTemplate("%enemyNation%", attackerNation) + .<ModelMessage>addStringTemplate("%enemyUnit%", attacker.getLabel())); } else { int plunder = Math.max(1, colony.getPlunder(attacker, random) / 5); @@ -3641,17 +3641,17 @@ outer: for (Effect effect : effects) { cs.addMessage(colonyPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.raid.plunder", colony) - .addAmount("%amount%", plunder) - .addName("%colony%", colony.getName()) - .addStringTemplate("%enemyNation%", attackerNation) - .addStringTemplate("%enemyUnit%", attacker.getLabel())); + .<ModelMessage>addAmount("%amount%", plunder) + .<ModelMessage>addName("%colony%", colony.getName()) + .<ModelMessage>addStringTemplate("%enemyNation%", attackerNation) + .<ModelMessage>addStringTemplate("%enemyUnit%", attacker.getLabel())); } cs.addGlobalMessage(getGame(), colonyPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.raid.other", colonyPlayer) - .addName("%colony%", colony.getName()) - .addStringTemplate("%colonyNation%", colonyNation) - .addStringTemplate("%nation%", attackerNation)); + .<ModelMessage>addName("%colony%", colony.getName()) + .<ModelMessage>addStringTemplate("%colonyNation%", colonyNation) + .<ModelMessage>addStringTemplate("%nation%", attackerNation)); } /** @@ -3720,8 +3720,8 @@ outer: for (Effect effect : effects) { cs.addMessage(winnerPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.unitPromoted", winner) - .addStringTemplate("%oldName%", winnerLabel) - .addStringTemplate("%unit%", winner.getLabel())); + .<ModelMessage>addStringTemplate("%oldName%", winnerLabel) + .<ModelMessage>addStringTemplate("%unit%", winner.getLabel())); } /** @@ -3747,8 +3747,8 @@ outer: for (Effect effect : effects) { cs.addMessage(shipPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.shipsSunk", shipPlayer) - .addStringTemplate("%ships%", t) - .addAmount("%number%", units.size())); + .<ModelMessage>addStringTemplate("%ships%", t) + .<ModelMessage>addAmount("%number%", units.size())); } } @@ -3770,19 +3770,19 @@ outer: for (Effect effect : effects) { cs.addMessage(attackerPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.shipSunk.enemy", attackerUnit) - .addStringTemplate("%location%", + .<ModelMessage>addStringTemplate("%location%", shipLocation.getLocationLabelFor(attackerPlayer)) - .addStringTemplate("%unit%", attackerUnit.getLabel()) - .addStringTemplate("%enemyUnit%", ship.getLabel()) - .addStringTemplate("%enemyNation%", shipNation)); + .<ModelMessage>addStringTemplate("%unit%", attackerUnit.getLabel()) + .<ModelMessage>addStringTemplate("%enemyUnit%", ship.getLabel()) + .<ModelMessage>addStringTemplate("%enemyNation%", shipNation)); cs.addMessage(shipPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.shipSunk.ours", ship.getTile()) - .addStringTemplate("%location%", + .<ModelMessage>addStringTemplate("%location%", shipLocation.getLocationLabelFor(shipPlayer)) - .addStringTemplate("%unit%", ship.getLabel()) - .addStringTemplate("%enemyUnit%", attackerUnit.getLabel()) - .addStringTemplate("%enemyNation%", attackerNation)); + .<ModelMessage>addStringTemplate("%unit%", ship.getLabel()) + .<ModelMessage>addStringTemplate("%enemyUnit%", attackerUnit.getLabel()) + .<ModelMessage>addStringTemplate("%enemyNation%", attackerNation)); csSinkShip(ship, attackerPlayer, cs); } @@ -3804,19 +3804,19 @@ outer: for (Effect effect : effects) { cs.addMessage(attackerPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.shipSunkByBombardment.enemy", settlement) - .addStringTemplate("%location%", + .<ModelMessage>addStringTemplate("%location%", settlement.getLocationLabelFor(attackerPlayer)) - .addNamed("%building%", building) - .addStringTemplate("%enemyUnit%", ship.getLabel()) - .addStringTemplate("%enemyNation%", shipNation)); + .<ModelMessage>addNamed("%building%", building) + .<ModelMessage>addStringTemplate("%enemyUnit%", ship.getLabel()) + .<ModelMessage>addStringTemplate("%enemyNation%", shipNation)); cs.addMessage(shipPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, "combat.shipSunkByBombardment", ship.getTile()) - .addStringTemplate("%location%", + .<ModelMessage>addStringTemplate("%location%", settlement.getLocationLabelFor(shipPlayer)) - .addStringTemplate("%unit%", ship.getLabel()) - .addNamed("%building%", building) - .addStringTemplate("%enemyNation%", + .<ModelMessage>addStringTemplate("%unit%", ship.getLabel()) + .<ModelMessage>addNamed("%building%", building) + .<ModelMessage>addStringTemplate("%enemyNation%", attackerPlayer.getNationLabel())); csSinkShip(ship, attackerPlayer, cs); @@ -3869,27 +3869,27 @@ outer: for (Effect effect : effects) { cs.addMessage(winnerPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, key, winner) - .addDefaultId("combat.unitSlaughtered.enemy") - .addStringTemplate("%location%", winnerLocation) - .addStringTemplate("%unit%", winner.getLabel()) - .addStringTemplate("%enemyNation%", loserNation) - .addStringTemplate("%enemyUnit%", loser.getLabel())); + .<ModelMessage>addDefaultId("combat.unitSlaughtered.enemy") + .<ModelMessage>addStringTemplate("%location%", winnerLocation) + .<ModelMessage>addStringTemplate("%unit%", winner.getLabel()) + .<ModelMessage>addStringTemplate("%enemyNation%", loserNation) + .<ModelMessage>addStringTemplate("%enemyUnit%", loser.getLabel())); key = "combat.unitSlaughtered.ours." + loser.getType().getSuffix(); cs.addMessage(loserPlayer, new ModelMessage(ModelMessage.MessageType.COMBAT_RESULT, key, loser.getTile()) - .addDefaultId("combat.unitSlaughtered.ours") - .addStringTemplate("%location%", loserLocation) - .addStringTemplate("%unit%", loser.getLabel()) - .addStringTemplate("%enemyNation%", winnerNation) - .addStringTemplate("%enemyUnit%", winner.getLabel())); + .<ModelMessage>addDefaultId("combat.unitSlaughtered.ours") + .<ModelMessage>addStringTemplate("%location%", loserLocation) + .<ModelMessage>addStringTemplate("%unit%", loser.getLabel()) + .<ModelMessage>addStringTemplate("%enemyNation%", winnerNation) + .<ModelMessage>addStringTemplate("%enemyUnit%", winner.getLabel())); if (loserPlayer.isIndian() && loserPlayer.checkForDeath() == IS_DEAD) { StringTemplate nativeNation = loserPlayer.getNationLabel(); cs.addGlobalHistory(getGame(), new HistoryEvent(getGame().getTurn(), HistoryEvent.HistoryEventType.DESTROY_NATION, winnerPlayer) - .addStringTemplate("%nation%", winnerPlayer.getNationLabel()) - .addStringTemplate("%nativeNation%", nativeNation)); + .<HistoryEvent>addStringTemplate("%nation%", winnerPlayer.getNationLabel()) + .<HistoryEvent>addStringTemplate("%nativeNation%", nativeNation)); } // Destroy unit. Note See.only visibility used to handle the @@ -3991,9 +3991,9 @@ outer: for (Effect effect : effects) { cs.addMessage(this, new ModelMessage(ModelMessage.MessageType.FOREIGN_DIPLOMACY, messageId, this) - .addName("%colony%", colony.getName()) - .addAmount("%amount%", amount) - .addNamed("%goods%", goodsType)); + .<ModelMessage>addName("%colony%", colony.getName()) + .<ModelMessage>addAmount("%amount%", amount) + .<ModelMessage>addNamed("%goods%", goodsType)); cs.addAttribute(See.only(this), "flush", Boolean.TRUE.toString()); logger.info("Goods party at " + colony.getName() + " with: " + goods + " arrears: " + arrears); @@ -4017,7 +4017,7 @@ outer: for (Effect effect : effects) { cs.addMessage(this, new ModelMessage(ModelMessage.MessageType.FOREIGN_DIPLOMACY, "model.player.ignoredTax", this) - .addAmount("%amount%", tax)); + .<ModelMessage>addAmount("%amount%", tax)); } /** @@ -4102,7 +4102,7 @@ outer: for (Effect effect : effects) { cs.addMessage(this, new ModelMessage(ModelMessage.MessageType.FOREIGN_DIPLOMACY, "model.player.mercenariesArrived", this) - .addStringTemplate("%location%", + .<ModelMessage>addStringTemplate("%location%", dst.up().getLocationLabelFor(this))); modifyGold(-price); cs.addPartial(See.only(this), this, "gold"); @@ -4134,12 +4134,12 @@ outer: for (Effect effect : effects) { } else { cs.addHistory(other, new HistoryEvent(turn, HistoryEvent.HistoryEventType.MEET_NATION, other) - .addStringTemplate("%nation%", getNationLabel())); + .<HistoryEvent>addStringTemplate("%nation%", getNationLabel())); } } else { // (serverPlayer.isEuropean) cs.addHistory(this, new HistoryEvent(turn, HistoryEvent.HistoryEventType.MEET_NATION, other) - .addStringTemplate("%nation%", other.getNationLabel())); + .<HistoryEvent>addStringTemplate("%nation%", other.getNationLabel())); } logger.finest("First contact between " + this.getId() @@ -4393,8 +4393,8 @@ outer: for (Effect effect : effects) { : "model.player.soLDecrease"; cs.addMessage(this, new ModelMessage(MessageType.SONS_OF_LIBERTY, key, this) - .addAmount("%oldSoL%", oldSoL) - .addAmount("%newSoL%", newSoL)); + .<ModelMessage>addAmount("%oldSoL%", oldSoL) + .<ModelMessage>addAmount("%newSoL%", newSoL)); } oldSoL = newSoL; // Remember SoL for check changes at next turn. } @@ -4500,8 +4500,8 @@ outer: for (Effect effect : effects) { cs.addMessage(sp, new ModelMessage(MessageType.FOREIGN_DIPLOMACY, sta.getOtherStanceChangeKey(), this) - .addStringTemplate("%attacker%", getNationLabel()) - .addStringTemplate("%defender%", s.getNationLabel())); + .<ModelMessage>addStringTemplate("%attacker%", getNationLabel()) + .<ModelMessage>addStringTemplate("%defender%", s.getNationLabel())); } } } diff --git a/src/net/sf/freecol/server/model/ServerUnit.java b/src/net/sf/freecol/server/model/ServerUnit.java index 7a56b218120..b9608ee579d 100644 --- a/src/net/sf/freecol/server/model/ServerUnit.java +++ b/src/net/sf/freecol/server/model/ServerUnit.java @@ -284,8 +284,8 @@ public class ServerUnit extends Unit implements ServerModelObject { cs.addMessage(owner, new ModelMessage(ModelMessage.MessageType.WARNING, messageId, this) - .addStringTemplate("%unit%", getLabel()) - .addStringTemplate("%location%", locName)); + .<ModelMessage>addStringTemplate("%unit%", getLabel()) + .<ModelMessage>addStringTemplate("%location%", locName)); } // Cancel other co-located improvements of the same type @@ -345,8 +345,8 @@ public class ServerUnit extends Unit implements ServerModelObject { new ModelMessage(ModelMessage.MessageType.UNIT_REPAIRED, "model.unit.unitRepaired", this, (FreeColGameObject)loc) - .addStringTemplate("%unit%", getLabel()) - .addStringTemplate("%repairLocation%", + .<ModelMessage>addStringTemplate("%unit%", getLabel()) + .<ModelMessage>addStringTemplate("%repairLocation%", loc.getLocationLabelFor(owner))); setState(UnitState.ACTIVE); } @@ -425,7 +425,7 @@ public class ServerUnit extends Unit implements ServerModelObject { new ModelMessage(ModelMessage.MessageType.LOST_CITY_RUMOUR, RumourType.BURIAL_GROUND.getDescriptionKey(), serverPlayer, this) - .addStringTemplate("%nation%", indianPlayer.getNationLabel())); + .<ModelMessage>addStringTemplate("%nation%", indianPlayer.getNationLabel())); } /** @@ -534,8 +534,8 @@ public class ServerUnit extends Unit implements ServerModelObject { cs.addMessage(serverPlayer, new ModelMessage(ModelMessage.MessageType.LOST_CITY_RUMOUR, key, serverPlayer, this) - .addStringTemplate("%unit%", oldName) - .addNamed("%type%", getType())); + .<ModelMessage>addStringTemplate("%unit%", oldName) + .<ModelMessage>addNamed("%type%", getType())); break; case TRIBAL_CHIEF: int chiefAmount = randomInt(logger, "Chief base amount", @@ -547,7 +547,7 @@ public class ServerUnit extends Unit implements ServerModelObject { cs.addMessage(serverPlayer, new ModelMessage(ModelMessage.MessageType.LOST_CITY_RUMOUR, key, serverPlayer, this) - .addAmount("%money%", chiefAmount)); + .<ModelMessage>addAmount("%money%", chiefAmount)); serverPlayer.invalidateCanSeeTiles();//+vis(serverPlayer) break; case COLONIST: @@ -574,14 +574,14 @@ public class ServerUnit extends Unit implements ServerModelObject { cs.addMessage(serverPlayer, new ModelMessage(ModelMessage.MessageType.LOST_CITY_RUMOUR, key, serverPlayer, newUnit) - .addName("%city%", cityName) - .addAmount("%money%", treasureAmount)); + .<ModelMessage>addName("%city%", cityName) + .<ModelMessage>addAmount("%money%", treasureAmount)); cs.addGlobalHistory(game, new HistoryEvent(game.getTurn(), HistoryEvent.HistoryEventType.CITY_OF_GOLD, serverPlayer) - .addStringTemplate("%nation%", serverPlayer.getNationLabel()) - .addName("%city%", cityName) - .addAmount("%treasure%", treasureAmount)); + .<HistoryEvent>addStringTemplate("%nation%", serverPlayer.getNationLabel()) + .<HistoryEvent>addName("%city%", cityName) + .<HistoryEvent>addAmount("%treasure%", treasureAmount)); break; } // Fall through, found all the cities of gold. @@ -604,7 +604,7 @@ public class ServerUnit extends Unit implements ServerModelObject { new ModelMessage(ModelMessage.MessageType.LOST_CITY_RUMOUR, key, serverPlayer, ((newUnit != null) ? newUnit : this)) - .addAmount("%money%", ruinsAmount)); + .<ModelMessage>addAmount("%money%", ruinsAmount)); break; case FOUNTAIN_OF_YOUTH: ServerEurope europe = (ServerEurope)serverPlayer.getEurope(); @@ -833,8 +833,8 @@ public class ServerUnit extends Unit implements ServerModelObject { new ModelMessage(ModelMessage.MessageType.FOREIGN_DIPLOMACY, "model.unit.nativeSettlementContact", this, is) - .addStringTemplate("%nation%", nation) - .addName("%settlement%", is.getName())); + .<ModelMessage>addStringTemplate("%nation%", nation) + .<ModelMessage>addName("%settlement%", is.getName())); logger.finest("First contact between " + contactPlayer.getId() + " and " + is + " at " + newTile); @@ -867,11 +867,11 @@ public class ServerUnit extends Unit implements ServerModelObject { cs.addMessage(serverPlayer, new ModelMessage(ModelMessage.MessageType.FOREIGN_DIPLOMACY, "model.unit.slowed", this, slowedBy) - .addStringTemplate("%unit%", + .<ModelMessage>addStringTemplate("%unit%", getLabel(UnitLabelType.NATIONAL)) - .addStringTemplate("%enemyUnit%", + .<ModelMessage>addStringTemplate("%enemyUnit%", slowedBy.getLabel(UnitLabelType.PLAIN)) - .addStringTemplate("%enemyNation%", enemy)); + .<ModelMessage>addStringTemplate("%enemyNation%", enemy)); } // Check for region discovery @@ -913,8 +913,8 @@ public class ServerUnit extends Unit implements ServerModelObject { cs.addMessage(owner, new ModelMessage(ModelMessage.MessageType.UNIT_LOST, "model.unit.attrition", this) - .addStringTemplate("%unit%", getLabel()) - .addStringTemplate("%location%", + .<ModelMessage>addStringTemplate("%unit%", getLabel()) + .<ModelMessage>addStringTemplate("%location%", loc.getLocationLabelFor(owner))); cs.add(See.perhaps(), (Tile)loc); cs.addRemove(See.perhaps().always(owner), loc, @@ -947,9 +947,9 @@ public class ServerUnit extends Unit implements ServerModelObject { cs.addMessage(owner, new ModelMessage(ModelMessage.MessageType.UNIT_IMPROVED, "model.unit.experience", getColony(), this) - .addStringTemplate("%oldName%", oldName) - .addStringTemplate("%unit%", getLabel()) - .addName("%colony%", getColony().getName())); + .<ModelMessage>addStringTemplate("%oldName%", oldName) + .<ModelMessage>addStringTemplate("%unit%", getLabel()) + .<ModelMessage>addName("%colony%", getColony().getName())); lb.add(" experience upgrade to ", getType()); unitDirty = true; } @@ -1022,7 +1022,7 @@ public class ServerUnit extends Unit implements ServerModelObject { new ModelMessage(ModelMessage.MessageType.DEFAULT, "model.unit.arriveInEurope", europe, this) - .addNamed("%europe%", europe)); + .<ModelMessage>addNamed("%europe%", europe)); } setState(UnitState.ACTIVE); setLocation(europe);//-vis: safe/Europe -- 2.11.0.rc0.7.gbe5a750 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Freecol-developers mailing list Freecol-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freecol-developers