1package com.fs.starfarer.api.impl.campaign.missions.cb;
5import com.fs.starfarer.api.campaign.CampaignFleetAPI;
6import com.fs.starfarer.api.campaign.StarSystemAPI;
7import com.fs.starfarer.api.campaign.econ.MarketAPI;
8import com.fs.starfarer.api.impl.campaign.ids.Factions;
9import com.fs.starfarer.api.impl.campaign.ids.FleetTypes;
10import com.fs.starfarer.api.impl.campaign.ids.Tags;
11import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithBarEvent;
12import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.FleetQuality;
13import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.FleetSize;
14import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.OfficerNum;
15import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithTriggers.OfficerQuality;
16import com.fs.starfarer.api.impl.campaign.missions.hub.ReqMode;
17import com.fs.starfarer.api.ui.TooltipMakerAPI;
18import com.fs.starfarer.api.util.Misc;
36 info.
addPara(
"Target is a %s patrol located in the " +
49 info.
addPara(
"It will most likely be found either in orbit around " +
50 data.
market.
getName() +
", or patrolling one of the system's objectives "
51 +
"(such as a comm relay) or jump-points.", opad);
58 data.difficulty = difficulty;
70 if (target ==
null || target.
getStarSystem() ==
null)
return null;
78 if (difficulty > 6) num = 2;
79 if (difficulty > 8) num = 3;
80 float protectorDiff = difficulty - 3;
82 FleetSize size = FleetSize.MEDIUM;
83 FleetQuality quality = FleetQuality.DEFAULT;
85 OfficerQuality oQuality = OfficerQuality.DEFAULT;
86 OfficerNum oNum = OfficerNum.DEFAULT;
88 for (
int i = 0; i < num; i++) {
89 float diff = difficulty;
90 if (i > 0) diff = protectorDiff;
93 size = FleetSize.TINY;
95 }
else if (diff <= 3) {
96 size = FleetSize.VERY_SMALL;
98 }
else if (diff <= 4) {
99 size = FleetSize.SMALL;
101 }
else if (difficulty <= 5) {
102 size = FleetSize.MEDIUM;
105 size = FleetSize.LARGE;
136 if (data.
fleet ==
null)
return null;
149 mission.
set(
"$" +
id +
"_patrolFaction", faction);
150 mission.
set(
"$bcb_patrolFaction", faction);
151 mission.
set(
"$" +
id +
"_patrolFactionColor", factionColor);
152 mission.
set(
"$bcb_patrolFactionColor", factionColor);
158 return super.getMaxDifficulty();
static final String CUSTOM_DECENTRALIZED
static final String PIRATES
static final String PATROL_SMALL
static final String PATROL_LARGE
static final String PATROL_MEDIUM
void setRepChangesBasedOnDifficulty(CustomBountyData data, int difficulty)
void beginFleet(HubMissionWithBarEvent mission, CustomBountyData data)
CampaignFleetAPI createFleet(HubMissionWithBarEvent mission, CustomBountyData data)
void updateInteractionData(HubMissionWithBarEvent mission, CustomBountyData data)
String getBountyNamePostfix(HubMissionWithBarEvent mission, CustomBountyData data)
float getFrequency(HubMissionWithBarEvent mission, int difficulty)
CustomBountyData createBounty(MarketAPI createdAt, HubMissionWithBarEvent mission, int difficulty, Object bountyStage)
void addTargetLocationAndDescription(TooltipMakerAPI info, float width, float height, HubMissionWithBarEvent mission, CustomBountyData data)
void addTargetLocationAndDescriptionBulletPoint(TooltipMakerAPI info, Color tc, float pad, HubMissionWithBarEvent mission, CustomBountyData data)
static int getBaseBounty(int difficulty, float mult, BaseHubMission mission)
void set(String key, Object value)
void requireMarketFactionCustom(ReqMode mode, String ... custom)
void requireMarketNotInHyperspace()
void requireMarketSizeAtLeast(final int size)
void requireMarketFactionNot(String ... factions)
void requireMarketLocationNot(String ... locations)
void requireMarketHasSpaceport()
void requireMarketFactionNotPlayer()
void requireMarketNotHidden()
void triggerOrderExtraPatrolPoints(SectorEntityToken ... points)
void triggerFleetAllowLongPursuit()
void triggerOrderFleetPatrol(final StarSystemAPI system)
void triggerSetFleetOfficers(OfficerNum num, OfficerQuality quality)
void triggerFleetSetAllWeapons()
void triggerFleetSetPatrolLeashRange(float dist)
void triggerAutoAdjustFleetSize(FleetSize min, FleetSize max)
void triggerSpawnFleetNear(final SectorEntityToken entity, final String flag, final String refKey)
void triggerCreateFleet(FleetSize size, FleetQuality quality, String factionId, String type, StarSystemAPI roughlyWhere)
void triggerFleetSetPatrolActionText(String patrolText)
static Color getHighlightColor()
String getPersonNamePrefix()
String getNameWithLowercaseType()
LocationAPI getContainingLocation()
StarSystemAPI getStarSystem()
SectorEntityToken getPrimaryEntity()