264 trapFactions = remnantsFaction;
293 picker.
add(
new NothingSpecialCreator(), 30f);
294 picker.
add(
new ShipRecoverySpecialCreator(random, 1, 2,
false, DerelictType.CIVILIAN, recoverableShipFactions), 5f);
295 picker.
add(
new ShipRecoverySpecialCreator(random, 1, 3,
false, DerelictType.SMALL, recoverableShipFactions), 10f);
296 picker.
add(
new ShipRecoverySpecialCreator(random, 1, 1,
false, DerelictType.MEDIUM, recoverableShipFactions), 3f);
297 picker.
add(
new ShipRecoverySpecialCreator(random, 1, 1,
false, DerelictType.LARGE, recoverableShipFactions), 1f);
299 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.MARINES, 100 * sizeMult, 200 * sizeMult,
null), 2f);
300 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.CREW, 500 * sizeMult, 1000 * sizeMult,
null), 6f);
301 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.ORGANS, 50 * sizeMult, 500 * sizeMult,
null), 3f);
303 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.OFFICER,
STANDARD_PODS_OFFICER_LEVEL, maxPodsOfficerLevel, officerFactions), 1f);
305 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.ADMIN, 1, 1, officerFactions), 5f);
307 picker.
add(
new CargoManifestSpecialCreator(random, industryCargo, 500 * sizeMult, 2500 * sizeMult), 15f);
308 picker.
add(
new CargoManifestSpecialCreator(random, valuableCargo, 500 * sizeMult, 2500 * sizeMult), 15f);
311 (
int)(10 + 30 * sizeMult), (
int)(10 + 30 * sizeMult)), 10f);
324 PerShipData shipData = plugin.
getData().ship;
326 if (variant ==
null && shipData.variantId !=
null) {
332 picker.
add(
new NothingSpecialCreator(), 40f);
333 picker.
add(
new ShipRecoverySpecialCreator(random, 0, 0,
false,
null,
null), 30f);
334 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.MARINES, p * 0.125f, p * 0.25f,
null), 2f);
335 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.CREW, p * 0.25f, p * 0.5f,
null), 7f);
336 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.ORGANS, p * 0.1f, p * 0.2f,
null), 3f);
337 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.OFFICER,
STANDARD_PODS_OFFICER_LEVEL, maxPodsOfficerLevel, officerFactions), 10f);
338 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.ADMIN, 1, 1, officerFactions), 0.2f);
339 picker.
add(
new CargoManifestSpecialCreator(random, valuableCargo, c * 0.25f, c * 0.5f), 10f);
340 picker.
add(
new SurveyDataSpecialCreator(random, SurveyDataSpecialType.PLANET_SURVEY_DATA), 4f);
341 picker.
add(
new BreadcrumbSpecialCreator(random, context.all), 10f);
349 picker.
add(
new BlueprintSpecialCreator(random), 1f);
357 picker.
add(
new NothingSpecialCreator(), 60f);
358 picker.
add(
new ShipRecoverySpecialCreator(random, 1, 3,
true,
null, recoverableShipFactions), 10f);
359 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.MARINES, 10, 30,
null), 2f);
360 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.CREW, 10, 50,
null), 6f);
361 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.ORGANS, 1, 5,
null), 3f);
362 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.OFFICER,
STANDARD_PODS_OFFICER_LEVEL, maxPodsOfficerLevel, officerFactions), 1f);
363 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.ADMIN, 1, 5, officerFactions), 0.2f);
364 picker.
add(
new CargoManifestSpecialCreator(random, valuableCargo, 10, 50), 10f);
365 picker.
add(
new SurveyDataSpecialCreator(random, SurveyDataSpecialType.PLANET_SURVEY_DATA), 4f);
366 picker.
add(
new BreadcrumbSpecialCreator(random, context.all), 10f);
372 picker.
add(
new NothingSpecialCreator(), 30f);
373 picker.
add(
new ShipRecoverySpecialCreator(random, 1, 3,
false, DerelictType.CIVILIAN, recoverableShipFactions), 10f);
374 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.MARINES, 10, 20,
null), 1f);
375 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.CREW, 100, 200,
null), 6f);
376 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.ORGANS, 5, 50,
null), 3f);
377 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.OFFICER,
STANDARD_PODS_OFFICER_LEVEL, maxPodsOfficerLevel, officerFactions), 1f);
378 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.ADMIN, 1, 5, officerFactions), 3f);
379 picker.
add(
new CargoManifestSpecialCreator(random, industryCargo, 50, 250), 30f);
380 picker.
add(
new SurveyDataSpecialCreator(random, SurveyDataSpecialType.PLANET_SURVEY_DATA), 8f);
381 picker.
add(
new BreadcrumbSpecialCreator(random, context.all), 10f);
387 picker.
add(
new NothingSpecialCreator(), 30f);
388 picker.
add(
new ShipRecoverySpecialCreator(random, 1, 3,
false, DerelictType.CIVILIAN, recoverableShipFactions), 10f);
389 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.MARINES, 50, 100,
null), 2f);
390 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.CREW, 100, 200,
null), 6f);
391 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.ORGANS, 5, 50,
null), 3f);
392 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.OFFICER,
STANDARD_PODS_OFFICER_LEVEL, maxPodsOfficerLevel, officerFactions), 1f);
393 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.ADMIN, 1, 5, officerFactions), 3f);
394 picker.
add(
new CargoManifestSpecialCreator(random, valuableCargo, 10, 30), 10f);
395 picker.
add(
new SurveyDataSpecialCreator(random, SurveyDataSpecialType.PLANET_SURVEY_DATA), 4f);
396 picker.
add(
new BreadcrumbSpecialCreator(random, context.all), 10f);
402 picker.
add(
new NothingSpecialCreator(), 40f);
403 picker.
add(
new ShipRecoverySpecialCreator(random, 1, 3,
false, DerelictType.CIVILIAN, recoverableShipFactions), 20f);
404 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.MARINES, 50, 100,
null), 6f);
405 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.CREW, 100, 200,
null), 20f);
406 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.ORGANS, 5, 50,
null), 5f);
407 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.OFFICER,
STANDARD_PODS_OFFICER_LEVEL, maxPodsOfficerLevel, officerFactions), 10f);
408 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.ADMIN, 1, 5, officerFactions), 5f);
409 picker.
add(
new CargoManifestSpecialCreator(random, habCargo, 10, 30), 10f);
410 picker.
add(
new SurveyDataSpecialCreator(random, SurveyDataSpecialType.PLANET_SURVEY_DATA), 2f);
411 picker.
add(
new BreadcrumbSpecialCreator(random, context.all), 10f);
418 if (weapons.contains(type)) {
419 picker.
add(
new NothingSpecialCreator(), 30f);
420 picker.
add(
new ShipRecoverySpecialCreator(random, 1, 1,
false, DerelictType.SMALL, recoverableShipFactions), 10f);
421 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.MARINES, 50, 100,
null), 1f);
422 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.OFFICER,
STANDARD_PODS_OFFICER_LEVEL, maxPodsOfficerLevel, officerFactions), 2f);
423 picker.
add(
new CargoManifestSpecialCreator(random, valuableCargo, 10, 30), 10f);
429 if (weaponsSmall.contains(type)) {
430 picker.
add(
new NothingSpecialCreator(), 30f);
431 picker.
add(
new ShipRecoverySpecialCreator(random, 1, 1,
false, DerelictType.SMALL, recoverableShipFactions), 10f);
432 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.OFFICER,
STANDARD_PODS_OFFICER_LEVEL, maxPodsOfficerLevel, officerFactions), 1f);
433 picker.
add(
new CargoManifestSpecialCreator(random, valuableCargo, 10, 30), 10f);
439 if (supplies.contains(type)) {
440 picker.
add(
new NothingSpecialCreator(), 30f);
441 picker.
add(
new ShipRecoverySpecialCreator(random, 1, 1,
false, DerelictType.SMALL, recoverableShipFactions), 10f);
442 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.OFFICER,
STANDARD_PODS_OFFICER_LEVEL, maxPodsOfficerLevel, officerFactions), 1f);
443 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.ADMIN, 1, 5, officerFactions), 0.2f);
444 picker.
add(
new CargoManifestSpecialCreator(random, valuableCargo, 10, 30), 10f);
449 if (suppliesSmall.contains(type)) {
450 picker.
add(
new NothingSpecialCreator(), 30f);
451 picker.
add(
new ShipRecoverySpecialCreator(random, 1, 1,
false, DerelictType.SMALL, recoverableShipFactions), 10f);
452 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.OFFICER,
STANDARD_PODS_OFFICER_LEVEL, maxPodsOfficerLevel, officerFactions), 1f);
453 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.ADMIN, 1, 5, officerFactions), 0.2f);
454 picker.
add(
new CargoManifestSpecialCreator(random, valuableCargo, 10, 30), 10f);
460 if (equipment.contains(type)) {
461 picker.
add(
new NothingSpecialCreator(), 30f);
462 picker.
add(
new ShipRecoverySpecialCreator(random, 1, 1,
false, DerelictType.SMALL, recoverableShipFactions), 10f);
463 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.OFFICER,
STANDARD_PODS_OFFICER_LEVEL, maxPodsOfficerLevel, officerFactions), 1f);
464 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.ADMIN, 1, 5, officerFactions), 0.2f);
465 picker.
add(
new CargoManifestSpecialCreator(random, industryCargo, 10, 30), 10f);
471 if (equipmentSmall.contains(type)) {
472 picker.
add(
new NothingSpecialCreator(), 30f);
473 picker.
add(
new ShipRecoverySpecialCreator(random, 1, 1,
false, DerelictType.SMALL, recoverableShipFactions), 10f);
474 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.OFFICER,
STANDARD_PODS_OFFICER_LEVEL, maxPodsOfficerLevel, officerFactions), 1f);
475 picker.
add(
new SleeperPodsSpecialCreator(random, SleeperSpecialType.ADMIN, 1, 5, officerFactions), 0.2f);
476 picker.
add(
new CargoManifestSpecialCreator(random, industryCargo, 10, 30), 10f);
481 return picker.
pick();