33 protected boolean create(MarketAPI createdAt,
boolean barEvent) {
40 setGiverRank(Ranks.CITIZEN);
41 setGiverPost(pickOne(Ranks.POST_AGENT, Ranks.POST_SMUGGLER, Ranks.POST_GANGSTER,
42 Ranks.POST_FENCE, Ranks.POST_CRIMINAL));
43 setGiverImportance(pickImportance());
44 setGiverFaction(Factions.PIRATES);
45 setGiverTags(Tags.CONTACT_UNDERWORLD);
47 setGiverRank(Ranks.CITIZEN);
48 setGiverPost(Ranks.POST_AGENT);
49 setGiverImportance(pickImportance());
50 if (Factions.PIRATES.equals(createdAt.getFaction().getId())) {
51 setGiverTags(Tags.CONTACT_UNDERWORLD);
52 setGiverFaction(Factions.PIRATES);
54 setGiverTags(Tags.CONTACT_MILITARY);
57 findOrCreateGiver(createdAt,
false,
false);
60 PersonAPI person = getPerson();
61 if (person ==
null)
return false;
64 if (!setPersonMissionRef(person,
"$ssat_ref")) {
69 setGiverIsPotentialContactOnSuccess();
72 requireMarketIsNot(createdAt);
73 requireMarketLocationNot(createdAt.getContainingLocation());
74 requireMarketFactionNotPlayer();
75 requireMarketFactionNot(person.getFaction().getId());
76 requireMarketFactionCustom(ReqMode.NOT_ANY, Factions.CUSTOM_ALLOWS_TRANSPONDER_OFF_TRADE);
77 requireMarketMilitary();
78 requireMarketNotHidden();
79 requireMarketNotInHyperspace();
80 preferMarketInDirectionOfOtherMissions();
83 if (
market ==
null)
return false;
86 new LocData(EntityLocationType.ORBITING_PARAM,
market.getPrimaryEntity(),
market.getStarSystem()));
87 if (!setEntityMissionRef(
target,
"$ssat_ref"))
return false;
89 makeImportant(
target,
"$ssat_target", Stage.DEPLOY);
90 setMapMarkerNameColor(
market.getTextColorForFactionOrPlanet());
92 setStartingStage(Stage.DEPLOY);
93 setSuccessStage(Stage.COMPLETED);
94 setFailureStage(Stage.FAILED);
96 setStageOnMemoryFlag(Stage.COMPLETED,
target,
"$ssat_completed");
101 setCreditReward(CreditReward.AVERAGE,
market.getSize());
104 triggerCreateMediumPatrolAroundMarket(
market, Stage.DEPLOY, 1f);
111 set(
"$ssat_barEvent", isBarEvent());
112 set(
"$ssat_underworld", getPerson().hasTag(Tags.CONTACT_UNDERWORLD));
113 set(
"$ssat_manOrWoman", getPerson().getManOrWoman());
114 set(
"$ssat_reward", Misc.getWithDGS(getCreditsReward()));
116 set(
"$ssat_personName", getPerson().getNameString());
117 set(
"$ssat_systemName",
market.getStarSystem().getNameWithLowercaseTypeShort());
118 set(
"$ssat_marketName",
market.getName());
119 set(
"$ssat_marketOnOrAt",
market.getOnOrAt());
120 set(
"$ssat_dist", getDistanceLY(
market));
135 Color h = Misc.getHighlightColor();
136 if (currentStage == Stage.DEPLOY) {
137 info.addPara(
"Deploy spysat near " +
138 market.getName() +
" in the " +
139 market.getStarSystem().getNameWithLowercaseTypeShort(), tc, pad);