46 protected boolean create(MarketAPI createdAt,
boolean barEvent) {
47 if (!setGlobalReference(
"$locrlf_ref",
"$locrlf_inProgress")) {
57 if (
person.getFaction().getId() !=
"luddic_church" )
return false;
95 setGiverRank(Ranks.CITIZEN);
97 setGiverImportance(pickImportance());
98 setGiverTags(Tags.CONTACT_TRADE);
99 post = pickOne( Ranks.POST_TRADER,
100 Ranks.POST_COMMODITIES_AGENT,
101 Ranks.POST_PORTMASTER,
103 Ranks.POST_GUILDMASTER,
104 Ranks.POST_COMMUNE_LEADER,
105 Ranks.POST_ADMINISTRATOR);
107 findOrCreateGiver(createdAt,
false,
false);
110 if ( post.equals(Ranks.POST_BASE_COMMANDER) ||
111 post.equals(Ranks.POST_ADMINISTRATOR)) {
112 setGiverImportance(pickHighImportance());
114 setGiverImportance(pickImportance());
120 if (!setPersonMissionRef(
person,
"$locrlf_ref")) {
125 setGiverIsPotentialContactOnSuccess();
130 if (
market ==
null)
return false;
131 market.getMemoryWithoutUpdate().set(
"$locrlf_market",
true);
134 makeImportant(
target.getStarSystem().getHyperspaceAnchor(),
null, Stage.SEARCH);
135 makeImportant(
person,
"$locrlf_return", Stage.RETURN);
137 setStartingStage(Stage.SEARCH);
138 setSuccessStage(Stage.COMPLETED);
139 setFailureStage(Stage.FAILED);
141 connectWithGlobalFlag(Stage.SEARCH, Stage.RETURN,
"$locrlf_foundHeretics");
142 connectWithGlobalFlag(Stage.RETURN, Stage.COMPLETED,
"$locrlf_completed");
153 set(
"$locrlf_barEvent", isBarEvent());
154 set(
"$locrlf_manOrWoman", getPerson().getManOrWoman());
155 set(
"$locrlf_heOrShe", getPerson().getHeOrShe());
156 set(
"$locrlf_himOrHer", getPerson().getHimOrHer());
157 set(
"$locrlf_hisOrHer", getPerson().getHisOrHer());
158 set(
"$locrlf_HeOrShe", getPerson().getHeOrShe().substring(0, 1).toUpperCase() + getPerson().getHeOrShe().substring(1));
159 set(
"$locrlf_HisOrHer", getPerson().getHisOrHer().substring(0, 1).toUpperCase() + getPerson().getHisOrHer().substring(1));
160 set(
"$locrlf_HimOrHer", getPerson().getHimOrHer().substring(0, 1).toUpperCase() + getPerson().getHimOrHer().substring(1));
162 set(
"$locrlf_rewardAmount", Misc.getWithDGS(
rewardAmount));
165 set(
"$locrlf_person", getPerson());
166 set(
"$locrlf_personName", getPerson().getNameString());
167 set(
"$locrlf_systemName",
target.getStarSystem().getNameWithLowercaseTypeShort());
171 set(
"$locrlf_dist", getDistanceLY(
target));
175 protected boolean callAction(String action, String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
176 if (
"addPersonToMarket".equals(action)) {
180 if (
person.getMarket() ==
null)
return false;
181 if (
person.getMarket().getCommDirectory() ==
null)
return false;
182 if (
person.getMarket().getCommDirectory().getEntryForPerson(
person.getId()) ==
null)
return false;
183 person.getMarket().getCommDirectory().getEntryForPerson(
person.getId()).setHidden(
false);
206 Color h = Misc.getHighlightColor();
207 if (currentStage == Stage.SEARCH) {
208 info.addPara(
"Search for the Luddic heretics in the " +
209 target_system.getStarSystem().getNameWithLowercaseTypeShort(), tc, pad);
212 else if (currentStage == Stage.RETURN) {
213 info.addPara(
"Return with news of the Luddic heretics to " +
person.getNameString() +
".", tc, pad);