Horizon Wiki
Horizon Wiki
Name Description Params
AddColonyMoraleOverrideReport Override the colony's morale
  • planetId
  • percent (morale)
  • reportName
AddCredits Adds/Removes credits in lump sum (value), with an optional bonus percent based on the gross income. Accepts negative value.
  • value (base amount in mc)
  • percent (opt bonus)
  • race (opt - assumes race chosen)
  • reportAsExpense (opt, will be considered in net income calculations)
  • expenseName (opt - display name)
  • reportAsIncome (opt, will be considered in net income calculations)
  • incomeName (opt - display name)
AddGlobalShipSpeedModifier All ships in the galaxy will have their speed multiplied by the value for the next turn
  • reportName
  • value (multiplier between 0 and 1)
AddInfluence Adds tolerance (accepts negative values)
AddJournalSummary Appends a multi-line text summary to a journal entry
  • entry
  • value (new line: '`' grave key, tab: '|' pipe character)
  • allowDuplicate (default true)
  • bake (opt: Convert variables to their value before storing the entry - if the variable exists. default: false)
AddNewsReport Generates a news event for the next turn update
  • value1, value2, value3...valueN (dialogue text per screen)
  • mainDisplayPath (opt - image resized to 600*450)
  • subDisplayPath (opt - image resized to 415*395)
  • mainDisplayRect (opt)
  • subDisplayRect (opt)|
AddNewTechnology Adds a new tech, or boosts the existing one of given type and id. If no type or id is provided, a random tech type and id will be used.
  • race
  • type (opt)
  • id (opt)
AddOfficeMessage Adds a message to the last turn events window
  • id (office window name):
  • value (text)
  • priority (opt: low or critical. Default is null, meaning normal priority)
  • linkType (opt - the message becomes click-able)
  • screen (opt - Which screen the link should go to. Default is the galaxy map)
AddPopulationModifier Population is increased
  • percent
  • value (opt - population in the thousands)
  • absolute (opt - force a positive value)
  • planetId
  • reportName
AddPopulationGrowthModifier Population growth is increased for the next turn
  • percent
  • planetId
  • reportName (name to report this bonus as)
  • type (eg. planetary, stellar)
  • id (any or specific id [planet id or star id])
  • itemName
  • description
  • storeAs (opt - stores the last planted container id [eg. planet or star])
  • planetType (opt)
  • excludeHomeworlds (opt - true or false)
  • starId (used when storing an item on a random planet in a specific system)
  • excludeHomeworldSystem (opt - all, raceid[comma separated])
  • allowGasGiants (opt - allow gas giant planets to hold the item)
  • race
  • typeId
  • guid
  • orbitPlanet="planet name" (optional)
  • sector="q,s" (optional, if no orbit set)|
AddTourismTrafficModifier Tourism is increased
  • percent
  • value (opt)
  • absolute (opt - force a positive value)
  • planetId (opt - all colonies used if not specified)
  • reportName
AddTradeTrafficModifier Trade is increased
  • percent
  • value (opt)
  • absolute (opt - force a positive value)
  • planetId (opt - all colonies used if not specified)
  • reportName
BoostTechField "Adds a bonus to all available techs in a field.
  • Note: A tech can acquire a maximum of 1 level from boosts per turn."
  • race
  • techField
  • level (1-10, describes the intensity of a boost. [ie. @ lvl x, techs lvl 1-x would receive enough experience to level, anything above is not guaranteed an entire level])
ClearJournalGoals Removes all journal entry goals
  • entry
ClearTechResearchCostOverride Undo SetTechResearchCostOverride
CompleteJournalEntry Marks as completed, moved to the bottom of the list and grey'ed out
  • entry
CreateIndependentShip If planet id is specified, sector/subsector and planet position is ignored.
If planet id is not specified, sector/subsector and planet position are required.
  • independentId
    0 - Pirate
  • shipType
    0 - Scout
    1 - Transport
    2 - Cruiser
    3 - Mothership
  • guid (opt)
    Use http://createguid.com/ and add the surrounding {} eg. {03AACF52-2D2A-4467-83B0-5417A7ABE53F}
  • shipDesignId (0-3)
  • planetPosition (opt)
    (eg. Earth = 3, Pluto = 9)
  • sector (opt)
  • subSector (opt)
  • planetId (opt)
  • level (opt)
  • group (opt - ship group)
CreateProbe If planet id is specified, sector/subsector and planet position is ignored.
If planet id is not specified, sector/subsector and planet position are required.
  • eg. {03AACF52-2D2A-4467-83B0-5417A7ABE53F}
  • planetPosition (opt)
  • (eg. Earth = 3, Pluto = 9)
  • sector (opt)
  • subSector (opt)
  • planetId (opt)
  • level (opt)
  • type (eg. planetary)
  • id (eg. planetId)
  • itemName
DestroyShips Remove a ship or a group of ships from the game. (Calls OnShipDestroyed. Use InvalidateListener to disable unwanted calls.)
  • guid (opt)
  • group (opt)
