31 data.difficulty = difficulty;
35 mission.requireSystemInterestingAndNotUnsafeOrCore();
36 mission.requireSystemNotHasPulsar();
37 StarSystemAPI system = mission.pickSystem();
40 FleetSize size = FleetSize.MEDIUM;
41 FleetQuality quality = FleetQuality.DEFAULT;
42 String type = FleetTypes.PATROL_MEDIUM;
43 OfficerQuality oQuality = OfficerQuality.DEFAULT;
44 OfficerNum oNum = OfficerNum.DEFAULT;
46 FactionAPI faction = mission.getPerson().getFaction();
48 if (difficulty <= 4) {
49 size = FleetSize.SMALL;
50 quality = FleetQuality.DEFAULT;
51 oQuality = OfficerQuality.DEFAULT;
52 oNum = OfficerNum.DEFAULT;
53 type = FleetTypes.PATROL_SMALL;
54 }
else if (difficulty <= 5) {
55 size = FleetSize.MEDIUM;
56 quality = FleetQuality.DEFAULT;
57 oQuality = OfficerQuality.DEFAULT;
58 oNum = OfficerNum.DEFAULT;
59 type = FleetTypes.PATROL_MEDIUM;
60 }
else if (difficulty == 6) {
61 size = FleetSize.LARGE;
62 quality = FleetQuality.DEFAULT;
63 oQuality = OfficerQuality.DEFAULT;
64 oNum = OfficerNum.DEFAULT;
65 type = FleetTypes.PATROL_LARGE;
66 }
else if (difficulty == 7) {
67 size = FleetSize.LARGE;
68 quality = FleetQuality.HIGHER;
69 oQuality = OfficerQuality.DEFAULT;
70 oNum = OfficerNum.MORE;
71 type = FleetTypes.PATROL_LARGE;
72 }
else if (difficulty == 8) {
73 size = FleetSize.VERY_LARGE;
74 quality = FleetQuality.HIGHER;
75 oQuality = OfficerQuality.DEFAULT;
76 oNum = OfficerNum.MORE;
77 type = FleetTypes.PATROL_LARGE;
78 }
else if (difficulty == 9) {
79 size = FleetSize.HUGE;
80 quality = FleetQuality.HIGHER;
81 oQuality = OfficerQuality.HIGHER;
82 oNum = OfficerNum.MORE;
83 type = FleetTypes.PATROL_LARGE;
85 size = FleetSize.MAXIMUM;
86 quality = FleetQuality.HIGHER;
87 oQuality = OfficerQuality.HIGHER;
88 oNum = OfficerNum.MORE;
89 type = FleetTypes.PATROL_LARGE;
93 mission.triggerCreateFleet(size, quality, faction.getId(), type, data.
system);
94 mission.triggerSetFleetOfficers(oNum, oQuality);
95 mission.triggerAutoAdjustFleetSize(size, size.next());
96 mission.triggerSetFleetFaction(Factions.PIRATES);
97 mission.triggerFleetSetShipPickMode(ShipPickMode.PRIORITY_THEN_ALL);
99 mission.triggerFleetSetNoFactionInName();
100 if (faction.getEntityNamePrefix() ==
null || faction.getEntityNamePrefix().isEmpty()) {
101 mission.triggerFleetSetName(
"Deserter");
103 mission.triggerFleetSetName(faction.getEntityNamePrefix() +
" Deserter");
106 mission.triggerSetStandardAggroPirateFlags();
107 mission.triggerPickLocationAtInSystemJumpPoint(data.
system);
108 mission.triggerSpawnFleetAtPickedLocation(
null,
null);
110 mission.triggerOrderFleetPatrol(data.
system,
true, Tags.JUMP_POINT, Tags.SALVAGEABLE, Tags.PLANET);
112 if (data.
fleet ==
null)
return null;