Class HubMissionWithSearch

All Implemented Interfaces:
IntelInfoPlugin, EveryFrameScript, CommRelayEntityPlugin.CommSnifferReadableIntel, HubMission, CallEvent.CallableEvent
Direct Known Subclasses:
AFavorForKanta, ANewHope, BornanewFilesFalseIdols, GABaseMission, HubMissionWithBarEvent, LuddicKnightErrant, LuddicPilgrimsPath, RecoverAPlanetkiller, SwordOfEventide, TheUsurpers

public abstract class HubMissionWithSearch extends HubMissionWithTriggers
Hub missions should generally extend this class. The methods/classes defined in this class could easily be in BaseHubMission instead; this class exists purely for organizational purposes.
Author:
Alex Mosolov Copyright 2019 Fractal Softworks, LLC
  • Field Details

    • DEFAULT_MISSION_ARC

      public static float DEFAULT_MISSION_ARC
    • DEFAULT_MISSION_ARC_BONUS

      public static float DEFAULT_MISSION_ARC_BONUS
    • DEFAULT_MISSION_MARKET_ARC

      public static float DEFAULT_MISSION_MARKET_ARC
    • DEFAULT_MISSION_MARKET_ARC_BONUS

      public static float DEFAULT_MISSION_MARKET_ARC_BONUS
    • INNER_SECTOR_PORTION_OF_HEIGHT

      public static float INNER_SECTOR_PORTION_OF_HEIGHT
    • NON_FRINGE_PORTION_OF_HEIGHT

      public static float NON_FRINGE_PORTION_OF_HEIGHT
    • makeSystemPreferencesMoreImportant

      protected transient boolean makeSystemPreferencesMoreImportant
  • Constructor Details

    • HubMissionWithSearch

      public HubMissionWithSearch()
  • Method Details

    • matchesSetMissionAngle

      public boolean matchesSetMissionAngle(org.lwjgl.util.vector.Vector2f other, float allowedArc, float allowedArcBonusIfClose)
    • matchesReq

      public static boolean matchesReq(HubMissionWithSearch.GenericRequirement req, Object param)
    • getSearch

      public HubMissionWithSearch.SearchData getSearch()
    • resetSearch

      public void resetSearch()
    • requireSystemInterestingAndNotCore

      public void requireSystemInterestingAndNotCore()
    • requireSystemInterestingAndNotUnsafeOrCore

      public void requireSystemInterestingAndNotUnsafeOrCore()
    • preferSystemInteresting

      public void preferSystemInteresting()
    • preferSystemInDirectionOfOtherMissions

      public void preferSystemInDirectionOfOtherMissions()
    • requireSystemInDirection

      public void requireSystemInDirection(float dir, float arc)
    • preferSystemInDirection

      public void preferSystemInDirection(float dir, float arc)
    • requireSystemInDirectionFrom

      public void requireSystemInDirectionFrom(org.lwjgl.util.vector.Vector2f from, float dir, float arc)
    • preferSystemInDirectionFrom

      public void preferSystemInDirectionFrom(org.lwjgl.util.vector.Vector2f from, float dir, float arc)
    • preferPlanetInDirectionOfOtherMissions

      public void preferPlanetInDirectionOfOtherMissions()
      Shouldn't use "preferSystem" for these because the systems are picked BEFORE planets are checked so e.g. we may pick 20 systems that "match", find that none of them have planets that match, and fall back to the full set of systems. Using the preferPlanets method, we'll look at all-direction systems and filter them out at the planet level.
    • preferEntityInDirectionOfOtherMissions

      public void preferEntityInDirectionOfOtherMissions()
    • preferTerrainInDirectionOfOtherMissions

      public void preferTerrainInDirectionOfOtherMissions()
    • preferMarketInDirectionOfOtherMissions

      public void preferMarketInDirectionOfOtherMissions()
    • requireSystemTags

      public void requireSystemTags(ReqMode mode, String... tags)
    • preferSystemTags

      public void preferSystemTags(ReqMode mode, String... tags)
    • requireSystemHasBase

      public void requireSystemHasBase(String factionId)
    • preferSystemHasBase

      public void preferSystemHasBase(String factionId)
    • requireSystemHasColony

      public void requireSystemHasColony(String factionId, int minSize)
    • preferSystemHasColony

      public void preferSystemHasColony(String factionId, int minSize)
    • requireSystemHasAtLeastNumJumpPoints

      public void requireSystemHasAtLeastNumJumpPoints(int min)
    • preferSystemHasAtLeastNumJumpPoints

      public void preferSystemHasAtLeastNumJumpPoints(int min)
    • requireSystemUnexplored

      public void requireSystemUnexplored()
    • preferSystemUnexplored

      public void preferSystemUnexplored()
    • requireSystemNotEnteredByPlayerFor

      public void requireSystemNotEnteredByPlayerFor(float days)
    • preferSystemNotEnteredByPlayerFor

      public void preferSystemNotEnteredByPlayerFor(float days)
    • requireSystemExplored

      public void requireSystemExplored()
    • preferSystemExplored

      public void preferSystemExplored()
    • requireSystemHasNumPlanets

      public void requireSystemHasNumPlanets(int num)
    • preferSystemHasNumPlanets

      public void preferSystemHasNumPlanets(int num)
    • requireSystemHasNumTerrain

      public void requireSystemHasNumTerrain(int num)
    • preferSystemHasNumTerrain

      public void preferSystemHasNumTerrain(int num)
    • requireSystemHasNumPlanetsAndTerrain

      public void requireSystemHasNumPlanetsAndTerrain(int num)
    • preferSystemHasNumPlanetsAndTerrain

      public void preferSystemHasNumPlanetsAndTerrain(int num)
    • requireSystemIsDense

      public void requireSystemIsDense()
    • preferSystemIsDense

      public void preferSystemIsDense()
    • requireSystemBlackHole

      public void requireSystemBlackHole()
    • requireSystemNebula

      public void requireSystemNebula()
    • requireSystemHasPulsar

      public void requireSystemHasPulsar()
    • preferSystemBlackHole

      public void preferSystemBlackHole()
    • preferSystemNebula

      public void preferSystemNebula()
    • preferSystemHasPulsar

      public void preferSystemHasPulsar()
    • requireSystemBlackHoleOrPulsarOrNebula

      public void requireSystemBlackHoleOrPulsarOrNebula()
    • preferSystemBlackHoleOrPulsarOrNebula

      public void preferSystemBlackHoleOrPulsarOrNebula()
    • requireSystemBlackHoleOrNebula

      public void requireSystemBlackHoleOrNebula()
    • preferSystemBlackHoleOrNebula

      public void preferSystemBlackHoleOrNebula()
    • requireSystemNotBlackHole

      public void requireSystemNotBlackHole()
    • requireSystemNotNebula

      public void requireSystemNotNebula()
    • requireSystemNotHasPulsar

      public void requireSystemNotHasPulsar()
    • requireSystemNotAlreadyUsedForStory

      public void requireSystemNotAlreadyUsedForStory()
    • setSystemWasUsedForStory

      public void setSystemWasUsedForStory(Object stage, StarSystemAPI system)
      To avoid re-using the same system for different story things.
      Parameters:
      stage -
      system -
    • preferSystemNotBlackHole

      public void preferSystemNotBlackHole()
    • preferSystemNotNebula

      public void preferSystemNotNebula()
    • preferSystemNotPulsar

      public void preferSystemNotPulsar()
    • requireSystemHasSafeStars

      public void requireSystemHasSafeStars()
    • requireSystemInInnerSector

      public void requireSystemInInnerSector()
    • preferSystemInInnerSector

      public void preferSystemInInnerSector()
    • requireSystemOnFringeOfSector

      public void requireSystemOnFringeOfSector()
    • preferSystemOnFringeOfSector

      public void preferSystemOnFringeOfSector()
    • requireSystemWithinRangeOf

      public void requireSystemWithinRangeOf(org.lwjgl.util.vector.Vector2f location, float rangeLY)
    • preferSystemWithinRangeOf

      public void preferSystemWithinRangeOf(org.lwjgl.util.vector.Vector2f location, float rangeLY)
    • requireSystemOutsideRangeOf

      public void requireSystemOutsideRangeOf(org.lwjgl.util.vector.Vector2f location, float rangeLY)
    • preferSystemOutsideRangeOf

      public void preferSystemOutsideRangeOf(org.lwjgl.util.vector.Vector2f location, float rangeLY)
    • requireSystemWithinRangeOf

      public void requireSystemWithinRangeOf(org.lwjgl.util.vector.Vector2f location, float minRangeLY, float maxRangeLY)
    • preferSystemWithinRangeOf

      public void preferSystemWithinRangeOf(org.lwjgl.util.vector.Vector2f location, float minRangeLY, float maxRangeLY)
    • requirePlanetNotStar

      public void requirePlanetNotStar()
    • requirePlanetIsStar

      public void requirePlanetIsStar()
    • requirePlanetNotGasGiant

      public void requirePlanetNotGasGiant()
    • preferPlanetNonGasGiant

      public void preferPlanetNonGasGiant()
    • requirePlanetNotNearJumpPoint

      public void requirePlanetNotNearJumpPoint(float minDist)
    • preferPlanetNotNearJumpPoint

      public void preferPlanetNotNearJumpPoint(float minDist)
    • requirePlanetIsGasGiant

      public void requirePlanetIsGasGiant()
    • preferPlanetIsGasGiant

      public void preferPlanetIsGasGiant()
    • requirePlanetPopulated

      public void requirePlanetPopulated()
    • preferPlanetPopulated

      public void preferPlanetPopulated()
    • requirePlanetUnpopulated

      public void requirePlanetUnpopulated()
    • preferPlanetUnpopulated

      public void preferPlanetUnpopulated()
    • requirePlanetTags

      public void requirePlanetTags(ReqMode mode, String... tags)
    • preferPlanetTags

      public void preferPlanetTags(ReqMode mode, String... tags)
    • requirePlanetConditions

      public void requirePlanetConditions(ReqMode mode, String... tags)
    • preferPlanetConditions

      public void preferPlanetConditions(ReqMode mode, String... conditions)
    • requirePlanetNotFullySurveyed

      public void requirePlanetNotFullySurveyed()
    • preferPlanetNotFullySurveyed

      public void preferPlanetNotFullySurveyed()
    • requirePlanetFullySurveyed

      public void requirePlanetFullySurveyed()
    • preferPlanetFullySurveyed

      public void preferPlanetFullySurveyed()
    • preferPlanetUnsurveyed

      public void preferPlanetUnsurveyed()
    • requirePlanetUnsurveyed

      public void requirePlanetUnsurveyed()
    • requirePlanetWithRuins

      public void requirePlanetWithRuins()
    • preferPlanetWithRuins

      public void preferPlanetWithRuins()
    • requirePlanetWithoutRuins

      public void requirePlanetWithoutRuins()
    • preferPlanetWithoutRuins

      public void preferPlanetWithoutRuins()
    • requirePlanetUnexploredRuins

      public void requirePlanetUnexploredRuins()
    • preferPlanetUnexploredRuins

      public void preferPlanetUnexploredRuins()
    • requireEntityTags

      public void requireEntityTags(ReqMode mode, String... tags)
    • preferEntityTags

      public void preferEntityTags(ReqMode mode, String... tags)
    • requireEntityType

      public void requireEntityType(String... types)
    • preferEntityType

      public void preferEntityType(String... types)
    • requireEntityMemoryFlags

      public void requireEntityMemoryFlags(String... flags)
    • preferEntityMemoryFlags

      public void preferEntityMemoryFlags(String... flags)
    • requireEntityUndiscovered

      public void requireEntityUndiscovered()
    • preferEntityUndiscovered

      public void preferEntityUndiscovered()
    • requireEntityNot

      public void requireEntityNot(SectorEntityToken entity)
    • requirePlanetNot

      public void requirePlanetNot(PlanetAPI planet)
    • requireSystemNot

      public void requireSystemNot(StarSystemAPI system)
    • requireSystemIs

      public void requireSystemIs(StarSystemAPI system)
    • requireSystem

      public void requireSystem(HubMissionWithSearch.StarSystemRequirement req)
    • preferSystem

      public void preferSystem(HubMissionWithSearch.StarSystemRequirement req)
    • findMatching

      protected void findMatching(List reqs, List prefs, List params, List matches, List preferred)
    • pickFromMatching

      public Object pickFromMatching(List matches, List preferred)
    • findMatchingSystems

      protected void findMatchingSystems()
    • pickSystem

      public StarSystemAPI pickSystem()
    • pickSystem

      public StarSystemAPI pickSystem(boolean resetSearch)
    • searchMakeSystemPreferencesMoreImportant

      public void searchMakeSystemPreferencesMoreImportant(boolean value)
    • pickPlanet

      public PlanetAPI pickPlanet()
    • pickPlanet

      public PlanetAPI pickPlanet(boolean resetSearch)
    • pickEntity

      public SectorEntityToken pickEntity()
    • pickEntity

      public SectorEntityToken pickEntity(boolean resetSearch)
    • findMatchingMarkets

      protected void findMatchingMarkets()
    • pickMarket

      public MarketAPI pickMarket()
    • pickMarket

      public MarketAPI pickMarket(boolean resetSearch)
    • pickCommodity

      public CommodityOnMarketAPI pickCommodity()
    • pickCommodity

      public CommodityOnMarketAPI pickCommodity(boolean resetSearch)
    • requireMarketTacticallyBombardable

      public void requireMarketTacticallyBombardable()
    • requireMarketNotTacticallyBombardable

      public void requireMarketNotTacticallyBombardable()
    • preferMarketTacticallyBombardable

      public void preferMarketTacticallyBombardable()
    • preferMarketNotTacticallyBombardable

      public void preferMarketNotTacticallyBombardable()
    • requireMarketMilitary

      public void requireMarketMilitary()
    • preferMarketMilitary

      public void preferMarketMilitary()
    • requireMarketNotMilitary

      public void requireMarketNotMilitary()
    • preferMarketNotMilitary

      public void preferMarketNotMilitary()
    • requireMarketMemoryFlag

      public void requireMarketMemoryFlag(String key, Object value)
    • preferMarketMemoryFlag

      public void preferMarketMemoryFlag(String key, Object value)
    • requireMarketHidden

      public void requireMarketHidden()
    • preferMarketHidden

      public void preferMarketHidden()
    • requireMarketNotHidden

      public void requireMarketNotHidden()
    • preferMarketNotHidden

      public void preferMarketNotHidden()
    • requireMarketNotInHyperspace

      public void requireMarketNotInHyperspace()
    • preferMarketNotInHyperspace

      public void preferMarketNotInHyperspace()
    • requireMarketIs

      public void requireMarketIs(String id)
    • requireMarketIs

      public void requireMarketIs(MarketAPI param)
    • preferMarketIs

      public void preferMarketIs(MarketAPI param)
    • requireMarketIsNot

      public void requireMarketIsNot(MarketAPI param)
    • preferMarketIsNot

      public void preferMarketIsNot(MarketAPI param)
    • requireMarketFaction

      public void requireMarketFaction(String... factions)
    • preferMarketFaction

      public void preferMarketFaction(String... factions)
    • requireMarketFactionNot

      public void requireMarketFactionNot(String... factions)
    • preferMarketFactionNot

      public void preferMarketFactionNot(String... factions)
    • requireMarketFactionNotPlayer

      public void requireMarketFactionNotPlayer()
    • requireMarketFactionHostileTo

      public void requireMarketFactionHostileTo(String faction)
    • preferMarketFactionHostileTo

      public void preferMarketFactionHostileTo(String faction)
    • requireMarketFactionNotHostileTo

      public void requireMarketFactionNotHostileTo(String faction)
    • preferMarketFactionNotHostileTo

      public void preferMarketFactionNotHostileTo(String faction)
    • convertLocations

      protected LocationAPI[] convertLocations(String... locations)
    • requireMarketLocation

      public void requireMarketLocation(String... locations)
    • preferMarketLocation

      public void preferMarketLocation(String... locations)
    • requireMarketLocationNot

      public void requireMarketLocationNot(String... locations)
    • preferMarketLocationNot

      public void preferMarketLocationNot(String... locations)
    • requireMarketLocation

      public void requireMarketLocation(LocationAPI... locations)
    • preferMarketLocation

      public void preferMarketLocation(LocationAPI... locations)
    • requireMarketLocationNot

      public void requireMarketLocationNot(LocationAPI... locations)
    • preferMarketLocationNot

      public void preferMarketLocationNot(LocationAPI... locations)
    • requireMarketFactionCustom

      public void requireMarketFactionCustom(ReqMode mode, String... custom)
    • preferMarketFactionCustom

      public void preferMarketFactionCustom(ReqMode mode, String... custom)
    • requireMarketSizeAtLeast

      public void requireMarketSizeAtLeast(int size)
    • preferMarketSizeAtLeast

      public void preferMarketSizeAtLeast(int size)
    • requireMarketSizeAtMost

      public void requireMarketSizeAtMost(int size)
    • preferMarketSizeAtMost

      public void preferMarketSizeAtMost(int size)
    • requireMarketStabilityAtLeast

      public void requireMarketStabilityAtLeast(int stability)
    • preferMarketStabilityAtLeast

      public void preferMarketStabilityAtLeast(int stability)
    • requireMarketStabilityAtMost

      public void requireMarketStabilityAtMost(int stability)
    • preferMarketStabilityAtMost

      public void preferMarketStabilityAtMost(int stability)
    • requireMarketConditions

      public void requireMarketConditions(ReqMode mode, String... conditions)
    • preferMarketConditions

      public void preferMarketConditions(ReqMode mode, String... conditions)
    • requireMarketIndustries

      public void requireMarketIndustries(ReqMode mode, String... industries)
    • preferMarketIndustries

      public void preferMarketIndustries(ReqMode mode, String... industries)
    • requireMarketIsMilitary

      public void requireMarketIsMilitary()
    • preferMarketIsMilitary

      public void preferMarketIsMilitary()
    • requireMarketHasSpaceport

      public void requireMarketHasSpaceport()
    • preferMarketHasSpaceport

      public void preferMarketHasSpaceport()
    • requireMarketNotHasSpaceport

      public void requireMarketNotHasSpaceport()
    • preferMarketNotHasSpaceport

      public void preferMarketNotHasSpaceport()
    • requireCommodityIsNotPersonnel

      public void requireCommodityIsNotPersonnel()
    • preferCommodityIsNotPersonnel

      public void preferCommodityIsNotPersonnel()
    • requireCommodityLegal

      public void requireCommodityLegal()
    • preferCommodityLegal

      public void preferCommodityLegal()
    • requireCommodityIllegal

      public void requireCommodityIllegal()
    • preferCommodityIllegal

      public void preferCommodityIllegal()
    • requireCommodityIs

      public void requireCommodityIs(String id)
    • preferCommodityIs

      public void preferCommodityIs(String id)
    • requireCommodityTags

      public void requireCommodityTags(ReqMode mode, String... tags)
    • preferCommodityTags

      public void preferCommodityTags(ReqMode mode, String... tags)
    • requireCommodityAvailableAtLeast

      public void requireCommodityAvailableAtLeast(int qty)
    • preferCommodityAvailableAtLeast

      public void preferCommodityAvailableAtLeast(int qty)
    • requireCommodityAvailableAtMost

      public void requireCommodityAvailableAtMost(int qty)
    • preferCommodityAvailableAtMost

      public void preferCommodityAvailableAtMost(int qty)
    • requireCommodityDemandAtLeast

      public void requireCommodityDemandAtLeast(int qty)
    • preferCommodityDemandAtLeast

      public void preferCommodityDemandAtLeast(int qty)
    • requireCommodityDemandAtMost

      public void requireCommodityDemandAtMost(int qty)
    • preferCommodityDemandAtMost

      public void preferCommodityDemandAtMost(int qty)
    • requireCommodityProductionAtLeast

      public void requireCommodityProductionAtLeast(int qty)
    • preferCommodityProductionAtLeast

      public void preferCommodityProductionAtLeast(int qty)
    • requireCommodityProductionAtMost

      public void requireCommodityProductionAtMost(int qty)
    • preferCommodityProductionAtMost

      public void preferCommodityProductionAtMost(int qty)
    • requireCommoditySurplusAtLeast

      public void requireCommoditySurplusAtLeast(int qty)
    • preferCommoditySurplusAtLeast

      public void preferCommoditySurplusAtLeast(int qty)
    • requireCommoditySurplusAtMost

      public void requireCommoditySurplusAtMost(int qty)
    • preferCommoditySurplusAtMost

      public void preferCommoditySurplusAtMost(int qty)
    • requireCommodityDeficitAtLeast

      public void requireCommodityDeficitAtLeast(int qty)
    • preferCommodityDeficitAtLeast

      public void preferCommodityDeficitAtLeast(int qty)
    • requireCommodityDeficitAtMost

      public void requireCommodityDeficitAtMost(int qty)
    • preferCommodityDeficitAtMost

      public void preferCommodityDeficitAtMost(int qty)
    • requireCommodityBasePriceAtLeast

      public void requireCommodityBasePriceAtLeast(float price)
    • preferCommodityBasePriceAtLeast

      public void preferCommodityBasePriceAtLeast(float price)
    • requireCommodityBasePriceAtMost

      public void requireCommodityBasePriceAtMost(float price)
    • preferCommodityBasePriceAtMost

      public void preferCommodityBasePriceAtMost(float price)
    • requireTerrainType

      public void requireTerrainType(ReqMode mode, String... types)
    • preferTerrainType

      public void preferTerrainType(ReqMode mode, String... types)
    • requireTerrainTags

      public void requireTerrainTags(ReqMode mode, String... tags)
    • preferTerrainTags

      public void preferTerrainTags(ReqMode mode, String... tags)
    • requireTerrainHasSpecialName

      public void requireTerrainHasSpecialName()
    • preferTerrainHasSpecialName

      public void preferTerrainHasSpecialName()
    • pickTerrain

      public CampaignTerrainAPI pickTerrain()
    • pickTerrain

      public CampaignTerrainAPI pickTerrain(boolean resetSearch)