49 FleetOrStubAPI fleet = getAssignable();
51 if (fleet.getCurrentAssignment() !=
null) {
52 if (fleet instanceof CampaignFleetAPI) {
53 float fp = ((CampaignFleetAPI)fleet).getFleetPoints();
54 if (fp < data.startingFleetPoints && !orderedReturn) {
56 fleet.clearAssignments();
58 fleet.addAssignment(FleetAssignment.GO_TO_LOCATION, data.sourceMarket.getPrimaryEntity(), 1000,
59 "returning to " + data.sourceMarket.getName());
60 fleet.addAssignment(FleetAssignment.ORBIT_PASSIVE, data.sourceMarket.getPrimaryEntity(), 1f,
61 "standing down from patrol duty");
62 fleet.addAssignment(FleetAssignment.GO_TO_LOCATION_AND_DESPAWN, data.sourceMarket.getPrimaryEntity(), 1000);
66 float daysToOrbit = getDaysToOrbit();
67 StarSystemAPI system = data.sourceMarket.getStarSystem();
69 fleet.addAssignment(FleetAssignment.DEFEND_LOCATION, data.sourceMarket.getPrimaryEntity(), 20,
70 "patrolling around " + data.sourceMarket.getName());
71 fleet.addAssignment(FleetAssignment.GO_TO_LOCATION, data.sourceMarket.getPrimaryEntity(), 1000,
72 "returning to " + data.sourceMarket.getName());
73 fleet.addAssignment(FleetAssignment.ORBIT_PASSIVE, data.sourceMarket.getPrimaryEntity(), daysToOrbit,
74 "standing down from patrol duty");
76 if ((
float) Math.random() > 0.95f) {
77 fleet.addAssignment(FleetAssignment.PATROL_SYSTEM, system.getHyperspaceAnchor(), 20,
78 "patrolling around the " + system.getBaseName() +
" star system");
79 fleet.addAssignment(FleetAssignment.GO_TO_LOCATION, data.sourceMarket.getPrimaryEntity(), 1000,
80 "returning to " + data.sourceMarket.getName());
81 fleet.addAssignment(FleetAssignment.ORBIT_PASSIVE, data.sourceMarket.getPrimaryEntity(), daysToOrbit,
82 "standing down from patrol duty");
84 WeightedRandomPicker<SectorEntityToken> defenseTargets =
new WeightedRandomPicker<SectorEntityToken>();
85 SectorEntityToken generalPatrol = data.sourceMarket.getPrimaryEntity().getContainingLocation().createToken(0, 0);
87 defenseTargets.add(generalPatrol, 30);
89 SectorEntityToken pick = defenseTargets.pick();
91 if (pick == generalPatrol) {
92 fleet.addAssignment(FleetAssignment.PATROL_SYSTEM, system.getStar(), 30,
93 "patrolling the " + system.getBaseName() +
" star system");
94 fleet.addAssignment(FleetAssignment.GO_TO_LOCATION, data.sourceMarket.getPrimaryEntity(), 1000,
95 "returning to " + data.sourceMarket.getName());
96 fleet.addAssignment(FleetAssignment.ORBIT_PASSIVE, data.sourceMarket.getPrimaryEntity(), daysToOrbit,
97 "standing down from patrol duty");
99 fleet.addAssignment(FleetAssignment.DEFEND_LOCATION, pick, 30,
100 "patrolling around " + pick.getName());
101 fleet.addAssignment(FleetAssignment.GO_TO_LOCATION, data.sourceMarket.getPrimaryEntity(), 1000,
102 "returning to " + data.sourceMarket.getName());
103 fleet.addAssignment(FleetAssignment.ORBIT_PASSIVE, data.sourceMarket.getPrimaryEntity(), daysToOrbit,
104 "standing down from patrol duty");