55 protected boolean create(MarketAPI createdAt,
boolean barEvent) {
57 if (!setGlobalReference(
"$rsom_ref")) {
62 requireSystemTags(ReqMode.ANY, Tags.THEME_REMNANT_SUPPRESSED, Tags.THEME_DERELICT, Tags.THEME_MISC, Tags.THEME_RUINS);
63 requireSystemTags(ReqMode.NOT_ANY, Tags.THEME_SPECIAL);
64 requireSystemInInnerSector();
68 requirePlanetNotGasGiant();
69 requirePlanetConditions(ReqMode.NOT_ANY, Conditions.DECIVILIZED);
70 requirePlanetUnpopulated();
71 preferPlanetNotFullySurveyed();
72 preferPlanetUnexploredRuins();
73 preferPlanetInDirectionOfOtherMissions();
80 if (
planet ==
null)
return false;
83 if (
person ==
null)
return false;
86 if (
market ==
null)
return false;
88 setStartingStage(Stage.GO_TO_OUTPOST);
89 addSuccessStages(Stage.COMPLETED);
90 addFailureStages(Stage.FAILED);
92 makeImportant(
planet,
"$rsom_targetPlanet", Stage.GO_TO_OUTPOST);
95 connectWithGlobalFlag(Stage.GO_TO_OUTPOST, Stage.COMPLETED,
"$rsom_raidedOutpost");
101 requireCommodityIllegal();
102 requireCommodityDemandAtLeast(1);
107 com = pickCommodity();
108 if (
com ==
null)
return false;
111 value *= 0.9f + genRandom.nextFloat() * 0.2f;
113 quantity = getRoundNumber(value /
com.getCommodity().getBasePrice());
130 setRepFactionChangesNone();
151 protected boolean callAction(String action, String ruleId,
final InteractionDialogAPI dialog,
152 List<Token> params,
final Map<String, MemoryAPI> memoryMap) {
153 if (
"giveOutpostPlunder".equals(action)) {
158 return super.callAction(action, ruleId, dialog, params, memoryMap);
164 Color h = Misc.getHighlightColor();
165 if (currentStage == Stage.GO_TO_OUTPOST) {
167 info.addPara(getGoToPlanetTextPre(
planet) +
168 ", use the codes to bypass defenses to raid and plunder the " +
com.getCommodity().getLowerCaseName() +
" in the hidden outpost there. "
169 +
"Bring at least %s marines to ensure success.", opad, h, Misc.getWithDGS(
MARINES_REQUIRED));