All Classes and Interfaces
Class
Description
Assumes BeginMission false was called earlier.
Usage: AbortWait $waitHandle
Not related to sensor ghosts OR IS IT
Assumes BeginMission false was called earlier.
ActivateAbility
AddAbility
AddBarEvent
AddCommodity
AddCredits
"I'll buy you a pint on coatl station"
Per month can be negative.
AddPotentialContact
Icon id is under raidObjectives in settings.json.
First param is one of:
RESOURCES
WEAPONS
FIGHTER_CHIP
SPECIAL
SPECIAL catalytic_core 1
SPECIAL ship_bp paragon 1
WEAPONS ionpulser 1
AddRemoveAnyItem
AddRemoveCommodity
AddShip
RemoveShip
Gives the player the specified number of story points.
AddTextSmall "text OR text OR text"
AddXP
AdjustRep
AdjustRepActivePerson
AdjustRepActivePerson
Only supported when added to a ShipAPI, not to CombatEngineAPI.
NotifyEvent $eventHandle
AnyNearbyFleetsHostileAndAware
ApplyCRDamage
ApplyCRDamage $entity.fleetPoints 0.2 1 "Vindictive search"
The first param is the base number of fleet points for the amount of CR damage to do -
so, for an inspection it's based on the fleet points of the inspecting fleet, but it
could also just be a flat number, or based on the player fleet if
we wanted something like "half your ships take CR damage"
The second param is the multiplier for that number (basically, making up for the fact that you
can't say "$fleetPoints * 0.2" in rules - so the multiplication happens inside the command.
ArePatrolsNearby
IMPORTANT: will be multiple instances of this, one for the the OnFire (per weapon) and one for the OnHit (per missile) effects.
BarCMD
Unused.
Extend this class instead of implementing CampaignPlugin for convenience if you do not
intend to implement all the methods.
Ability that's turned on and then plays out until it's finished.
For capital-E "Events" with a progress bar, Outcomes, contributing factors, and so on.
Just a data holder for display purposes in the BaseEventIntel UI.
Requires corresponding entry in condition_gen_data.csv.
A base event factor with added code for managing multiple hostile activity causes.
Default spawn rate is on average one fleet every month.
NOT transient, tracks days active, and adds/removes itself as MarketImmigrationModifier
if the deriving class implements that interface.
Extend this class instead of implementing ModPlugin for convenience if you do not
intend to implement all the methods.
No visuals - meant to be used in conjunction with the various LocationAPI.addRingBand() methods.
Base class.
Ability that can be toggled on and off.
Person must have been added to SectorAPI.getImportantPeople().
Assumes active person is the mission giver.
The bounds HAVE to be a polygon - can't just be a disconnected set of segments.
Call $reference
Use "Call" instead; same functionality, more accurate and shorter name.
"Event" in the sense of something noteworthy happening, not just
actual "events" from events.json.
IsSeenByPatrols
NotifyEvent $eventHandle
CESetHidden <true|false>
CheckSetting <boolean setting in settings.json>
Super unused.
For the codex entries that require a listener of some type to unlock.
Bin-lattice with combat entities - ships, missiles, asteroids, projectiles, beams, etc -
sorted into buckets based on their location.
Covers the map plus a 100 pixel area around it.
NotifyEvent $eventHandle
The goal of this AI is *not* to make optimal decisions for when to use the system, and the system stats are not
balanced for that.
Called from
BattleAutoresolverPluginImpl
, a different implementation of that plugin is not obligated
to call these methods or use the same data structures.The effect for the Cryoflamer, which was at one point called "Cryoflux...".
UNUSED, not related to CryofluxTransducerEffect.
When adding to a ship, add to the ship dealing the damage, NOT the one taking the damage.
When adding to a ship, add to the ship taking the damage, NOT the one dealing it.
ActivateAbility
Used in combat to relate a deployed ship or fighter wing to the associated FleetMemberAPI.
DespawnEntity
Copyright 2015 Fractal Softworks, LLC
Picks a star system near the player meeting certain criteria and spawns certain types of fleets there,
but outside the player's vision.
Adds the following types of fleets:
1) Occasional pather fleet in hyper around a populated system
2) A few more in and around systems with pather/church presence
Adds the following types of fleets:
1) Weak pirates to any nearby populated system, sometimes.
NotifyEvent $eventHandle
DoCanAffordCheck
Usage: AbortWait $waitHandle
Like the Threat one:
Doesn't care about command points etc, just functions in a different way.
Not actually used - see DwellerCMD; that's used instead.
Required for Shrouded Dweller "ships" - spawns combat entities for custom rendering etc.
Mutable stats that are created on-demand when they're needed, unlike
the "standard" stats that have to be hardcoded.
Called whenever economy data is recalculated, i.e.
Only called when time passes, i.e.
Implementations should generally avoid using member variables since instances will be shared across
saves.
Probability = 1 means event is guaranteed to occur next time it's checked for.
See: BaseSalvageSpecial.setExtraSalvage() etc.
HostileFleetNearbyAndAware
Used for the Hull Restoration skill, but keeping the name for save compatibility.
Only applies when added to MutableShipStatsAPI, not to ShipAPI or the combat engine.
Variables set in memory that indicate certain decisions or behaviors
of the AI.
This, and any FleetEncounterContext code that uses this, is only used for battles involving the player,
and not AI vs AI autoresloved ones.
NOT ACTUALLY USED - see FleetLog.java instead.
Implements EveryFrameScript because of deriving from BaseIntelPlugin, but not actually
expected to be added as a script to anything unless that's necessary for the specific subclass.
Can only be added to the combat engine, not to specific ships; won't do anything in the latter case.
Whether a fleet member is a stand-alone ship or a wing of fighters.
Parameters for generic fleet creation.
Parameters for generic fleet creation.
Defines a side in a mission.
Unused.
NOT USED, UNFINISHED.
Meant to simulate brightness pattern of a lightning strike.
Hullmod that creates a fragment swarm around the ship.
Does not start an actual conversation, but does set them as the active person (so $heOrShe etc tokens work)
NotifyEvent $eventHandle
NotifyEvent $eventHandle
Direction to go in is fixed when behavior starts.
Not fully implemented.
Does not start an actual conversation, but does set them as the active person (so $heOrShe etc tokens work)
GiveOtherFleetAssignment
For hostile activity ("HA") related tasks.
Deprecated.
HailPlayer
Equivalent to:
AddText "You're being hailed by the $faction $otherShipOrFleet." $faction.baseColor
$hailing = true 0
The latter changes the "open comm link" text to a yellow "accept the comm request".
Of the local market's faction, if any.
Unlike HasslePlayerScript, this is a fleet-fleet interaction and needs to be initiated
by some other script.
HighlightComms
Changes the "open comm link" option to a yellow color.
There can be multiple "causes" for the same type of hostile activity.
There can be multiple "causes" for the same type of hostile activity.
HostileFleetNearbyAndAware
For Hyperspace Topography ("HT") related tasks.
Deprecated.
Hyperspace Topography event progress point values
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.
Person must be "important", i.e.
Should not use this for player fleet since that entity can change if it respawns.
Should add this to a ship where possible instead of the engine as performance will be better.
Note: the effect class is instantiated once per application session.
Implement this in addition to HullModEffect, not by itself.
gte = greater than or equals
ImportanceAtLeast $importance test
IncreaseSmugglingSuspicion
An amount of 1 is maxed-out suspicion.
The values returned by the LWJGL input library for the mouse buttons.
Very important for implemenations of this to not store *any* references to campaign data in data members, since
this is stored in a static map and persists between game loads etc.
Lower-tier shown first.
Should only be used if started directly (not via probability), as that's the only
way the investigation parameters can be set.
IsSeenByAnyFleet
IsSeenByPatrols
IsSoughtByPatrols
KantaCMD
LPTitheCalc
Issues:
The dialog greeting text is still the same
They still try to engage in toll collection
NOT CURRENTLY USED, SHOULDN'T BE AS IT DOESN'T WORK
MakeNearbyFleetsHostile <optional: also know player identity regardless of transponder, defaults to false>
MakeNearbyFleetsNonHostile
OpenCoreTab <optional: onlyShowTargetTabShortcut>
Doesn't matter unless the other fleet is also hostile or preventing disengage.
Doesn't matter unless the other fleet is also hostile or preventing disengage.
MakeOtherFleetAvoidContact
Copyright 2015 Fractal Softworks, LLC
MakeOtherFleetDoThing
Copyright 2015 Fractal Softworks, LLC
MakeOtherFleetGoAway
Copyright 2015 Fractal Softworks, LLC
Prevents disengaging by player even if not hostile.
DO NOT store references to market connections, as the actual connection may not be persisted and a copy
saved through a reference may not be the "real" connection after a savegame is loaded.
Does not start an actual conversation, but does set them as the active person (so $heOrShe etc tokens work)
Does not start an actual conversation, but does set them as the active person (so $heOrShe etc tokens work)
Variable names for stuff stored in memory that:
1) Generally is used more than once in code, so it's convenient to track from here.
For campaign messages that show up in the lower-left corner, but are not tied to an actual
piece of intel.
NOTE: An implementation of this should almost always also implement GuidedMissileAI, this is required
for the missile to be properly affected by flares.
Used by the MissionDefinition.java script to create the contents of a mission.
Must be implemented by the MissionDefinition.java scripts that create missions.
What additionally defines a MissionHub is that it must support certain actions in its
callEvent() method; see BaseMissionHub for details.
MissionHubCMD
NOTE: Instead of implementing this interface, extend BaseModPlugin instead.
A new instance of a mod's modPlugin class will be created when the game starts.
Assignment module: keeps track of assignments and when they are completed (due to time or proximity),
doesn't do any thinking.
Financial data node for a monthly income/expenses report.
Can pass in an invalid person ID to use the active person instead.
WARNING
Do not store campaign data in data members of an implementation of this interface.
WARNING
Do not store campaign data in data members of an implementation of this interface.
Called when tooltip info about how far a location is/how much fuel/time it takes to get there is created.
"X new items" or whatnot message.
Not actually used.
NGCAddCargo
NGCAddAptitudePoints
NGCAddCredits
$ngcAddOfficer
$ngcSkipTutorial
NGCAddShip
NGCAddShip
$ngcAddOfficer
$ngcSkipTutorial
NGCCanSkipTutorial
NGCDone
NGCRemoveCargo
NGCAddShip
NGCSetAptitude
NGCSetCustom
NGCSetDifficulty <difficulty, EASY | NORMAL>
NGCSetSkill
NGCSetStartingLocation
NGCSetDifficulty <difficulty, EASY | NORMAL>
Copyright 2022 Fractal Softworks, LLC
NotifyEvent $eventHandle
OpenCoreTab <CoreUITradeMode (optional)>
OpenCoreTab <CoreUITradeMode (optional)>
The way to provide custom params is to have a derived class that sets p = in its constructor.
Simple container class for a pair of items.
Pauses all music, custom or otherwise.
Note: if person id, tagsAll, tagsAny, and tagsNotAny are all blank,
the mission will not be offered by any contact without specific
scripting to make it so (via BeginMission, etc).
OpenCoreTab <CoreUITradeMode (optional)>
Deprecated.
Variable names for stuff stored in memory that:
1) Generally isn't used in rules.csv (but might occasionally be)
2) Generally is used more than once, so it's convenient to track from here
Unused.
For planetkiller ("PK") related tasks.
PLAddEntry
The accept() method needs to be FAST.
Plays custom music with the provided ID.
PlayerFleetHasShipWithId
PlayerFleetHasShipWithId
PlayerHasCargo <cargo id - commodity, weapon, fighter, special item> <optional: quantity, default 1>
The sound should be stereo.
NotifyEvent $eventHandle
IMPORTANT: will be multiple instances of this, as this doubles as the every frame effect and the on fire effect (same instance)
But also as the visual for each individual shot (created via onFire, using the non-default constructor)
IMPORTANT: will be multiple instances of this, as this doubles as the every frame effect and the on fire effect (same instance)
But also as the visual for each individual shot (created via onFire, using the non-default constructor)
SetActiveMission $missionEventHandle
RemoveBarEvent
AddRemoveCommodity
RemoveContact
RemoveShip
PlayerFleetHasShipWithId
RemoveShipWithId
RepairAll <useSupplies, true by default>
Copyright 2017 Fractal Softworks, LLC
gte = greater than or equals
RepGTE RepLevel
RepIsAtBest RepLevel
RepIsAtWorst RepLevel
lte = less than or equal
RepLTE RepLevel
Trade, time-based rep decay, rep from combat w/ enemies of faction fought against.
Sets active person to null.
Restores visual saved by SaveCurrentVisual.
Ends custom music playback and restarts whatever the default music would be.
Colors are:
beam fringe color, for beam fringe and emp arcs
beam glow color (beam weapon glow)
mine glow color (border around core of explosion, also pings?)
mine ping color (should be same as glow color)
explosion undercolor (specified in code only)
color subtracted around source of beam (code only)
Multiple instances of this plugin - one for every projectile (on hit), and one for each weapon.
IMPORTANT: will be multiple instances of this, one for the the OnFire (per weapon) and one for the OnHit (per torpedo) effects.
RollProbability
SalvageDefenderInteraction
NotifyEvent $eventHandle
Actually just generates automated defenses, not salvage.
SalvageSpecialInteraction
Saves current visual so it can be restored using RestoreCurrentVisual.
Note: generics can not be used in scripts.
SetActiveMission $missionEventHandle
SetCodexEntryId
Sets the id of the entry to show when the Codex is opened, with an expiration of 0.
SetColor $variable color
SetHistorianBlurbShownAfterDelay
SetLater
SetNearbyFleetsVariable
SetOptionColor
SetOptionText optionId newText
SetFleetAllowJump <true|false>
Copyright 2015 Fractal Softworks, LLC
SetPersonHidden set person hidden boolean by character id
SetPersonPortrait by person id, sprite as defined in settings "characters" section
SetPromptText
"-" is a special value for no text
Copyright 2015 Fractal Softworks, LLC
SetShortcut
SetStoryColor
SetStoryColor
SetTooltipHighlights
Assorted bits of shared data within a single campaign.
Generally meant for UI settings that are shared across multiple campaigns.
DO NOT store references to the instance anywhere that makes them end up in the savefile,
this does not belong in the campaign savefile.
Used for ship explosions when there's no whiteout.
Used for ship explosions when there's no whiteout.
ShowSecondPerson
Does not start an actual conversation, but does set them as the active person (so $heOrShe etc tokens work)
ShowImageVisual
ShowIntelMarker
ShowPersonVisual <optional - minimal mode>
Parameter is key from settings.json under "illustrations".
ShowRemainingCapacity
ShowResCost <optional: consumed> (repeated); optional: width of each panel
ShowResCost crew 1000 supplies 100 true 200
= requires 1000 crew, 100 supplis (consumed), each item is 200 pixels wide
ShowSecondPerson
ShowSecondPerson
ShrineCMD
<optional id - either market, or entity>
For non-dweller ships with a sort-of shroud.
Implementations of this need to handle some campaign events but to also work outside the campaign,
e.g.
IMPORTANT: only one S-Mod per record is supported.
Unused.
Up to a configurable number of fleets.
Deprecated.
SubCredits
A weapon that can not be manually controlled and launches swarms automatically.
TakeRepCheck
Doesn't care about command points etc, just functions in a different way.
Hidden hullmod for managing the special properties of Threat ships.
Not just for tooltips; used for normal UI elements as well.
Unused.
For Tri-Tachyon (inc) Business (c)
TT_CMD
Unhide the comm directory entities for baird and sebestyen in the Galatia Academy
Unhide person in CommDirectory by id
UniqueEncounter
SetActiveMission $missionEventHandle
4444444444
3333333333
2222222222
1111111111
0123456789
UNUSED
Can capture objectives and raid colonies; does not do anything else.
SetHistorianBlurbShownAfterDelay
Only applies when added to ships, NOT the combat engine, for performance reasons.
Only applies when added to MutableShipStatsAPI, not to ShipAPI or the combat engine.
Only applies when added to ships, NOT the combat engine, for performance reasons.
NotifyEvent $eventHandle