26 public static Map<String, String>
COMMODITY =
new HashMap<String, String>();
27 public static Map<String, Integer>
MODIFIER =
new HashMap<String, Integer>();
28 public static Map<String, String>
INDUSTRY =
new HashMap<String, String>();
29 public static Map<String, Integer>
BASE_MODIFIER =
new HashMap<String, Integer>();
30 public static Set<String>
BASE_ZERO =
new HashSet<String>();
32 COMMODITY.put(Conditions.ORE_SPARSE, Commodities.ORE);
33 COMMODITY.put(Conditions.ORE_MODERATE, Commodities.ORE);
34 COMMODITY.put(Conditions.ORE_ABUNDANT, Commodities.ORE);
35 COMMODITY.put(Conditions.ORE_RICH, Commodities.ORE);
36 COMMODITY.put(Conditions.ORE_ULTRARICH, Commodities.ORE);
38 COMMODITY.put(Conditions.RARE_ORE_SPARSE, Commodities.RARE_ORE);
39 COMMODITY.put(Conditions.RARE_ORE_MODERATE, Commodities.RARE_ORE);
40 COMMODITY.put(Conditions.RARE_ORE_ABUNDANT, Commodities.RARE_ORE);
41 COMMODITY.put(Conditions.RARE_ORE_RICH, Commodities.RARE_ORE);
42 COMMODITY.put(Conditions.RARE_ORE_ULTRARICH, Commodities.RARE_ORE);
44 COMMODITY.put(Conditions.ORGANICS_TRACE, Commodities.ORGANICS);
45 COMMODITY.put(Conditions.ORGANICS_COMMON, Commodities.ORGANICS);
46 COMMODITY.put(Conditions.ORGANICS_ABUNDANT, Commodities.ORGANICS);
47 COMMODITY.put(Conditions.ORGANICS_PLENTIFUL, Commodities.ORGANICS);
49 COMMODITY.put(Conditions.VOLATILES_TRACE, Commodities.VOLATILES);
50 COMMODITY.put(Conditions.VOLATILES_DIFFUSE, Commodities.VOLATILES);
51 COMMODITY.put(Conditions.VOLATILES_ABUNDANT, Commodities.VOLATILES);
52 COMMODITY.put(Conditions.VOLATILES_PLENTIFUL, Commodities.VOLATILES);
54 COMMODITY.put(Conditions.FARMLAND_POOR, Commodities.FOOD);
55 COMMODITY.put(Conditions.FARMLAND_ADEQUATE, Commodities.FOOD);
56 COMMODITY.put(Conditions.FARMLAND_RICH, Commodities.FOOD);
57 COMMODITY.put(Conditions.FARMLAND_BOUNTIFUL, Commodities.FOOD);
59 COMMODITY.put(Conditions.VOLTURNIAN_LOBSTER_PENS, Commodities.LOBSTER);
61 COMMODITY.put(Conditions.WATER_SURFACE, Commodities.FOOD);
65 MODIFIER.put(Conditions.ORE_SPARSE, -1);
66 MODIFIER.put(Conditions.ORE_MODERATE, 0);
67 MODIFIER.put(Conditions.ORE_ABUNDANT, 1);
68 MODIFIER.put(Conditions.ORE_RICH, 2);
69 MODIFIER.put(Conditions.ORE_ULTRARICH, 3);
72 MODIFIER.put(Conditions.RARE_ORE_SPARSE, -1);
73 MODIFIER.put(Conditions.RARE_ORE_MODERATE, 0);
74 MODIFIER.put(Conditions.RARE_ORE_ABUNDANT, 1);
75 MODIFIER.put(Conditions.RARE_ORE_RICH, 2);
76 MODIFIER.put(Conditions.RARE_ORE_ULTRARICH, 3);
78 MODIFIER.put(Conditions.ORGANICS_TRACE, -1);
79 MODIFIER.put(Conditions.ORGANICS_COMMON, 0);
80 MODIFIER.put(Conditions.ORGANICS_ABUNDANT, 1);
81 MODIFIER.put(Conditions.ORGANICS_PLENTIFUL, 2);
83 MODIFIER.put(Conditions.VOLATILES_TRACE, -1);
84 MODIFIER.put(Conditions.VOLATILES_DIFFUSE, 0);
85 MODIFIER.put(Conditions.VOLATILES_ABUNDANT, 1);
86 MODIFIER.put(Conditions.VOLATILES_PLENTIFUL, 2);
88 MODIFIER.put(Conditions.FARMLAND_POOR, -1);
89 MODIFIER.put(Conditions.FARMLAND_ADEQUATE, 0);
90 MODIFIER.put(Conditions.FARMLAND_RICH, 1);
91 MODIFIER.put(Conditions.FARMLAND_BOUNTIFUL, 2);
93 MODIFIER.put(Conditions.WATER_SURFACE, 0);
95 MODIFIER.put(Conditions.VOLTURNIAN_LOBSTER_PENS, 1);
98 INDUSTRY.put(Commodities.ORE, Industries.MINING);
99 INDUSTRY.put(Commodities.RARE_ORE, Industries.MINING);
100 INDUSTRY.put(Commodities.VOLATILES, Industries.MINING);
101 INDUSTRY.put(Commodities.ORGANICS, Industries.MINING);
103 INDUSTRY.put(Commodities.FOOD, Industries.FARMING);
104 INDUSTRY.put(Commodities.LOBSTER, Industries.FARMING);
158 if (commodityId ==
null)
return;
165 if (mod ==
null)
return;
168 if (baseMod ==
null)
return;
170 String industryId =
INDUSTRY.get(commodityId);
171 if (industryId ==
null)
return;
173 Industry industry =
market.getIndustry(industryId);
174 if (industry ==
null) {
175 if (Industries.FARMING.equals(industryId)) {
176 industryId = Industries.AQUACULTURE;
177 industry =
market.getIndustry(industryId);
179 if (industry ==
null)
return;
182 int size =
market.getSize();
187 int base = size + baseMod;
189 if (industry.isFunctional()) {
193 industry.supply(
id +
"_0", commodityId, base, BaseIndustry.BASE_VALUE_TEXT);
194 industry.supply(
id +
"_1", commodityId, mod, Misc.ucFirst(
condition.getName().toLowerCase()));
196 industry.getSupply(commodityId).getQuantity().unmodifyFlat(
id +
"_0");
197 industry.getSupply(commodityId).getQuantity().unmodifyFlat(
id +
"_1");
200 if (Commodities.FOOD.equals(commodityId)) {
201 market.addImmigrationModifier(
this);
215 market.removeImmigrationModifier(
this);
220 if (
true)
return super.getTokenReplacements();
222 Map<String, String> map = super.getTokenReplacements();
225 if (commodityId ==
null)
return map;
228 if (mod ==
null)
return map;
232 String str =
"" + mod;
233 if (mod > 0) str =
"+" + mod;
235 map.put(
"$resourceModText",
"No bonuses or penalties to " + spec.getName().toLowerCase() +
" production.");
237 map.put(
"$resourceModText",
"" + str +
" to " + spec.getName().toLowerCase() +
" production.");
248 if (
true)
return super.getHighlights();
251 if (commodityId ==
null)
return super.getHighlights();
254 if (mod ==
null)
return super.getHighlights();
256 String str =
"" + mod;
257 if (mod > 0) str =
"+" + mod;
260 return super.getHighlights();
263 return new String[] {str};
267 super.createTooltipAfterDescription(tooltip, expanded);
270 if (commodityId !=
null) {
285 String industryId =
INDUSTRY.get(commodityId);
289 String str =
"" + mod;
290 if (mod > 0) str =
"+" + mod;
293 text =
"No bonuses or penalties to " + spec.getName().toLowerCase() +
" production (" + ind.getName() +
")";
296 text =
"" + str +
" " + spec.getName().toLowerCase() +
" production (" + ind.getName() +
")";
299 tooltip.addPara(text, pad, Misc.getHighlightColor(), str);
307 if (Conditions.FARMLAND_POOR.equals(
condition.getId())) {
309 }
else if (Conditions.FARMLAND_ADEQUATE.equals(
condition.getId())) {
311 }
else if (Conditions.FARMLAND_RICH.equals(
condition.getId())) {
313 }
else if (Conditions.FARMLAND_BOUNTIFUL.equals(
condition.getId())) {
315 }
else if (Conditions.WATER_SURFACE.equals(
condition.getId())) {
319 incoming.add(Factions.LUDDIC_CHURCH, qty);