1package com.fs.starfarer.api.impl.campaign.missions.luddic;
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.InteractionDialogAPI;
12import com.fs.starfarer.api.campaign.RepLevel;
13import com.fs.starfarer.api.campaign.SectorEntityToken;
14import com.fs.starfarer.api.campaign.StarSystemAPI;
15import com.fs.starfarer.api.campaign.econ.MarketAPI;
16import com.fs.starfarer.api.campaign.rules.MemoryAPI;
17import com.fs.starfarer.api.characters.PersonAPI;
18import com.fs.starfarer.api.impl.campaign.ids.Factions;
19import com.fs.starfarer.api.impl.campaign.ids.FleetTypes;
20import com.fs.starfarer.api.impl.campaign.ids.People;
21import com.fs.starfarer.api.impl.campaign.ids.Tags;
22import com.fs.starfarer.api.impl.campaign.intel.bases.LuddicPathBaseIntel;
23import com.fs.starfarer.api.impl.campaign.missions.hub.HubMissionWithSearch;
24import com.fs.starfarer.api.impl.campaign.missions.hub.ReqMode;
25import com.fs.starfarer.api.ui.SectorMapAPI;
26import com.fs.starfarer.api.ui.TooltipMakerAPI;
27import com.fs.starfarer.api.util.Misc;
28import com.fs.starfarer.api.util.Misc.Token;
32 public static enum Stage {
40 INVESTIGATE_PATHER_STATION,
41 RETURN_TO_HESPERUS_EARLY,
86 if (
gilead ==
null)
return false;
90 if (
kazeron ==
null)
return false;
94 if (
olinadu ==
null)
return false;
106 if (
asher ==
null)
return false;
271 List<Token> params,
final Map<String, MemoryAPI> memoryMap) {
273 if (
"spawnPatherBase".equals(action)) {
289 mem.
set(
"$bffi_patherStationTarget",
true);
310 else if (
"cleanUpPatherBase".equals(action)) {
316 else if (
"patherBaseLosses".equals(action))
322 else if (
"shootEm".equals(action))
327 else if (
"ulmusPondMaskOff".equals(action)) {
331 else if (
"setCourseChalcedon".equals(action)) {
343 else if (
"doCleanup".equals(action))
351 return super.callAction(action, ruleId, dialog, params, memoryMap);
403 info.
addPara(
"Pick up Jethro Bornanew from Gilead.", opad);
407 info.
addPara(
"Go to Olinadu and contact Menes Yaribay, the planetary administrator.", opad);
411 info.
addPara(
"Go to Kazeron and talk to Horus Yaribay about his cousin Menes.", opad);
417 info.
addPara(
"Attend Menes Yaribay's 'gathering' on Olinadu and find a way to steal the false relic.", opad);
421 info.
addPara(
"Attend Menes Yaribay's 'gathering' on Olinadu with Horus Yaribay, the patriarch of Gens Yaribay.", opad);
425 info.
addPara(
"Attend Menes Yaribay's 'gathering' on Olinadu and acquire the false relic.", opad);
430 info.
addPara(
"Bring the false relic to Asher so that a nanoforge engineer in the employ of the Church can examine it.", opad);
434 info.
addPara(
"Go to Olinadu and confront Ulmus Pond to get a confession.", opad);
438 info.
addPara(
"Go to Chalcedon and use Bornanew's intel to track down where Ulmus Pond is hiding.", opad);
441 else if (
currentStage == Stage.INVESTIGATE_PATHER_STATION) {
447 info.
addPara(
"Go to the Cathedral of Holy Exodus, on Tartessus, and arrest Subcurate Cedra Keepfaith.", opad);
451 info.
addPara(
"Deliver Cedra Keepfaith to the Knights of Ludd on Hesperus to face their justice.", opad);
456 info.
addPara(
"Report back to Excubitor Orbis Gideon Oak on Hesperus with news of Bornanew's quest.", opad);
460 info.
addPara(
"Return Jethro Bornanew's body to the Knights of Ludd on Hesperus so he may rest with his fellow Knights.", opad);
464 else if (
currentStage == Stage.RETURN_TO_HESPERUS_EARLY) {
465 info.
addPara(
"Report back to Excubitor Orbis Gideon Oak on Hesperus with news of Bornanew's quest.", opad);
500 info.
addPara(
"Send a shuttle down to pick Novice Bornanew up from Gilead", tc, pad);
504 info.
addPara(
"Go to Olinadu and talk to the administrator, Menes Yaribay", tc, pad);
508 info.
addPara(
"Go to Kazeron and talk to Horus Yaribay about Menes", tc, pad);
513 info.
addPara(
"Attend the 'gathering' organized by Menes Yaribay on Olinadu", tc, pad);
516 info.
addPara(
"Attend the 'gathering' organized by Menes Yaribay on Olinadu", tc, pad);
522 info.
addPara(
"Bring the false relic to Asher to be examined by a nanoforge engineer", tc, pad);
526 info.
addPara(
"Go to Olinadu and talk to Ulmus Pond", tc, pad);
530 info.
addPara(
"Go to Chalcedon and find Ulmus Pond", tc, pad);
533 else if (
currentStage == Stage.INVESTIGATE_PATHER_STATION) {
538 info.
addPara(
"Go to the Cathedral of Holy Exodus on Tartessus and arrest Subcurate Cedra Keepfaith", tc, pad);
542 info.
addPara(
"Bring Cedra Keeptfaith to Hesperus to face the justice of the Knights of Ludd", tc, pad);
548 info.
addPara(
"Report back to Excubitor Orbis Gideon Oak on Hesperus", tc, pad);
551 info.
addPara(
"Return Jethro Bornanew's body to the Knights of Ludd on Hesperus", tc, pad);
555 else if (
currentStage == Stage.RETURN_TO_HESPERUS_EARLY) {
556 info.
addPara(
"Report back to Excubitor Orbis Gideon Oak on Hesperus", tc, pad);
581 return super.getPostfixForState();
589 return super.getMapLocation(map);
static SoundPlayerAPI getSoundPlayer()
static SectorAPI getSector()
static final String LUDDIC_PATH
static final String LUDDIC_CHURCH
static final String PERSEAN
static final String PATROL_LARGE
static final String PATROL_MEDIUM
static String MENES_YARIBAY
static String HORUS_YARIBAY
static String CEDRA_KEEPFAITH
SectorEntityToken getEntity()
StarSystemAPI getSystem()
void connectWithGlobalFlag(Object from, Object to, String flag)
void addSuccessStages(Object ... ids)
boolean setGlobalReference(String key)
static float getUnits(float lightYears)
void makeImportant(PersonAPI person, String flag, Enum ... stages)
PersonAPI getImportantPerson(String id)
void setStageOnGlobalFlag(Object to, String flag)
String getGoToSystemTextShort(StarSystemAPI system)
static void addStandardMarketDesc(String prefix, MarketAPI market, TooltipMakerAPI info, float pad)
transient Object startingStage
void setStartingStage(Object startingStage)
void setRepFactionChangesNone()
void setName(String name)
void setRepPersonChangesNone()
void requireSystemTags(ReqMode mode, String ... tags)
StarSystemAPI pickSystem()
void preferSystemInDirectionOfOtherMissions()
void requireSystemNotHasPulsar()
void preferSystemOnFringeOfSector()
void requireSystemNotAlreadyUsedForStory()
void preferSystemUnexplored()
void triggerFleetMakeFaster(boolean navigationSkill, int numTugs, boolean allowLongPursuit)
void triggerFleetAllowLongPursuit()
void triggerMakeFleetGoAwayAfterDefeat()
void triggerOrderFleetPatrol(final StarSystemAPI system)
void triggerMakeHostileAndAggressive()
void triggerMakeNonStoryCritical(MemoryAPI ... memoryArray)
void beginWithinHyperspaceRangeTrigger(SectorEntityToken entity, float rangeLY, boolean requirePlayerInHyperspace, Object ... stages)
void triggerSetGlobalMemoryValue(final String key, final Object value)
void triggerSetFleetAlwaysPursue()
void triggerSetFleetOfficers(OfficerNum num, OfficerQuality quality)
void triggerOrderFleetInterceptPlayer()
void beginStageTrigger(Object ... stages)
void triggerFleetSetPatrolLeashRange(float dist)
void triggerFleetMakeImportant(String flag, Enum ... stages)
void triggerPickLocationTowardsEntity(SectorEntityToken entity, float arc, float dist)
void triggerSpawnFleetAtPickedLocation()
void triggerOrderFleetEBurn(float probabilityToEBurn)
void triggerSetFleetMissionRef(final String key)
void triggerCreateFleet(FleetSize size, FleetQuality quality, String factionId, String type, StarSystemAPI roughlyWhere)
void triggerSetFleetFaction(final String factionId)
void triggerPickLocationAroundEntity(final float dist)
boolean callAction(String action, String ruleId, final InteractionDialogAPI dialog, List< Token > params, final Map< String, MemoryAPI > memoryMap)
MarketAPI bornanewLocation
boolean addNextStepText(TooltipMakerAPI info, Color tc, float pad)
LuddicPathBaseIntel patherStation
CampaignFleetAPI patherStationFleet
String getPostfixForState()
SectorEntityToken getMapLocation(SectorMapAPI map)
void updateInteractionDataImpl()
boolean create(MarketAPI createdAt, boolean barEvent)
PersonAPI cedra_keepfaith
void addDescriptionForNonEndStage(TooltipMakerAPI info, float width, float height)
StarSystemAPI patherBaseSystem
static void makeImportant(SectorEntityToken entity, String reason)
static void addDefeatTrigger(CampaignFleetAPI fleet, String trigger)
static void makeUnimportant(SectorEntityToken entity, String reason)
static CampaignFleetAPI getStationFleet(MarketAPI market)
Vector2f getListenerPos()
SoundAPI playSound(String id, float pitch, float volume, Vector2f loc, Vector2f vel)
RelationshipAPI getRelToPlayer()
List< SectorEntityToken > getJumpPoints()
void addScript(EveryFrameScript script)
void layInCourseFor(SectorEntityToken target)
FactionAPI getFaction(String factionId)
MemoryAPI getMemoryWithoutUpdate()
MemoryAPI getMemoryWithoutUpdate()
SectorEntityToken getHyperspaceAnchor()
MarketAPI getMarket(String id)
Vector2f getLocationInHyperspace()
StarSystemAPI getStarSystem()
PlanetAPI getPlanetEntity()
boolean contains(String key)
void set(String key, Object value)
void setFaction(String factionId)
boolean isAtBest(RepLevel level)