33 protected boolean create(MarketAPI createdAt,
boolean barEvent) {
39 setGiverRank(Ranks.CITIZEN);
40 setGiverPost(pickOne(Ranks.POST_SMUGGLER, Ranks.POST_GANGSTER,
41 Ranks.POST_FENCE, Ranks.POST_CRIMINAL));
42 setGiverImportance(pickImportance());
43 setGiverFaction(Factions.PIRATES);
44 setGiverTags(Tags.CONTACT_UNDERWORLD);
45 findOrCreateGiver(createdAt,
false,
false);
48 PersonAPI person = getPerson();
49 if (person ==
null)
return false;
52 if (!setPersonMissionRef(person,
"$smug_ref")) {
57 setGiverIsPotentialContactOnSuccess();
60 requireMarketIsNot(createdAt);
61 requireMarketFactionNotPlayer();
62 requireMarketLocationNot(createdAt.getContainingLocation());
63 requireMarketFactionCustom(ReqMode.NOT_ANY, Factions.CUSTOM_ALLOWS_TRANSPONDER_OFF_TRADE);
64 requireMarketNotHidden();
65 requireMarketNotInHyperspace();
66 preferMarketInDirectionOfOtherMissions();
68 requireCommodityIllegal();
69 requireCommodityDemandAtLeast(1);
71 com = pickCommodity();
72 if (
com ==
null)
return false;
75 if (
market ==
null)
return false;
79 value *= 0.9f + genRandom.nextFloat() * 0.2f;
81 quantity = getRoundNumber(value /
com.getCommodity().getBasePrice());
84 if (!setMarketMissionRef(
market,
"$smug_ref")) {
87 makeImportant(
market,
"$smug_target", Stage.SMUGGLE);
89 setStartingStage(Stage.SMUGGLE);
90 setSuccessStage(Stage.COMPLETED);
91 setFailureStage(Stage.FAILED);
93 setStageOnMemoryFlag(Stage.COMPLETED,
market,
"$smug_completed");
99 setCreditRewardWithBonus(CreditReward.LOW, (
int) (value * 0.5f));
101 triggerCreateMediumPatrolAroundMarket(
market, Stage.SMUGGLE, 1f);
107 set(
"$smug_barEvent", isBarEvent());
108 set(
"$smug_manOrWoman", getPerson().getManOrWoman());
109 set(
"$smug_reward", Misc.getWithDGS(getCreditsReward()));
110 set(
"$smug_commodityId",
com.getId());
111 set(
"$smug_commodityName",
com.getCommodity().getLowerCaseName());
112 set(
"$smug_quantity", Misc.getWithDGS(
quantity));
113 set(
"$smug_playerHasEnough", playerHasEnough(
com.getId(),
quantity));
115 set(
"$smug_personName", getPerson().getNameString());
116 set(
"$smug_systemName",
market.getStarSystem().getNameWithLowercaseTypeShort());
117 set(
"$smug_marketName",
market.getName());
118 set(
"$smug_marketOnOrAt",
market.getOnOrAt());
119 set(
"$smug_dist", getDistanceLY(
market));
137 Color h = Misc.getHighlightColor();
138 if (currentStage == Stage.SMUGGLE) {
139 info.addPara(
"Smuggle %s units of " +
com.getCommodity().getLowerCaseName() +
" to " +
140 market.getName() +
" in the " +
141 market.getStarSystem().getNameWithLowercaseTypeShort(), pad, tc,