14 public static class CryopodOfficerTemplate {
15 public List<String> base =
new ArrayList<String>();
16 public List<String> elite =
new ArrayList<String>();
18 public String personality =
null;
21 public CryopodOfficerTemplate() {
23 public CryopodOfficerTemplate(String personality) {
24 this.personality = personality;
27 public PersonAPI create(FactionAPI faction, Random random) {
28 PersonAPI officer = faction.createRandomPerson(random);
29 if (personality !=
null) {
30 officer.setPersonality(personality);
33 int level = base.size() + elite.size();
34 officer.getStats().setLevel(level);
36 for (String
id : base) {
37 officer.getStats().setSkillLevel(
id, 1);
39 for (String
id : elite) {
40 officer.getStats().setSkillLevel(
id, 2);
46 public static WeightedRandomPicker<CryopodOfficerTemplate>
TEMPLATES_NORMAL =
new WeightedRandomPicker<CryopodOfficerTemplate>();
47 public static WeightedRandomPicker<CryopodOfficerTemplate>
TEMPLATES_EXCEPTIONAL =
new WeightedRandomPicker<CryopodOfficerTemplate>();
50 CryopodOfficerTemplate t;
55 t =
new CryopodOfficerTemplate();
56 t.elite.add(Skills.TARGET_ANALYSIS);
57 t.elite.add(Skills.ENERGY_WEAPON_MASTERY);
58 t.elite.add(Skills.FIELD_MODULATION);
59 t.elite.add(Skills.GUNNERY_IMPLANTS);
60 t.elite.add(Skills.SYSTEMS_EXPERTISE);
61 t.base.add(Skills.COMBAT_ENDURANCE);
62 t.base.add(Skills.HELMSMANSHIP);
66 t =
new CryopodOfficerTemplate();
67 t.elite.add(Skills.HELMSMANSHIP);
68 t.elite.add(Skills.ENERGY_WEAPON_MASTERY);
69 t.elite.add(Skills.FIELD_MODULATION);
70 t.elite.add(Skills.GUNNERY_IMPLANTS);
71 t.elite.add(Skills.ORDNANCE_EXPERTISE);
72 t.base.add(Skills.TARGET_ANALYSIS);
73 t.base.add(Skills.COMBAT_ENDURANCE);
77 t =
new CryopodOfficerTemplate();
78 t.elite.add(Skills.DAMAGE_CONTROL);
79 t.elite.add(Skills.IMPACT_MITIGATION);
80 t.elite.add(Skills.POLARIZED_ARMOR);
81 t.elite.add(Skills.BALLISTIC_MASTERY);
82 t.elite.add(Skills.TARGET_ANALYSIS);
83 t.base.add(Skills.MISSILE_SPECIALIZATION);
84 t.base.add(Skills.GUNNERY_IMPLANTS);
87 t =
new CryopodOfficerTemplate();
88 t.elite.add(Skills.ORDNANCE_EXPERTISE);
89 t.elite.add(Skills.IMPACT_MITIGATION);
90 t.elite.add(Skills.POLARIZED_ARMOR);
91 t.elite.add(Skills.BALLISTIC_MASTERY);
92 t.elite.add(Skills.TARGET_ANALYSIS);
93 t.base.add(Skills.MISSILE_SPECIALIZATION);
94 t.base.add(Skills.GUNNERY_IMPLANTS);
98 t =
new CryopodOfficerTemplate();
99 t.elite.add(Skills.IMPACT_MITIGATION);
100 t.elite.add(Skills.FIELD_MODULATION);
101 t.elite.add(Skills.TARGET_ANALYSIS);
102 t.elite.add(Skills.SYSTEMS_EXPERTISE);
103 t.elite.add(Skills.COMBAT_ENDURANCE);
104 t.base.add(Skills.POLARIZED_ARMOR);
105 t.base.add(Skills.ENERGY_WEAPON_MASTERY);
110 t =
new CryopodOfficerTemplate();
111 t.elite.add(Skills.FIELD_MODULATION);
112 t.elite.add(Skills.ORDNANCE_EXPERTISE);
113 t.elite.add(Skills.TARGET_ANALYSIS);
114 t.elite.add(Skills.POINT_DEFENSE);
115 t.elite.add(Skills.GUNNERY_IMPLANTS);
116 t.base.add(Skills.HELMSMANSHIP);
117 t.base.add(Skills.COMBAT_ENDURANCE);
121 t =
new CryopodOfficerTemplate();
122 t.elite.add(Skills.FIELD_MODULATION);
123 t.elite.add(Skills.ORDNANCE_EXPERTISE);
124 t.elite.add(Skills.TARGET_ANALYSIS);
125 t.elite.add(Skills.IMPACT_MITIGATION);
126 t.elite.add(Skills.GUNNERY_IMPLANTS);
127 t.base.add(Skills.HELMSMANSHIP);
128 t.base.add(Skills.COMBAT_ENDURANCE);
133 t =
new CryopodOfficerTemplate();
134 t.elite.add(Skills.COMBAT_ENDURANCE);
135 t.elite.add(Skills.TARGET_ANALYSIS);
136 t.elite.add(Skills.SYSTEMS_EXPERTISE);
137 t.elite.add(Skills.DAMAGE_CONTROL);
138 t.elite.add(Skills.IMPACT_MITIGATION);
139 t.base.add(Skills.FIELD_MODULATION);
140 t.base.add(Skills.BALLISTIC_MASTERY);
144 t =
new CryopodOfficerTemplate();
145 t.elite.add(Skills.COMBAT_ENDURANCE);
146 t.elite.add(Skills.TARGET_ANALYSIS);
147 t.elite.add(Skills.SYSTEMS_EXPERTISE);
148 t.elite.add(Skills.DAMAGE_CONTROL);
149 t.elite.add(Skills.IMPACT_MITIGATION);
150 t.base.add(Skills.FIELD_MODULATION);
151 t.base.add(Skills.ENERGY_WEAPON_MASTERY);
159 t =
new CryopodOfficerTemplate();
160 t.elite.add(Skills.IMPACT_MITIGATION);
161 t.base.add(Skills.ORDNANCE_EXPERTISE);
162 t.base.add(Skills.FIELD_MODULATION);
163 t.base.add(Skills.TARGET_ANALYSIS);
164 t.base.add(Skills.COMBAT_ENDURANCE);
168 t =
new CryopodOfficerTemplate();
169 t.elite.add(Skills.TARGET_ANALYSIS);
170 t.base.add(Skills.IMPACT_MITIGATION);
171 t.base.add(Skills.ORDNANCE_EXPERTISE);
172 t.base.add(Skills.FIELD_MODULATION);
173 t.base.add(Skills.COMBAT_ENDURANCE);
177 t =
new CryopodOfficerTemplate();
178 t.elite.add(Skills.SYSTEMS_EXPERTISE);
179 t.base.add(Skills.TARGET_ANALYSIS);
180 t.base.add(Skills.ORDNANCE_EXPERTISE);
181 t.base.add(Skills.FIELD_MODULATION);
182 t.base.add(Skills.COMBAT_ENDURANCE);
186 t =
new CryopodOfficerTemplate();
187 t.elite.add(Skills.MISSILE_SPECIALIZATION);
188 t.base.add(Skills.TARGET_ANALYSIS);
189 t.base.add(Skills.BALLISTIC_MASTERY);
190 t.base.add(Skills.IMPACT_MITIGATION);
191 t.base.add(Skills.COMBAT_ENDURANCE);
195 t =
new CryopodOfficerTemplate();
196 t.elite.add(Skills.BALLISTIC_MASTERY);
197 t.base.add(Skills.GUNNERY_IMPLANTS);
198 t.base.add(Skills.TARGET_ANALYSIS);
199 t.base.add(Skills.IMPACT_MITIGATION);
200 t.base.add(Skills.COMBAT_ENDURANCE);
204 t =
new CryopodOfficerTemplate();
205 t.elite.add(Skills.BALLISTIC_MASTERY);
206 t.base.add(Skills.MISSILE_SPECIALIZATION);
207 t.base.add(Skills.TARGET_ANALYSIS);
208 t.base.add(Skills.IMPACT_MITIGATION);
209 t.base.add(Skills.DAMAGE_CONTROL);
213 t =
new CryopodOfficerTemplate();
214 t.elite.add(Skills.HELMSMANSHIP);
215 t.base.add(Skills.MISSILE_SPECIALIZATION);
216 t.base.add(Skills.TARGET_ANALYSIS);
217 t.base.add(Skills.IMPACT_MITIGATION);
218 t.base.add(Skills.BALLISTIC_MASTERY);
222 t =
new CryopodOfficerTemplate();
223 t.elite.add(Skills.ENERGY_WEAPON_MASTERY);
224 t.base.add(Skills.TARGET_ANALYSIS);
225 t.base.add(Skills.MISSILE_SPECIALIZATION);
226 t.base.add(Skills.ORDNANCE_EXPERTISE);
227 t.base.add(Skills.COMBAT_ENDURANCE);
231 t =
new CryopodOfficerTemplate();
232 t.elite.add(Skills.ENERGY_WEAPON_MASTERY);
233 t.base.add(Skills.TARGET_ANALYSIS);
234 t.base.add(Skills.HELMSMANSHIP);
235 t.base.add(Skills.ORDNANCE_EXPERTISE);
236 t.base.add(Skills.COMBAT_ENDURANCE);
240 t =
new CryopodOfficerTemplate();
241 t.elite.add(Skills.FIELD_MODULATION);
242 t.base.add(Skills.IMPACT_MITIGATION);
243 t.base.add(Skills.TARGET_ANALYSIS);
244 t.base.add(Skills.SYSTEMS_EXPERTISE);
245 t.base.add(Skills.COMBAT_ENDURANCE);
249 t =
new CryopodOfficerTemplate();
250 t.elite.add(Skills.FIELD_MODULATION);
251 t.base.add(Skills.IMPACT_MITIGATION);
252 t.base.add(Skills.TARGET_ANALYSIS);
253 t.base.add(Skills.MISSILE_SPECIALIZATION);
254 t.base.add(Skills.COMBAT_ENDURANCE);
259 t =
new CryopodOfficerTemplate();
260 t.elite.add(Skills.TARGET_ANALYSIS);
261 t.base.add(Skills.COMBAT_ENDURANCE);
262 t.base.add(Skills.MISSILE_SPECIALIZATION);
263 t.base.add(Skills.IMPACT_MITIGATION);
264 t.base.add(Skills.FIELD_MODULATION);