45 protected boolean create(MarketAPI createdAt,
boolean barEvent) {
47 if (!setGlobalReference(
"$rdsm_ref")) {
51 targetWithArticle = pickOne(
"a library",
"a datavault",
"an archive",
"a laboratory");
54 megacorp = pickOne(
"Fabrique Orbitale",
"Bhilai Exospace",
"Hastaeus Industries",
"Exogen Systems",
"Ursa Group");
57 requireSystemTags(ReqMode.ANY, Tags.THEME_REMNANT_SUPPRESSED, Tags.THEME_DERELICT, Tags.THEME_MISC, Tags.THEME_RUINS);
58 requireSystemTags(ReqMode.NOT_ANY, Tags.THEME_SPECIAL);
64 requirePlanetUnpopulated();
65 requirePlanetWithRuins();
66 preferPlanetNotFullySurveyed();
67 preferPlanetUnexploredRuins();
68 preferPlanetInDirectionOfOtherMissions();
75 if (
planet ==
null)
return false;
78 if (
person ==
null)
return false;
81 if (
market ==
null)
return false;
83 setStartingStage(Stage.GO_TO_RUINS);
84 addSuccessStages(Stage.COMPLETED);
85 addFailureStages(Stage.FAILED);
87 makeImportant(
planet,
"$rdsm_targetPlanet", Stage.GO_TO_RUINS);
88 makeImportant(
person,
"$rdsm_contact", Stage.RETURN);
90 connectWithGlobalFlag(Stage.GO_TO_RUINS, Stage.RETURN,
"$rdsm_gotData");
91 connectWithGlobalFlag(Stage.RETURN, Stage.COMPLETED,
"$rdsm_returnedData");
94 setTimeLimit(Stage.FAILED,
MISSION_DAYS,
null, Stage.RETURN);
96 setCreditReward(CreditReward.AVERAGE);
108 if (
planet.hasCondition(Conditions.DECIVILIZED)) {
139 Color h = Misc.getHighlightColor();
140 if (currentStage == Stage.GO_TO_RUINS) {
142 info.addPara(getGoToPlanetTextPre(
planet) +
143 ", and swap the datacore from the " +
megacorp +
" " +
target +
" in the ruins there. There have "
144 +
"been reports of decivs so you should bring at least %s " +
145 "marines to ensure the job goes smoothly.", opad, h, Misc.getWithDGS(
MARINES_REQUIRED));
148 info.addPara(getGoToPlanetTextPre(
planet) +
149 ", and swap the datacore from the " +
megacorp +
" " +
target +
" in the ruins there with the one provided." + extra, opad);
151 }
else if (currentStage == Stage.RETURN) {
152 info.addPara(getReturnText(
market), opad);
161 Color h = Misc.getHighlightColor();
162 if (currentStage == Stage.GO_TO_RUINS) {
164 info.addPara(getGoToPlanetTextShort(
planet), tc, pad);
166 }
else if (currentStage == Stage.RETURN) {
167 info.addPara(getReturnTextShort(
market), tc, pad);