15 CampaignFleetAPI fleet = params.fleet;
16 FactionAPI faction = params.faction;
17 SectorEntityToken stableLoc = params.stableLoc;
19 boolean hasComm =
false;
20 boolean hasSensor =
false;
21 boolean hasNav =
false;
22 for (SectorEntityToken curr : stableLoc.getContainingLocation().getEntitiesWithTag(Tags.OBJECTIVE)) {
24 if (curr.getFaction() != faction && !curr.getFaction().isHostileTo(faction)) {
27 hasComm |= curr.hasTag(Tags.COMM_RELAY);
28 hasSensor |= curr.hasTag(Tags.SENSOR_ARRAY);
29 hasNav |= curr.hasTag(Tags.NAV_BUOY);
32 if (faction.getCustomBoolean(Factions.CUSTOM_PIRATE_BEHAVIOR)) {
33 if (!hasSensor && !hasNav) {
34 if ((
float) Math.random() > 0.5f) {
35 return Entities.NAV_BUOY_MAKESHIFT;
37 return Entities.SENSOR_ARRAY_MAKESHIFT;
40 return Entities.SENSOR_ARRAY_MAKESHIFT;
43 return Entities.NAV_BUOY_MAKESHIFT;
46 return Entities.COMM_RELAY_MAKESHIFT;
50 return Entities.COMM_RELAY_MAKESHIFT;
53 return Entities.NAV_BUOY_MAKESHIFT;
56 return Entities.SENSOR_ARRAY_MAKESHIFT;