1package com.fs.starfarer.api.impl.campaign.events;
3import java.util.ArrayList;
7import org.apache.log4j.Logger;
9import com.fs.starfarer.api.Global;
10import com.fs.starfarer.api.campaign.BaseOnMessageDeliveryScript;
11import com.fs.starfarer.api.campaign.CampaignFleetAPI;
12import com.fs.starfarer.api.campaign.CargoAPI;
13import com.fs.starfarer.api.campaign.FactionAPI;
14import com.fs.starfarer.api.campaign.InteractionDialogAPI;
15import com.fs.starfarer.api.campaign.RepLevel;
16import com.fs.starfarer.api.campaign.comm.CommMessageAPI;
17import com.fs.starfarer.api.campaign.comm.MessagePriority;
18import com.fs.starfarer.api.campaign.events.CampaignEventTarget;
19import com.fs.starfarer.api.campaign.rules.MemoryAPI;
20import com.fs.starfarer.api.impl.campaign.CoreReputationPlugin.CustomRepImpact;
21import com.fs.starfarer.api.impl.campaign.CoreReputationPlugin.RepActionEnvelope;
22import com.fs.starfarer.api.impl.campaign.CoreReputationPlugin.RepActions;
23import com.fs.starfarer.api.impl.campaign.ids.Factions;
24import com.fs.starfarer.api.util.Misc;
25import com.fs.starfarer.api.util.Misc.Token;
36 public static class FactionHostilityPairKey {
48 public FactionHostilityPairKey(String one, String two) {
59 public int hashCode() {
62 result = prime * result
63 + ((one ==
null) ? 0 : one.hashCode());
64 result = prime * result + ((two ==
null) ? 0 : two.hashCode());
68 public boolean equals(Object obj) {
73 if (getClass() != obj.getClass())
75 FactionHostilityPairKey other = (FactionHostilityPairKey) obj;
77 if (other.one !=
null)
79 }
else if (one != other.one)
81 if (this.two ==
null) {
82 if (other.two !=
null)
84 }
else if (this.two != other.two)
96 protected FactionHostilityPairKey
target =
null;
98 protected boolean ended =
false;
109 super.startEvent(
true);
119 duration = 365f * (0.5f + 0.5f * (float) Math.random());
124 if (commFac !=
null && (commFac ==
one || commFac ==
two)) {
138 if (commFac !=
null && (commFac ==
one || commFac ==
two)) {
143 new RepActionEnvelope(RepActions.MAKE_HOSTILE_AT_BEST,
null,
null,
true),
181 if (commFac ==
null)
return;
182 if (commFac !=
one && commFac !=
two)
return;
186 if (other == commFac) {
192 CustomRepImpact impact =
new CustomRepImpact();
194 if (impact.delta < 0) impact.delta = 0;
196 new RepActionEnvelope(RepActions.CUSTOM, impact,
null,
true),
204 String postfix =
" hostilities";
206 postfix =
" hostilities - over";
216 List<Token> params, Map<String, MemoryAPI> memoryMap) {
217 String action = params.get(0).getString(memoryMap);
221 if (action.equals(
"TODO")) {
228 Map<String, String> map = super.getTokenReplacements();
235 if (commFac !=
null && (commFac ==
one || commFac ==
two)) {
246 List<String> result =
new ArrayList<String>();
248 return result.toArray(
new String[0]);
static Logger getLogger(Class c)
static SectorAPI getSector()
static void addFactionNameTokens(Map< String, String > tokens, String prefix, FactionAPI faction)
CampaignEventTarget eventTarget
boolean callEvent(String ruleId, InteractionDialogAPI dialog, List< Token > params, Map< String, MemoryAPI > memoryMap)
static final float HOSTILITY_PENALTY
void init(String type, CampaignEventTarget eventTarget)
String[] getHighlights(String stageId)
void advance(float amount)
Map< String, String > getTokenReplacements()
FactionHostilityPairKey target
static final String PLAYER
static String ucFirst(String str)
static FactionAPI getCommissionFaction()
float convertToDays(float realSeconds)
void setRelationship(String id, float newValue)
float getRelationship(String id)
CampaignFleetAPI getPlayerFleet()
ReputationAdjustmentResult adjustPlayerReputation(Object action, String factionId)
CampaignClockAPI getClock()
void reportEventStage(CampaignEventPlugin event, String stage, MessagePriority priority)
FactionAPI getFaction(String factionId)