53 if (!
interval.intervalElapsed())
return;
55 if (
fleet.getMemoryWithoutUpdate().getBoolean(
"$turnOffAutoInterceptScript")) {
61 if (!
stages.contains(stage)) {
66 if (
fleet.getAI() instanceof ModularFleetAIAPI) {
67 ModularFleetAIAPI ai = (ModularFleetAIAPI)
fleet.getAI();
71 EncounterOption option = ai.getTacticalModule().pickEncounterOption(
null, player);
72 boolean recentlyBeaten =
fleet.getMemoryWithoutUpdate().getBoolean(MemFlags.MEMORY_KEY_RECENTLY_DEFEATED_BY_PLAYER);
73 if (recentlyBeaten) option = EncounterOption.DISENGAGE;
74 if (option == EncounterOption.DISENGAGE || option == EncounterOption.HOLD_VS_STRONGER) {
79 if (ai.getAssignmentModule() !=
null) {
80 FleetAssignmentDataAPI curr = ai.getAssignmentModule().getCurrentAssignment();
81 if (curr !=
null && curr.getTarget() == player &&
82 (curr.getAssignment() == FleetAssignment.INTERCEPT ||
83 curr.getAssignment() == FleetAssignment.FOLLOW)) {
87 if (player.getContainingLocation() ==
fleet.getContainingLocation() &&
88 Misc.getDistance(player,
fleet) <=
maxRange + player.getRadius() +
fleet.getRadius() &&
89 fleet.getVisibilityLevelOfPlayerFleet() != VisibilityLevel.NONE) {
90 ai.getAssignmentModule().addAssignmentAtStart(FleetAssignment.INTERCEPT, player, 3f,
null);