77 String name =
"Trade fleets lost";
78 market.getAccessibilityMod().modifyFlat(
id, -penalty, name);
80 if (
market.isPlayerOwned()) {
81 for (CommodityOnMarketAPI com :
market.getCommoditiesCopy()) {
82 List<String> unmodify =
new ArrayList<String>();
83 if (com.getMaxSupply() >= com.getAvailable() + 1) {
84 for (String key : com.getAvailableStat().getFlatMods().keySet()) {
85 StatMod mod = com.getAvailableStat().getFlatStatMod(key);
86 int val = (int)Math.round(Math.abs(mod.value));
88 unmodify.add(mod.source);
92 for (String modId : unmodify) {
93 com.getAvailableStat().unmodifyFlat(modId);
137 tooltip.addTitle(
"Shipping Disruption");
143 Color h = Misc.getHighlightColor();
144 Color n = Misc.getNegativeHighlightColor();
152 tooltip.addPara(
"Trade fleets launched from " +
market.getName() +
" have suffered losses, " +
153 "resulting in a temporary accessibility penalty of %s.", opad, h,
"" + penalty +
"%");
156 CountingMap<CommodityOnMarketAPI> losses =
new CountingMap<CommodityOnMarketAPI>();
158 for (CommodityOnMarketAPI com :
market.getCommoditiesCopy()) {
159 for (String key : com.getAvailableStat().getFlatMods().keySet()) {
160 StatMod mod = com.getAvailableStat().getFlatStatMod(key);
162 int val = (int)Math.round(Math.abs(mod.value));
164 losses.add(com, val);
169 if (!losses.isEmpty()) {
170 tooltip.addPara(
"The local availability of some commodities has been reduced by trade fleet losses. " +
171 "Provided no further losses occur, commodity availability should return to normal levels within at most three months.", opad);
172 tooltip.beginGridFlipped(400, 1, 30, opad);
174 for (CommodityOnMarketAPI com : losses.keySet()) {
175 tooltip.addToGrid(0, j++, com.getCommodity().getName(),
176 "-" + losses.getCount(com), h);
178 tooltip.addGrid(pad);