50 protected boolean create(MarketAPI createdAt,
boolean barEvent) {
52 if (!setGlobalReference(
"$gaCO_ref")) {
62 requireSystemTags(ReqMode.NOT_ANY, Tags.THEME_UNSAFE, Tags.THEME_CORE);
63 requireTerrainType(ReqMode.ANY, Terrain.ASTEROID_BELT, Terrain.ASTEROID_FIELD, Terrain.DEBRIS_FIELD,
64 Terrain.MAGNETIC_FIELD, Terrain.NEBULA, Terrain.RING);
66 preferTerrainType(ReqMode.NOT_ANY, Terrain.ASTEROID_BELT, Terrain.ASTEROID_FIELD);
71 preferSystemHasPulsar();
73 preferSystemBlackHole();
76 preferSystemNotPulsar();
77 preferSystemNotBlackHole();
82 preferSystemUnexplored();
83 preferTerrainInDirectionOfOtherMissions();
85 object = pickTerrain();
91 system =
object.getStarSystem();
93 setStartingStage(Stage.GO_TO_OBJECT);
94 addSuccessStages(Stage.COMPLETED);
95 addFailureStages(Stage.FAILED);
98 SectorEntityToken node = spawnMissionNode(
new LocData(
object));
99 makeImportant(node,
"$gaCO_object", Stage.GO_TO_OBJECT);
102 setStageOnGlobalFlag(Stage.COMPLETED,
"$gaCO_scanCompleted");
103 setStageOnGlobalFlag(Stage.FAILED,
"$gaCO_gaveScannerToPathers");
109 setCreditReward(CreditReward.AVERAGE);
114 }
else if (
system.hasBlackHole()) {
125 beginWithinHyperspaceRangeTrigger(
object, 1f,
false, Stage.GO_TO_OBJECT);
126 triggerCreateFleet(FleetSize.LARGE, FleetQuality.HIGHER, Factions.LUDDIC_PATH, FleetTypes.PATROL_MEDIUM,
object);
127 triggerFleetPatherNoDefaultTithe();
128 triggerAutoAdjustFleetStrengthModerate();
129 triggerMakeAllFleetFlagsPermanent();
130 triggerSetStandardAggroPirateFlags();
131 triggerPickLocationAroundEntity(node, 1000f);
132 triggerSpawnFleetAtPickedLocation(
"$gaCO_patherPermanentFlag",
null);
133 triggerFleetAllowLongPursuit();
134 triggerOrderFleetPatrol(node);
136 triggerSetFleetMemoryValue(
"$gaCO_patherTithe", Misc.getWithDGS(
patherTithe));
137 triggerFleetMakeImportant(
"$gaCO_patherMissionInProgress", Stage.GO_TO_OBJECT);
142 setMapMarkerNameColorBasedOnStar(
system);
179 Color h = Misc.getHighlightColor();
180 if (currentStage == Stage.GO_TO_OBJECT) {
181 info.addPara(
"Scan " + getTerrainTypeAOrAn(
object) +
" " + getTerrainType(
object) +
182 " in the " +
system.getNameWithLowercaseTypeShort(), tc, pad);