21 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
25 String factionId =
null;
26 if (params.size() >= 1) {
27 factionId = params.get(0).getString(memoryMap);
32 for (CampaignFleetAPI fleet : playerFleet.getContainingLocation().getFleets()) {
33 if (factionId !=
null && !fleet.getFaction().getId().equals(factionId))
continue;
34 if (fleet.getFaction().isPlayerFaction())
continue;
35 if (fleet.getBattle() !=
null)
continue;
36 if (fleet.isStationMode())
continue;
38 VisibilityLevel level = playerFleet.getVisibilityLevelTo(fleet);
39 MemoryAPI mem = fleet.getMemoryWithoutUpdate();
40 if (!mem.contains(MemFlags.MEMORY_KEY_SAW_PLAYER_WITH_TRANSPONDER_OFF) &&
41 !mem.contains(MemFlags.MEMORY_KEY_PURSUE_PLAYER)) {
42 if (level == VisibilityLevel.NONE)
continue;
45 float dist = Misc.getDistance(fleet.getLocation(), playerFleet.getLocation());
46 if (dist > 1000f)
continue;