36 protected boolean create(MarketAPI createdAt,
boolean barEvent) {
39 setGiverRank(Ranks.CITIZEN);
40 String post = pickOne(Ranks.POST_TRADER, Ranks.POST_COMMODITIES_AGENT,
41 Ranks.POST_MERCHANT, Ranks.POST_INVESTOR,
42 Ranks.POST_EXECUTIVE, Ranks.POST_SENIOR_EXECUTIVE,
43 Ranks.POST_PORTMASTER);
45 if (post.equals(Ranks.POST_SENIOR_EXECUTIVE)) {
46 setGiverImportance(pickHighImportance());
48 setGiverImportance(pickImportance());
50 setGiverTags(Tags.CONTACT_TRADE);
51 findOrCreateGiver(createdAt,
false,
false);
54 PersonAPI person = getPerson();
55 if (person ==
null)
return false;
58 if (!setPersonMissionRef(person,
"$dcom_ref")) {
63 setGiverIsPotentialContactOnSuccess();
66 PersonImportance importance = person.getImportance();
67 int minMarketSize = 3;
68 int maxMarketSize = 9;
91 requireMarketIsNot(createdAt);
92 requireMarketNotHidden();
93 requireMarketFactionNotPlayer();
94 requireMarketNotInHyperspace();
95 preferMarketSizeAtLeast(minMarketSize);
96 preferMarketSizeAtMost(maxMarketSize);
99 if (
market ==
null)
return false;
100 if (!setMarketMissionRef(
market,
"$dcom_ref")) {
105 if (!isOkToOfferMissionRequiringMarines(marines)) {
109 makeImportant(
market,
"$dcom_target", Stage.DISRUPT);
111 setStartingStage(Stage.DISRUPT);
112 setSuccessStage(Stage.COMPLETED);
113 setFailureStage(Stage.FAILED);
115 setStageOnMemoryFlag(Stage.COMPLETED,
market,
"$dcom_completed");
122 int bonus = getRewardBonusForMarines(getMarinesRequiredForCustomObjective(
market,
RAID_DANGER));
123 setCreditRewardWithBonus(CreditReward.AVERAGE, bonus);
131 super.notifyEnding();
140 e.
triggerCreateFleet(FleetSize.LARGE, FleetQuality.SMOD_1, Factions.MERCENARY, FleetTypes.PATROL_LARGE,
new Vector2f());
141 e.triggerSetFleetOfficers(OfficerNum.MORE, OfficerQuality.HIGHER);
144 e.triggerSetStandardAggroNonPirateFlags();
146 e.triggerSetFleetMemoryValue(
"$dcom_marketName",
market.getName());
147 e.triggerSetFleetMemoryValue(
"$dcom_marketOnOrAt",
market.getOnOrAt());
148 e.triggerSetFleetGenericHailPermanent(
"DCOMMercHail");
156 set(
"$dcom_barEvent", isBarEvent());
157 set(
"$dcom_manOrWoman", getPerson().getManOrWoman());
158 set(
"$dcom_hisOrHer", getPerson().getHisOrHer());
159 set(
"$dcom_reward", Misc.getWithDGS(getCreditsReward()));
161 set(
"$dcom_systemName",
market.getStarSystem().getNameWithLowercaseTypeShort());
162 set(
"$dcom_marketName",
market.getName());
163 set(
"$dcom_marketOnOrAt",
market.getOnOrAt());
164 set(
"$dcom_dist", getDistanceLY(
market));
165 set(
"$dcom_marketFactionArticle",
market.getFaction().getPersonNamePrefixAOrAn());
166 set(
"$dcom_marketFaction",
market.getFaction().getPersonNamePrefix());
167 set(
"$dcom_factionColor",
market.getFaction().getBaseUIColor());
170 set(
"$dcom_marines", Misc.getWithDGS(getMarinesRequiredForCustomObjective(
market,
RAID_DANGER)));
188 Color h = Misc.getHighlightColor();
189 if (currentStage == Stage.DISRUPT) {
190 info.addPara(
"Raid warehouse " +
191 market.getOnOrAt() +
" " +
market.getName() +
" in the " +
192 market.getStarSystem().getNameWithLowercaseTypeShort(), tc, pad);