25 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
27 if (dialog ==
null)
return false;
28 if (!(dialog.getInteractionTarget() instanceof CampaignFleetAPI))
return false;
30 CampaignFleetAPI fleet = (CampaignFleetAPI) dialog.getInteractionTarget();
32 String shipOrFleet =
"ship";
33 if (fleet.getFleetData().getMembersListCopy().size() > 1) {
34 shipOrFleet =
"fleet";
36 FactionAPI faction = fleet.getFaction();
37 String factionName = faction.getEntityNamePrefix();
38 if (factionName ==
null || factionName.isEmpty()) {
39 factionName = faction.getDisplayName();
42 dialog.getTextPanel().addPara(
"You're being hailed by the " + factionName +
" " + shipOrFleet +
".",
43 faction.getBaseUIColor());
45 fleet.getMemoryWithoutUpdate().set(
"$hailing",
true, 0);