50 protected boolean create(MarketAPI createdAt,
boolean barEvent) {
52 if (!setGlobalReference(
"$gaDA_ref")) {
58 widget = pickOne(
"unique superconducting structural element",
59 "an advanced field conversion prototype",
60 "a transparametric integrator",
61 "an extremely rare material sample",
62 "an uncommon power system component",
63 "a Domain-era forge component",
64 "a small-scale momentum decoupling device",
65 "a fascinating low-power field projector");
67 requireSystemTags(ReqMode.ANY, Tags.THEME_REMNANT_RESURGENT, Tags.THEME_REMNANT_SUPPRESSED,
68 Tags.THEME_DERELICT, Tags.THEME_MISC, Tags.THEME_RUINS);
70 requireSystemTags(ReqMode.NOT_ANY, Tags.THEME_REMNANT_SECONDARY);
71 preferSystemUnexplored();
72 preferSystemInDirectionOfOtherMissions();
75 if (
system ==
null)
return false;
77 entity = spawnDerelictOfType(
null,
new LocData(EntityLocationType.HIDDEN,
null,
system,
false));
78 if (
entity ==
null)
return false;
80 setStartingStage(Stage.GO_TO_DERELCIT);
81 addSuccessStages(Stage.COMPLETED);
82 addFailureStages(Stage.FAILED);
84 makeImportant(
entity,
"$gaDA_entity", Stage.GO_TO_DERELCIT);
85 makeImportant(getPerson(),
"$gaDA_returnHere", Stage.RETURN_TO_ACADEMY);
87 connectWithGlobalFlag(Stage.GO_TO_DERELCIT, Stage.GET_IT_FROM_PIRATES,
"$gaDA_piratesTookIt");
88 connectWithGlobalFlag(Stage.GO_TO_DERELCIT, Stage.GET_IT_FROM_SCAVENGER,
"$gaDA_scavengerTookIt");
89 setStageOnGlobalFlag(Stage.RETURN_TO_ACADEMY,
"$gaDA_gotWidget");
90 connectWithGlobalFlag(Stage.RETURN_TO_ACADEMY, Stage.COMPLETED,
"$gaDA_returnedWidget");
93 setTimeLimit(Stage.FAILED,
MISSION_DAYS,
entity.getStarSystem(), Stage.RETURN_TO_ACADEMY);
96 setCreditReward(CreditReward.AVERAGE);
99 if (
system.hasTag(Tags.THEME_REMNANT)) {
102 setCreditReward(CreditReward.HIGH);
113 setMapMarkerNameColorBasedOnStar(
system);
120 requireSystemTags(ReqMode.ANY, Tags.THEME_MISC_SKIP, Tags.THEME_DERELICT, Tags.THEME_MISC, Tags.THEME_RUINS);
121 requireSystemTags(ReqMode.NOT_ANY, Tags.THEME_UNSAFE);
123 requireSystemWithinRangeOf(
entity.getLocationInHyperspace(), 10);
130 beginStageTrigger(Stage.GET_IT_FROM_PIRATES);
131 triggerSpawnEntity(Entities.SUPPLY_CACHE,
new LocData(EntityLocationType.HIDDEN,
null,
pirateSystem,
false));
132 triggerSaveGlobalEntityRef(
"$gaDA_cache");
133 triggerCreateFleet(FleetSize.LARGE, FleetQuality.DEFAULT, Factions.PIRATES, FleetTypes.PATROL_MEDIUM,
pirateSystem);
134 triggerAutoAdjustFleetStrengthMajor();
135 triggerSetStandardHostilePirateFlags();
137 triggerSpawnFleetAtPickedLocation();
138 triggerOrderFleetPatrolEntity(
true);
139 triggerFleetMakeImportant(
"$gaDA_pirate", Stage.GET_IT_FROM_PIRATES);
140 triggerFleetAddDefeatTrigger(
"gaDAFleetWithWidgetDefeated");
142 }
else if (
variation == Variation.SCAVENGER) {
146 beginStageTrigger(Stage.GET_IT_FROM_SCAVENGER);
147 triggerCreateFleet(FleetSize.MEDIUM, FleetQuality.LOWER, Factions.SCAVENGERS, FleetTypes.SCAVENGER_MEDIUM,
system);
148 triggerAutoAdjustFleetStrengthModerate();
149 triggerSetFleetFaction(Factions.INDEPENDENT);
156 triggerMakeLowRepImpact();
158 triggerPickLocationAtClosestToPlayerJumpPoint(
system);
159 triggerSetEntityToPickedJumpPoint();
160 triggerPickLocationAroundEntity(5000);
161 triggerSpawnFleetAtPickedLocation();
163 triggerFleetSetTravelActionText(
"exploring system");
164 triggerFleetSetPatrolActionText(
"preparing to leave system");
165 triggerOrderFleetPatrolEntity(
false);
167 triggerFleetMakeImportant(
"$gaDA_scavenger", Stage.GET_IT_FROM_SCAVENGER);
168 triggerFleetAddDefeatTrigger(
"gaDAFleetWithWidgetDefeated");