1package com.fs.starfarer.api.impl.campaign.intel.group;
3import com.fs.starfarer.api.Global;
4import com.fs.starfarer.api.campaign.CampaignFleetAPI;
5import com.fs.starfarer.api.campaign.StarSystemAPI;
6import com.fs.starfarer.api.fleet.FleetMemberAPI;
7import com.fs.starfarer.api.impl.campaign.ids.Factions;
8import com.fs.starfarer.api.impl.campaign.ids.MemFlags;
9import com.fs.starfarer.api.impl.campaign.ids.Ranks;
10import com.fs.starfarer.api.impl.campaign.ids.Skills;
11import com.fs.starfarer.api.impl.campaign.intel.events.TriTachyonHostileActivityFactor;
12import com.fs.starfarer.api.impl.campaign.missions.FleetCreatorMission;
13import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.FleetQuality;
14import com.fs.starfarer.api.ui.TooltipMakerAPI;
15import com.fs.starfarer.api.util.IntervalUtil;
16import com.fs.starfarer.api.util.Misc;
25 public static String
KEY =
"$TTMA_ref";
55 return "mercenary attack";
60 return super.getForcesNoun();
66 return "Tri-Tachyon Mercenary Attack";
70 transient protected boolean merc =
false;
73 if (
getRandom().nextFloat() < 0.5f || size == 10) {
93 }
else if (
getRandom().nextFloat() < 0.5f) {
128 boolean lightDetachment = size <= 5;
129 if (lightDetachment) {
138 boolean hasCombatCapital =
false;
139 boolean hasCivCapital =
false;
141 if (member.isCapital()) {
142 hasCombatCapital |= !member.isCivilian();
143 hasCivCapital |= member.isCivilian();
148 fleet.
setName(
"Tactistar Operations Command");
151 }
else if (hasCombatCapital) {
152 fleet.
setName(
"Tactistar Assault Detachment");
154 }
else if (hasCivCapital) {
155 fleet.
setName(
"Tactistar Support Detachment");
158 fleet.
setName(
"Tactistar Light Detachment");
168 curr.getMemoryWithoutUpdate().unset(
TTMA_FLEET);
178 super.advance(amount);
187 String reason =
"TTMA";
205 info.
addPara(
"Mercenary companies are notoriously flexible in their allegiances.", opad,
static SectorAPI getSector()
static final String TRITACHYON
static final String DIKTAT
static final String MERCENARY
static final String PIRATES
static final String MEMORY_KEY_MAKE_HOSTILE
static String SPACE_ADMIRAL
static String SPACE_CAPTAIN
static String SPACE_COMMANDER
static final String FLUX_REGULATION
static final String COORDINATED_MANEUVERS
static final String ELECTRONIC_WARFARE
static final String TACTICAL_DRILLS
static final String SUPPORT_DOCTRINE
static final String PHASE_CORPS
static StarSystemAPI getPrimaryTriTachyonSystem()
void setNeverStraggler(CampaignFleetAPI fleet)
List< CampaignFleetAPI > getFleets()
boolean isCurrent(String id)
static String PAYLOAD_ACTION
void addPostAssessmentSection(TooltipMakerAPI info, float width, float height, float opad)
void configureFleet(int size, FleetCreatorMission m)
static final String TTMA_FLEET
void configureFleet(int size, CampaignFleetAPI fleet)
static TTMercenaryAttack get()
String getFleetCreationFactionOverride(int size)
void advance(float amount)
TTMercenaryAttack(GenericRaidParams params)
static final String TTMA_COMMAND
void triggerFleetMakeFaster(boolean navigationSkill, int numTugs, boolean allowLongPursuit)
void triggerFleetAddCommanderSkill(String skill, int level)
void triggerSetFleetQuality(FleetQuality quality)
void triggerMakeNonHostileToFaction(String factionId)
void triggerSetFleetMaxShipSize(int max)
void triggerSetFleetFlag(String flag)
void advance(float amount)
static float getDays(float amount)
static Color getHighlightColor()
static boolean setFlagWithReason(MemoryAPI memory, String flagKey, String reason, boolean value, float expire)
void setName(String name)
FleetDataAPI getFleetData()
List< FleetMemberAPI > getMembersListCopy()
MemoryAPI getMemoryWithoutUpdate()
void set(String key, Object value)
void setRankId(String rank)