38 protected boolean create(MarketAPI createdAt,
boolean barEvent) {
40 if (!setGlobalReference(
"$gaKA_ref",
"$gaKA_inProgress")) {
44 setName(
"The Kallichore Archive");
46 baird = getImportantPerson(People.BAIRD);
47 arroyo = getImportantPerson(People.ARROYO);
48 gargoyle = getImportantPerson(People.GARGOYLE);
49 loke = getImportantPerson(People.CLONE_LOKE);
50 if (
baird ==
null)
return false;
51 if (
arroyo ==
null)
return false;
53 if (
loke ==
null)
return false;
57 if (
relay ==
null)
return false;
59 StarSystemAPI mayasura =
gargoyle.getMarket().getStarSystem();
60 StarSystemAPI galatia =
baird.getMarket().getStarSystem();
61 if (mayasura ==
null || galatia ==
null)
return false;
64 if (coatl ==
null)
return false;
68 setStartingStage(Stage.TALK_TO_ARROYO);
69 addSuccessStages(Stage.COMPLETED);
71 makeImportant(
arroyo,
"$gaKA_contact", Stage.TALK_TO_ARROYO);
72 makeImportant(
arroyo.getMarket(),
"$gaKA_visitChalet", Stage.VISIT_ARROYO);
73 makeImportant(
gargoyle,
"$gaKA_contact", Stage.TALK_TO_GARGOYLE);
74 makeImportant(
loke.getMarket(),
"$gaKA_getHack", Stage.GET_HACK_HARDWARE);
75 makeImportant(
relay,
"$gaKA_installHack", Stage.INSTALL_HACK);
76 makeImportant(
gargoyle,
"$gaKA_contactRetrieve", Stage.RETRIEVE_ARCHIVE);
77 makeImportant(
baird.getMarket(),
"$gaKA_returnHere", Stage.RETURN_TO_ACADEMY);
79 setStageOnGlobalFlag(Stage.VISIT_ARROYO,
"$gaKA_visitArroyo");
80 setStageOnGlobalFlag(Stage.TALK_TO_GARGOYLE,
"$gaKA_talkToGargoyle");
81 setStageOnGlobalFlag(Stage.GET_HACK_HARDWARE,
"$gaKA_getHackHardware");
82 setStageOnGlobalFlag(Stage.INSTALL_HACK,
"$gaKA_installHack");
83 setStageOnGlobalFlag(Stage.RETRIEVE_ARCHIVE,
"$gaKA_retrieveArchive");
84 setStageOnGlobalFlag(Stage.RETURN_TO_ACADEMY,
"$gaKA_returnToAcademy");
85 setStageOnGlobalFlag(Stage.COMPLETED,
"$gaKA_completed");
88 beginStageTrigger(Stage.TALK_TO_ARROYO);
89 triggerUnhideCommListing(
arroyo);
91 beginStageTrigger(Stage.TALK_TO_GARGOYLE);
95 beginStageTrigger(Stage.RETURN_TO_ACADEMY);
100 beginStageTrigger(Stage.RETURN_TO_ACADEMY);
101 SectorEntityToken fleetLocation =
gargoyle.getMarket().getPrimaryEntity();
102 triggerCreateFleet(FleetSize.VERY_LARGE, FleetQuality.DEFAULT,
103 Factions.HEGEMONY, FleetTypes.TASK_FORCE, fleetLocation);
104 triggerAutoAdjustFleetStrengthModerate();
105 triggerMakeAllFleetFlagsPermanent();
106 triggerMakeFleetIgnoreOtherFleets();
107 triggerMakeFleetIgnoredByOtherFleets();
109 triggerPickLocationAtClosestToEntityJumpPoint(mayasura, fleetLocation, 4000f);
110 triggerPickLocationTowardsEntity(
null, 30f, 5000f);
111 triggerSpawnFleetAtPickedLocation(
null,
null);
112 triggerFleetSetPatrolActionText(
"standing off with Port Tse Station");
113 triggerFleetSetPatrolLeashRange(100f);
114 triggerOrderFleetPatrol(fleetLocation);
115 triggerOrderFleetEBurn(1f);
116 triggerIncreaseMarketHostileTimeout(
gargoyle.getMarket(), 90f);
119 beginWithinHyperspaceRangeTrigger(
gargoyle.getMarket(), 1f,
true, Stage.RETURN_TO_ACADEMY);
120 triggerCreateFleet(FleetSize.LARGE, FleetQuality.SMOD_1,
121 Factions.HEGEMONY, FleetTypes.TASK_FORCE, mayasura);
122 triggerSetFleetOfficers(OfficerNum.MORE, OfficerQuality.HIGHER);
123 triggerMakeHostileAndAggressive();
125 triggerFleetAllowLongPursuit();
126 triggerSetFleetAlwaysPursue();
128 triggerPickLocationTowardsEntity(galatia.getHyperspaceAnchor(), 90f, getUnits(0.5f));
129 triggerSpawnFleetAtPickedLocation(
"$gaKA_patrol",
null);
130 triggerOrderFleetInterceptPlayer();
131 triggerOrderFleetEBurn(1f);
132 triggerFleetMakeImportant(
null, Stage.RETURN_TO_ACADEMY);
135 triggerCreateMediumPatrol(coatl, Factions.HEGEMONY,
relay, Stage.INSTALL_HACK, 0f);
137 beginStageTrigger(Stage.COMPLETED);
138 triggerRemoveTags(
relay, Tags.STORY_CRITICAL);
139 triggerMakeNonStoryCritical(
gargoyle.getMarket(),
arroyo.getMarket(),
loke.getMarket(), coatl);
140 triggerMovePersonToMarket(
gargoyle,
baird.getMarket(),
true);
146 float baseDelay = 90f;
148 beginStageTrigger(Stage.RETRIEVE_ARCHIVE);
149 triggerSetGlobalMemoryValueAfterDelay(genDelay(baseDelay),
"$gaKA_triTachyonVisit",
true);
150 triggerSetGlobalMemoryValueAfterDelay(genDelay(baseDelay),
"$gaKA_hegemonyVisit",
true);
153 beginStageTrigger(Stage.COMPLETED);
155 triggerSetGlobalMemoryValue(
"$gaKA_missionCompleted",
true);
178 Color h = Misc.getHighlightColor();
180 if (currentStage == Stage.RETURN_TO_ACADEMY) {
181 info.addPara(
"You've recovered the data archive of the Academy's previous Provost, Tomas Kallichore, " +
182 "which contains the results of failed gate activation experiments.", opad);
184 info.addPara(
"Recover the data archive of the Academy's previous Provost, Tomas Kallichore, " +
185 "which contains the results of failed gate activation experiments.", opad);
186 info.addPara(
"The archive is " +
187 "currently in the ultra-secure data vaults of the Hegemony Ministry of Technology Standards.", opad,
188 heg.getBaseUIColor(),
"Hegemony");
191 if (currentStage == Stage.TALK_TO_ARROYO) {
192 info.addPara(getGoTalkToPersonText(
arroyo) +
". He has a relationship with Provost Baird that "
193 +
"can be leveraged to compel his cooperation.", opad);
194 }
else if (currentStage == Stage.VISIT_ARROYO) {
195 info.addPara(
"Visit " +
arroyo.getNameString() +
" in person, at his planetside chalet.", opad);
196 }
else if (currentStage == Stage.TALK_TO_GARGOYLE) {
197 info.addPara(getGoTalkToPersonText(
gargoyle) +
", a hacker, to arrange a break in to the data vaults. " +
198 "Arroyo is sure a job \"as stupid as you're proposing\" " +
199 "will prove irresistible.", opad);
200 }
else if (currentStage == Stage.GET_HACK_HARDWARE) {
201 info.addPara(getGoToMarketText(
loke.getMarket()) +
" and pick up the hack device from a " +
202 "storage unit.", opad);
203 }
else if (currentStage == Stage.INSTALL_HACK) {
204 info.addPara(getGoToSystemTextShort(
relay.getStarSystem()) +
" and install the hack transmitter " +
205 "on " +
relay.getName() +
".", opad);
206 }
else if (currentStage == Stage.RETRIEVE_ARCHIVE) {
207 info.addPara(getGoToMarketText(
gargoyle.getMarket()) +
208 " and retrieve Kallichore's archive from Gargoyle.", opad);
209 }
else if (currentStage == Stage.RETURN_TO_ACADEMY) {
210 info.addPara(
"Return to the Galatia Academy and talk to Provost Baird.", opad);
216 Color h = Misc.getHighlightColor();
217 if (currentStage == Stage.TALK_TO_ARROYO) {
218 info.addPara(getGoTalkToPersonText(
arroyo), tc, pad);
220 }
else if (currentStage == Stage.VISIT_ARROYO) {
221 info.addPara(
"Visit " +
arroyo.getNameString() +
" in person, at his planetside chalet", tc, pad);
223 }
else if (currentStage == Stage.TALK_TO_GARGOYLE) {
224 info.addPara(getGoTalkToPersonText(
gargoyle), tc, pad);
226 }
else if (currentStage == Stage.GET_HACK_HARDWARE) {
227 info.addPara(getGoToMarketText(
loke.getMarket()) +
" and pick up the hack device", tc, pad);
229 }
else if (currentStage == Stage.INSTALL_HACK) {
230 info.addPara(getGoToSystemTextShort(
relay.getStarSystem()) +
" and install the hack transmitter " +
231 "on the " +
relay.getName() +
"", tc, pad);
233 }
else if (currentStage == Stage.RETRIEVE_ARCHIVE) {
234 info.addPara(getGoToMarketText(
gargoyle.getMarket()) +
235 " and retrieve Kallichore's archive", tc, pad);
236 }
else if (currentStage == Stage.RETURN_TO_ACADEMY) {
237 info.addPara(
"Return to the Galatia Academy and talk to Provost Baird", tc, pad);