EliminateRace Destroys a race and all traces of them
EndGame Complete the game immediately with the given cutscene
  • type
    1: Final Defeat
    2: Varaian Win
    3: Kortahz Win
    4: Generic Human Win
  • type (eg. planetary)
  • itemName
  • storeAs
FindPlanet Retrieve a planet which matches the given parameters
FindRace Retrieve a race id which matches the given parameters (player's race is returned as 'raceChosen')
  • notContainedIn(opt - list of races to exclude)
  • allowInactive (opt - default is false, meaning races not in the current game are excluded)
  • storeAs
  • findAll (opt - returns all the races matching the criteria in a csv list format)|
FindTech Retrieve a tech or list of techs which matches the given constraints
  • discoveredBy(opt - list of races who has discovered this tech. Accepts varieties of: csv race ids, 'any', 'all', 'none')
  • notDiscoveredBy (opt - same as discoveredBy)
  • techField(opt - tech field(s) to search, accepts csv)
  • storeAs (opt - used when findAll is specified)
  • findAll (opt - returns all the techs matching the criteria in a csv list format into storeAs)
  • storeTechId (return value)
  • storeTechField(return value)
ForEach Loop through a list of text items. This calls OnIteration event.

Note: brackets () and [] are removed before looping, as are the weighting brackets and it's content {...}
Note2: When listing items from the global store, the list should be wrapped with () eg. ($item1$, item2, $item3$); You will face issues if the list is not wrapped.
eg. in (expects list, can be from parameter or global store)

  • do (expects a listener's name)
  • key
  • id (the on result id)
  • type (eg. planetary, stellar)
  • id (eg. planetId)
  • storeAs
  • type (eg. planetary, stellar)
  • id (eg. planetId)
  • storeAs
  • planetId (opt)
  • starId (opt)
  • storeAs
  • sector + subSector (opt)
InvalidateListener The listener in question will not run if it is triggered and invalidated. This is useful when order of execution can not be guaranteed.
  • listenerId
  • value (true means invalid, false means valid)
  • event
Log Add a line to the quest log
  • value
  • position (Opt. x [left/right], y[top/bottom] eg. position="right, bottom")
  • entry
RandomChance Randomly choose true or false. Calls OnResult with the specified id.
  • percent
  • id
RandomPick "Randomly choose an item from a list of items.

Lists can use {} next to each item to add a weight, or use the updateWeight parameter.

  • choices (expects list, can be from param or global store)
  • id (the OnResult listener id)
  • updateWeight (opt - formatted as: itemVal{weightVal}, item2Val{weightVal}, etc...)
RemoveJournalGoal Remove a journal goal by value
  • entry
  • goal
RemoveReports Remove reports matching the optional conditions. If no conditions are specified, all reports are cleared
Request Retrieve some information from the game. Available Types
  • type
  • storeAs (Stores in global data store)
  • any optional tests (eg. race="raceChosen")
  • key
  • value
  • bake (opt: bake in variables with the current data - if the variable exists. default: false)
SetInterrupt Interrupt flag set to true, show combat to player
  • value (true or false)
SetJournalGoal Adds a new goal/clue pair to a journal entry
  • entry
  • goal
  • clue (opt)
  • race
  • level (low, medium, high)
  • questGroup
  • questId
  • stageId
  • race1
  • race2
  • relation
  • mutual (default = true)
  • force (opt - default = false. If false, the relation can not be no-contact, unless the existing relation is unknown)|
SetShipFaction Override a ship's faction with a specific race, or all races.
  • value:
    1 = hostile to all races (or specified race)
    0 = Use race faction for all races (or specified race)
    1 = friendly to all races (or specified race)
  • guid/group
  • race(opt)
SetTechFieldFocus Set a research field focus
SetTechFocus Set a tech research focus
SetTechLevel Sets a tech level (-1 - 10), without any notification to the player
  • race
  • type (techfield)
  • id (techId)
  • level
  • force (opt - force level, even if it's lower - default: false)|
SetTechResearchCostOverride Override the cost of a tech's research cost
SetTFDisplayName Overrides the task force display names
  • (ship) guid|group
  • value (the display name)
  • type
    0: How to fight legends (certified legend killer!)
    1: Barsig Junkyard access
    2: Kuntari Officers
    3: Lezgoon telepaths
    4: Mindshield device
    5: Kamzak Fanatics
    6: Crystal Powered Jump Drives
Sum Addition operation
  • storeAs
  • value1, value2, value3...valueN (opt)
Test Test 1 or many values with equal, < and > operators
  • Data store value (using a leading underscore [eg. _mySavedParam="expectedValue"])
  • id (opt - helps identify which listener should be triggered)
  • request_x (opt - where x is the name of a request type)

Any number of requests can be added, along with the required parameters for that request

UnlockAdvancedStructure Unlock designs for advanced structures
  • type
  • race