1package com.fs.starfarer.api.impl.campaign.intel.group;
3import java.util.Random;
7import org.lwjgl.util.vector.Vector2f;
9import com.fs.starfarer.api.Global;
10import com.fs.starfarer.api.campaign.CampaignFleetAPI;
11import com.fs.starfarer.api.campaign.FactionAPI;
12import com.fs.starfarer.api.campaign.SectorEntityToken;
13import com.fs.starfarer.api.campaign.StarSystemAPI;
14import com.fs.starfarer.api.campaign.econ.MarketAPI;
15import com.fs.starfarer.api.campaign.listeners.EconomyTickListener;
16import com.fs.starfarer.api.campaign.rules.MemoryAPI;
17import com.fs.starfarer.api.combat.MutableStatWithTempMods;
18import com.fs.starfarer.api.impl.campaign.HasslePlayerScript;
19import com.fs.starfarer.api.impl.campaign.NPCHassler;
20import com.fs.starfarer.api.impl.campaign.econ.RecentUnrest;
21import com.fs.starfarer.api.impl.campaign.ids.Conditions;
22import com.fs.starfarer.api.impl.campaign.ids.Factions;
23import com.fs.starfarer.api.impl.campaign.ids.Industries;
24import com.fs.starfarer.api.impl.campaign.ids.MemFlags;
25import com.fs.starfarer.api.impl.campaign.ids.Ranks;
26import com.fs.starfarer.api.impl.campaign.ids.Skills;
27import com.fs.starfarer.api.impl.campaign.ids.Sounds;
28import com.fs.starfarer.api.impl.campaign.ids.Submarkets;
29import com.fs.starfarer.api.impl.campaign.intel.events.HostileActivityEventIntel;
30import com.fs.starfarer.api.impl.campaign.intel.events.LuddicChurchHostileActivityFactor;
31import com.fs.starfarer.api.impl.campaign.intel.group.FGBlockadeAction.FGBlockadeParams;
32import com.fs.starfarer.api.impl.campaign.missions.FleetCreatorMission;
33import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.FleetQuality;
34import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.FleetSize;
35import com.fs.starfarer.api.ui.Alignment;
36import com.fs.starfarer.api.ui.LabelAPI;
37import com.fs.starfarer.api.ui.TooltipMakerAPI;
38import com.fs.starfarer.api.util.Misc;
52 public static final String
BLOCKADING =
"$KOLT_isBlockading";
55 public static final String
ARMADA =
"$KOLT_armada";
56 public static final String
PICKET =
"$KOLT_picket";
59 public static String
KEY =
"$KOLT_ref";
137 fleet.
setName(
"Knights of Ludd Watchers");
142 fleet.
setName(
"Knights of Ludd Holy Armada");
156 super.advance(amount);
161 curr.getMemoryWithoutUpdate().set(
BLOCKADING,
false);
168 curr.getMemoryWithoutUpdate().set(
BLOCKADING,
true);
176 super.periodicUpdate();
204 if (curr.getMemoryWithoutUpdate().getBoolean(
ARMADA)) {
220 if (!curr.getMemoryWithoutUpdate().getBoolean(
PICKET)) {
278 super.addUpdateBulletPoints(info, tc, param, mode, initPad);
329 if (remaining > 0 && remaining < 1) remaining = 1;
330 String days = (int)remaining == 1 ?
"day" :
"days";
332 if (started) days =
"more " + days;
334 LabelAPI label = info.
addPara(
"The operation will last for approximately %s " + days
335 +
", causing a progressive loss of stability " + target.
getOnOrAt() +
336 " %s. If stability reaches zero, %s will permanently fall under %s control." ,
338 "" + (
int) remaining,
343 "will permanently fall",
349 info.
addPara(
"The " + forcesNoun +
" are not nominally hostile, but will harass shipping and "
350 +
"attempt to maintain control of the volume around the colony and undermine your "
351 +
"authority.", opad,
354 info.
addPara(
"The " + forcesNoun +
" are actively hostile, and will engage any orbital defenses, and "
355 +
" conduct planetside operations to undermine your authority.",
365 "the colony is unlikely to be in danger",
366 "the colony may be in danger",
367 "the colony is in danger");
380 info.
addPara(
"Conducting operations in the " +
392 info.
addPara(
"%s stability unaffected", opad,
405 }
else if (str == 0) {
414 if (iterIndex == 0) {
477 MemoryAPI mem = fleet.getMemoryWithoutUpdate();
494 return super.getCommMessageSound();
static SectorAPI getSector()
void addTemporaryModMult(float durInDays, String source, String desc, float value)
static final String HASSLE_COMPLETE_KEY
static RecentUnrest get(MarketAPI market)
void setPenalty(int penalty)
void add(int stability, String reason)
static final String LUDDIC_MAJORITY
static final String LUDDIC_CHURCH
static final String HIGHCOMMAND
static final String MILITARYBASE
static final String HASSLE_TYPE
static final String MEMORY_KEY_FLEET_DO_NOT_GET_SIDETRACKED
static final String WILL_HASSLE_PLAYER
static String SPACE_ADMIRAL
static final String COORDINATED_MANEUVERS
static final String CARRIER_GROUP
static final String TACTICAL_DRILLS
static final String SUBMARKET_OPEN
static final String GENERIC_MILITARY
static final String SUBMARKET_BLACK
boolean isSendingUpdate()
void unindent(TooltipMakerAPI info)
void sendUpdateIfPlayerHasIntel(Object listInfoParam, TextPanelAPI textPanel)
Object getListInfoParam()
void bullet(TooltipMakerAPI info)
MutableStatWithTempMods getNumFleetsStat(StarSystemAPI system)
static HostileActivityEventIntel get()
static final String HASSLE_REASON
FGBlockadeParams blockadeParams
void setActionFinished(boolean finished)
SectorEntityToken getPrimary()
void setSuccessFractionOverride(float successFractionOverride)
void finish(boolean isAbort)
FGAction getCurrentAction()
int getRelativeFGStrength(StarSystemAPI target)
boolean isSpawnedFleets()
float getETAUntil(String actionId)
boolean addStrengthDesc(TooltipMakerAPI info, float opad, StarSystemAPI system, String forces, String outcomeFailure, String outcomeUncertain, String outcomeSuccess)
void setNeverStraggler(CampaignFleetAPI fleet)
List< CampaignFleetAPI > getFleets()
boolean isCurrent(String id)
void setFleetCreatorQualityFromRoute(FleetCreatorMission m)
static String TRAVEL_ACTION
StarSystemAPI getTargetSystem()
GenericPayloadAction raidAction
static String PAYLOAD_ACTION
static String RETURN_ACTION
void unapplyBlockadeCondition()
void applyBlockadeCondition()
static final String PICKET
void performTakeover(boolean voluntary)
String getCommMessageSound()
static final String KOLT_FLEET
KnightsOfLuddTakeoverExpedition(GenericRaidParams params, FGBlockadeParams blockadeParams)
void addPostAssessmentSection(TooltipMakerAPI info, float width, float height, float opad)
void addPayloadActionStatus(TooltipMakerAPI info, float width, float height, float opad)
CampaignFleetAPI createFleet(int size, float damage)
static float NUM_OTHER_FLEETS_MULT
void addAssessmentSection(TooltipMakerAPI info, float width, float height, float opad)
void reportEconomyMonthEnd()
GenericPayloadAction createPayloadAction()
static final String STABILITY_UPDATE
void addUpdateBulletPoints(TooltipMakerAPI info, Color tc, Object param, ListInfoMode mode, float initPad)
int getStabilityPenaltyPerMonth()
static final String ARMADA
static final String BLOCKADING
void addTargetingBulletPoint(TooltipMakerAPI info, Color tc, Object param, ListInfoMode mode, float initPad)
void reportEconomyTick(int iterIndex)
void advance(float amount)
static int STABILITY_PER_MONTH_PARTIAL
static final String TAKEOVER_UPDATE
void addBasicDescription(TooltipMakerAPI info, float width, float height, float opad)
static int STABILITY_PER_MONTH_FULL
CampaignFleetAPI createFleet()
void triggerMakeAlwaysSpreadTOffHostility()
void triggerSetWarFleet()
void triggerFleetAddCommanderSkill(String skill, int level)
void triggerMakeLowRepImpact()
void triggerSetFleetSizeFraction(float fractionOfMax)
void setFleetDamageTaken(float damage)
void triggerSetFleetQuality(FleetQuality quality)
void triggerSetFleetSize(FleetSize size)
void setFleetSource(MarketAPI... preferred)
void triggerSetFleetDoctrineOther(int shipSize, int aggression)
void triggerSetFleetFlag(String flag)
static Color getTextColor()
static String ucFirst(String str)
static Color getNegativeHighlightColor()
static Color getHighlightColor()
static boolean isMilitary(MarketAPI market)
void setName(String name)
void setNoFactionInName(boolean noFactionInName)
String getPersonNamePrefixAOrAn()
String getPersonNamePrefix()
boolean isHostileTo(FactionAPI other)
String getNameWithLowercaseType()
String getNameWithLowercaseTypeShort()
List< CampaignFleetAPI > getFleets()
FactionAPI getFaction(String factionId)
MemoryAPI getMemoryWithoutUpdate()
ListenerManagerAPI getListenerManager()
LocationAPI getContainingLocation()
void addScript(EveryFrameScript script)
Vector2f getLocationInHyperspace()
MemoryAPI getMemoryWithoutUpdate()
void setUseStockpilesForShortages(boolean useStockpilesForShortages)
void setPlayerOwned(boolean playerOwned)
float getStabilityValue()
void setFactionId(String factionId)
void addSubmarket(String specId)
Set< SectorEntityToken > getConnectedEntities()
void setFreePort(boolean freePort)
void setAdmin(PersonAPI admin)
boolean hasIndustry(String id)
StarSystemAPI getStarSystem()
boolean hasSubmarket(String specId)
boolean hasCondition(String id)
void addListener(Object listener)
void removeListener(Object listener)
String getString(String key)
void set(String key, Object value)
void setRankId(String rank)
void setHighlight(int start, int end)
void setHighlightColors(Color ... colors)