67 this.params.fleetAction = fleetAction;
68 this.params.targetAction = targetAction;
70 durDays = params.minDurDays + (params.maxDurDays -
params.minDurDays) * (
float) Math.random();
72 interval.forceIntervalElapsed();
92 if (
fleet.getAI() !=
null) {
93 Misc.setFlagWithReason(
fleet.getMemoryWithoutUpdate(), MemFlags.FLEET_BUSY,
"npc_hassle",
false, 0f);
94 fleet.getMemoryWithoutUpdate().unset(MemFlags.FLEET_SPECIAL_ACTION);
95 fleet.getMemoryWithoutUpdate().unset(MemFlags.MEMORY_KEY_FLEET_DO_NOT_GET_SIDETRACKED);
97 FleetAssignmentDataAPI curr =
fleet.getAI().getCurrentAssignment();
99 fleet.removeFirstAssignment();
108 if (
target.isPlayerFleet()) {
112 if (
fleet.getBattle() !=
null ||
target.getBattle() !=
null) {
116 if (
fleet.getAI() !=
null && (
fleet.getAI().isFleeing() ||
fleet.getAI().isMaintainingContact())) {
120 if (
target.getAI() !=
null && (
target.getAI().isFleeing() ||
target.getAI().isMaintainingContact())) {
124 if (
fleet.getContainingLocation() !=
target.getContainingLocation()) {
138 if (
params.crDamageMult > 0) {
139 float damageFP =
fleet.getFleetPoints() * 0.2f;
140 ApplyCRDamage.applyCRDamage(
target, damageFP,
params.crDamageMult,
"Vindictive inspection",
null,
new Random());
155 interval.advance(days);
156 if (!interval.intervalElapsed())
return;
160 if (
fleet.getAI() !=
null) {
161 Misc.setFlagWithReason(
fleet.getMemoryWithoutUpdate(), MemFlags.FLEET_BUSY,
"npc_hassle",
true, 0.4f);
162 fleet.getMemoryWithoutUpdate().set(MemFlags.MEMORY_KEY_FLEET_DO_NOT_GET_SIDETRACKED,
true, 0.4f);
163 fleet.getMemoryWithoutUpdate().set(MemFlags.FLEET_SPECIAL_ACTION,
true, 0.4f);
164 FleetAssignmentDataAPI curr =
fleet.getAI().getCurrentAssignment();
166 fleet.clearAssignments();
167 fleet.addAssignmentAtStart(FleetAssignment.HOLD,
null,
durDays + 1f,
params.fleetAction,
null);
171 if (
target.getAI() !=
null) {
172 Misc.setFlagWithReason(
target.getMemoryWithoutUpdate(), MemFlags.FLEET_BUSY,
"npc_hassle",
true, 0.4f);
173 target.getMemoryWithoutUpdate().set(MemFlags.MEMORY_KEY_FLEET_DO_NOT_GET_SIDETRACKED,
true, 0.4f);
174 target.getMemoryWithoutUpdate().set(MemFlags.FLEET_SPECIAL_ACTION,
true, 0.4f);
176 FleetAssignmentDataAPI curr =
target.getAI().getCurrentAssignment();
179 target.clearAssignments();
180 target.addAssignmentAtStart(FleetAssignment.HOLD,
null,
durDays + 1f,
params.targetAction,
null);