19 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
20 if (dialog ==
null)
return false;
21 if (dialog.getInteractionTarget() ==
null)
return false;
23 final String factionId = params.get(0).getString(memoryMap);
24 String reason = params.get(1).getString(memoryMap);
25 float range = params.get(2).getFloat(memoryMap);
26 float days = params.get(3).getFloat(memoryMap);
28 List<CampaignFleetAPI> fleets = Misc.findNearbyFleets(dialog.getInteractionTarget(), range,
new FleetFilter() {
29 public boolean accept(CampaignFleetAPI curr) {
30 return curr.getFaction().getId().equals(factionId);
34 for (CampaignFleetAPI curr : fleets) {
35 MemoryAPI memory = curr.getMemoryWithoutUpdate();
36 Misc.setFlagWithReason(memory, MemFlags.MEMORY_KEY_MAKE_NON_HOSTILE, reason,
true, days);