52 protected boolean create(MarketAPI createdAt,
boolean barEvent) {
54 if (!setGlobalReference(
"$gaData_ref")) {
59 targetWithArticle = pickOne(
"a library",
"a datavault",
"an archive",
"a laboratory");
63 requireSystemTags(ReqMode.ANY, Tags.THEME_REMNANT_RESURGENT, Tags.THEME_REMNANT_SUPPRESSED,
64 Tags.THEME_DERELICT, Tags.THEME_MISC, Tags.THEME_RUINS);
65 requireSystemTags(ReqMode.NOT_ANY, Tags.THEME_REMNANT_SECONDARY);
71 requirePlanetUnpopulated();
72 requirePlanetWithRuins();
73 preferPlanetNotFullySurveyed();
74 preferPlanetUnexploredRuins();
75 preferPlanetInDirectionOfOtherMissions();
86 setStartingStage(Stage.GO_TO_RUINS);
87 addSuccessStages(Stage.COMPLETED);
88 addFailureStages(Stage.FAILED);
90 makeImportant(
planet,
"$gaData_targetPlanet", Stage.GO_TO_RUINS);
92 connectWithGlobalFlag(Stage.GO_TO_RUINS, Stage.GET_IN_COMMS_RANGE,
"$gaData_gotData");
93 connectWithInRangeOfCommRelay(Stage.GET_IN_COMMS_RANGE, Stage.COMPLETED);
95 setStageOnGlobalFlag(Stage.FAILED,
"$gaData_gaveCoordsToPirates");
97 setTimeLimit(Stage.FAILED,
MISSION_DAYS,
planet.getStarSystem(), Stage.GET_IN_COMMS_RANGE);
100 setCreditReward(CreditReward.AVERAGE);
112 StarSystemAPI system =
planet.getStarSystem();
113 if (system.hasTag(Tags.THEME_REMNANT)) {
116 setCreditReward(CreditReward.HIGH);
117 }
else if (Misc.hasPulsar(system)) {
119 }
else if (
planet.hasCondition(Conditions.DECIVILIZED)) {
127 beginWithinHyperspaceRangeTrigger(
planet, 1f,
false, Stage.GO_TO_RUINS);
128 triggerCreateFleet(FleetSize.MEDIUM, FleetQuality.DEFAULT, Factions.PIRATES, FleetTypes.PATROL_MEDIUM,
planet);
129 triggerAutoAdjustFleetStrengthMajor();
130 triggerSetStandardAggroPirateFlags();
133 triggerPickLocationAtInSystemJumpPoint(
planet.getStarSystem());
134 triggerSpawnFleetAtPickedLocation(
"$gaData_pirate",
null);
135 triggerOrderFleetPatrol(
planet);
136 triggerFleetMakeImportant(
null, Stage.GO_TO_RUINS);
170 Color h = Misc.getHighlightColor();
171 if (currentStage == Stage.GO_TO_RUINS) {
173 info.addPara(getGoToPlanetTextPre(
planet) +
174 ", and retrieve the data from " +
targetWithArticle +
" found in the ruins there. Around %s " +
175 "marines will be needed to perform the recovery.", opad, h, Misc.getWithDGS(
MARINES_REQUIRED));
178 if (
variation == Variation.REMNANTS) extra =
" 'Autonomous weapon systems' may pose a danger.";
179 if (
variation == Variation.PULSAR) extra =
" Rapidly spinning jets of high energy charged particles are a once-in-a-lifetime sight.";
180 info.addPara(getGoToPlanetTextPre(
planet) +
181 ", and retrieve the data from " +
targetWithArticle +
" found in the ruins there." + extra, opad);
183 }
else if (currentStage == Stage.GET_IN_COMMS_RANGE) {
184 info.addPara(getGetWithinCommsRangeText(), opad);
193 Color h = Misc.getHighlightColor();
194 if (currentStage == Stage.GO_TO_RUINS) {
196 info.addPara(getGoToPlanetTextShort(
planet), tc, pad);
198 }
else if (currentStage == Stage.GET_IN_COMMS_RANGE) {
199 info.addPara(getGetWithinCommsRangeTextShort(), tc, pad);