<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.newstarsgame.com/history/Event_authoring?feed=atom</id>
	<title>Event authoring - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.newstarsgame.com/history/Event_authoring?feed=atom"/>
	<link rel="alternate" type="text/html" href="https://wiki.newstarsgame.com/history/Event_authoring"/>
	<updated>2026-06-18T21:39:07Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.5</generator>
	<entry>
		<id>https://wiki.newstarsgame.com/index.php?title=Event_authoring&amp;diff=601&amp;oldid=prev</id>
		<title>ADAMJR: Created page with &quot;{{DISPLAYTITLE:Event authoring}}  &#039;&#039;New Stars&#039;&#039; game events — the discoveries and disasters that fire as the galaxy lives — are written as plain &#039;&#039;&#039;YAML files&#039;&#039;&#039;. The same format powers the game&#039;s own built-in events and any events you ship in a content pack, so anything the base game does, your pack can do too.  This page is the full reference: where event files go, the anatomy of an event, and every condition, selector and effect you can use.  For the p...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.newstarsgame.com/index.php?title=Event_authoring&amp;diff=601&amp;oldid=prev"/>
		<updated>2026-06-08T05:54:10Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{DISPLAYTITLE:Event authoring}}  &amp;#039;&amp;#039;New Stars&amp;#039;&amp;#039; game events — the discoveries and disasters that fire as the galaxy lives — are written as plain &amp;#039;&amp;#039;&amp;#039;YAML files&amp;#039;&amp;#039;&amp;#039;. The same format powers the game&amp;#039;s own built-in events and any events you ship in a &lt;a href=&quot;/Modding&quot; title=&quot;Modding&quot;&gt;content pack&lt;/a&gt;, so anything the base game does, your pack can do too.  This page is the full reference: where event files go, the anatomy of an event, and every condition, selector and effect you can use.  For the p...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{DISPLAYTITLE:Event authoring}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;New Stars&amp;#039;&amp;#039; game events — the discoveries and disasters that fire as the galaxy lives — are written as plain &amp;#039;&amp;#039;&amp;#039;YAML files&amp;#039;&amp;#039;&amp;#039;. The same format powers the game&amp;#039;s own built-in events and any events you ship in a [[Modding|content pack]], so anything the base game does, your pack can do too.&lt;br /&gt;
&lt;br /&gt;
This page is the full reference: where event files go, the anatomy of an event, and every condition, selector and effect you can use.&lt;br /&gt;
&lt;br /&gt;
For the panels that publish and toggle packs, see [[Modding]].&lt;br /&gt;
&lt;br /&gt;
== Where event files go ==&lt;br /&gt;
&lt;br /&gt;
Put one event per {{code|.yaml}} (or {{code|.yml}}) file in your pack&amp;#039;s {{code|Events/}} folder:&lt;br /&gt;
&lt;br /&gt;
 My Pack/&lt;br /&gt;
   Events/&lt;br /&gt;
     meteor_shower.yaml&lt;br /&gt;
     rogue_ai_uprising.yaml&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;One event per file.&amp;#039;&amp;#039;&amp;#039; The file name is up to you; the event&amp;#039;s identity is the {{code|id}} field inside.&lt;br /&gt;
* Files in {{code|Events/}} &amp;#039;&amp;#039;&amp;#039;and&amp;#039;&amp;#039;&amp;#039; {{code|Events/Game/}} are both scanned (use the subfolder only if you like to keep things tidy).&lt;br /&gt;
* Enabling or disabling the pack in the &amp;#039;&amp;#039;&amp;#039;Mod Manager&amp;#039;&amp;#039;&amp;#039; adds or removes its events &amp;#039;&amp;#039;&amp;#039;immediately&amp;#039;&amp;#039;&amp;#039; — no restart.&lt;br /&gt;
* Unknown fields are ignored, so a pack authored against a newer version of the game still loads on an older one.&lt;br /&gt;
&lt;br /&gt;
The game&amp;#039;s built-in events live the same way, shipped inside the game and seeded into your save folder on launch; a pack can &amp;#039;&amp;#039;&amp;#039;override&amp;#039;&amp;#039;&amp;#039; a built-in by declaring the same {{code|id}}.&lt;br /&gt;
&lt;br /&gt;
== Anatomy of an event ==&lt;br /&gt;
&lt;br /&gt;
```yaml&lt;br /&gt;
id: mypack:meteor_shower        # required — unique, namespace it to your pack&lt;br /&gt;
type: natural                   # natural | colony&lt;br /&gt;
roll:&lt;br /&gt;
  scope: per_system             # per_system | per_colony&lt;br /&gt;
  once_in_years: 8              # average cadence; OR a flat `probability: 0.05`&lt;br /&gt;
can_instigate: &amp;quot;is_colonized and is_disaster_prone&amp;quot;&lt;br /&gt;
meta: system.world              # the subject shown in text/UI&lt;br /&gt;
sfx: Game_Event_Fail            # optional SFX clip name&lt;br /&gt;
text:&lt;br /&gt;
  title: &amp;quot;Meteor Shower&amp;quot;&lt;br /&gt;
  description: &amp;quot;A meteor shower batters {meta}.&amp;quot;&lt;br /&gt;
on_instigate:                   # effects applied when the event fires&lt;br /&gt;
  - op: damage_buildings&lt;br /&gt;
options:                        # the player&amp;#039;s choices (optional)&lt;br /&gt;
  - title: &amp;quot;Unfortunate.&amp;quot;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Required !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| {{code|id}} || &amp;#039;&amp;#039;&amp;#039;yes&amp;#039;&amp;#039;&amp;#039; || Unique identity, namespaced to your pack — e.g. {{code|mypack:meteor_shower}}. Built-in events use the {{code|core:}} namespace; reuse a {{code|core:}} id to override a built-in.&lt;br /&gt;
|-&lt;br /&gt;
| {{code|type}} || &amp;#039;&amp;#039;&amp;#039;yes&amp;#039;&amp;#039;&amp;#039; || Event category. {{code|natural}} and {{code|colony}} events are rolled each in-game month. ({{code|global}} and {{code|planet}} are reserved for future use.)&lt;br /&gt;
|-&lt;br /&gt;
| {{code|roll}} || no || How often the event is considered (see below).&lt;br /&gt;
|-&lt;br /&gt;
| {{code|can_instigate}} || no || A condition that must hold for the event to fire. Empty means &amp;quot;always&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| {{code|meta}} || no || A selector picking the event&amp;#039;s &amp;#039;&amp;#039;&amp;#039;subject&amp;#039;&amp;#039;&amp;#039; (a planet or star), shown via the {{code|{meta} }} text token.&lt;br /&gt;
|-&lt;br /&gt;
| {{code|sfx}} || no || Name of the sound clip to play (e.g. {{code|Game_Event_Normal}}, {{code|Game_Event_Fail}}, {{code|Game_Event_Success}}).&lt;br /&gt;
|-&lt;br /&gt;
| {{code|text}} || no || {{code|title}} and {{code|description}} shown on the event pop-up.&lt;br /&gt;
|-&lt;br /&gt;
| {{code|on_instigate}} || no || Effects applied on the server the moment the event fires.&lt;br /&gt;
|-&lt;br /&gt;
| {{code|options}} || no || The player&amp;#039;s choices. If omitted, a single &amp;quot;Interesting.&amp;quot; acknowledgement is shown.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== roll ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| {{code|scope}} || {{code|per_system}} or {{code|per_colony}} — documents the intent; the real gate is {{code|can_instigate}}.&lt;br /&gt;
|-&lt;br /&gt;
| {{code|once_in_years}} || The event averages once every N in-game years. Use this &amp;#039;&amp;#039;&amp;#039;or&amp;#039;&amp;#039;&amp;#039; {{code|probability}}.&lt;br /&gt;
|-&lt;br /&gt;
| {{code|probability}} || A flat per-roll chance, {{code|0}}–{{code|1}}. Set {{code|probability: 0}} for an event that only ever fires as a &amp;#039;&amp;#039;&amp;#039;chain outcome&amp;#039;&amp;#039;&amp;#039; (never on its own).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Conditions ==&lt;br /&gt;
&lt;br /&gt;
{{code|can_instigate}} is a short expression. Combine atoms with {{code|and}} / {{code|or}}, and negate any atom with {{code|not}}. {{code|and}} binds tighter than {{code|or}}, so {{code|a and b or c}} means {{code|(a and b) or c}}. An empty expression is always true; an unrecognised atom is treated as false.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Atom !! True when…&lt;br /&gt;
|-&lt;br /&gt;
| {{code|is_owned}} || the system has an owner&lt;br /&gt;
|-&lt;br /&gt;
| {{code|is_colonized}} || the system has a colony&lt;br /&gt;
|-&lt;br /&gt;
| {{code|world_exists}} || the system has a colonisable world&lt;br /&gt;
|-&lt;br /&gt;
| {{code|is_disaster_prone}} || the world is disaster-prone&lt;br /&gt;
|-&lt;br /&gt;
| {{code|has_star(TYPE)}} || a star of {{code|TYPE}} is present (e.g. {{code|has_star(M)}})&lt;br /&gt;
|-&lt;br /&gt;
| {{code|has_feature(FEATURE)}} || the world has a planet feature (e.g. {{code|has_feature(Dangerous_Wildlife)}})&lt;br /&gt;
|-&lt;br /&gt;
| {{code|world.climate == X}} || the world&amp;#039;s climate &amp;#039;&amp;#039;&amp;#039;is&amp;#039;&amp;#039;&amp;#039; {{code|X}} (also {{code|!= X}} for &amp;quot;isn&amp;#039;t&amp;quot;)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A leading {{code|system.}} or {{code|world.}} on the flag atoms is accepted and ignored.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039; {{code|&amp;quot;is_colonized and is_disaster_prone and world.climate != Ice&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
== Selectors ==&lt;br /&gt;
&lt;br /&gt;
A selector picks an object for {{code|meta}} or for an effect&amp;#039;s {{code|target}}.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Selector !! Resolves to&lt;br /&gt;
|-&lt;br /&gt;
| {{code|system.world}} / {{code|world}} / {{code|planet}} || the system&amp;#039;s colonisable world&lt;br /&gt;
|-&lt;br /&gt;
| {{code|system.colony.world}} / {{code|colony}} || the colony&amp;#039;s world&lt;br /&gt;
|-&lt;br /&gt;
| {{code|system.first_star}} || the first star in the system&lt;br /&gt;
|-&lt;br /&gt;
| {{code|system.first_star(TYPE)}} / {{code|star(TYPE)}} || the first star of {{code|TYPE}}&lt;br /&gt;
|-&lt;br /&gt;
| {{code|owner}} / {{code|explorer}} || the system&amp;#039;s owner (a player)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Effects ==&lt;br /&gt;
&lt;br /&gt;
Each entry in {{code|on_instigate}} (and in an option&amp;#039;s {{code|effects}}) is an {{code|op}} plus its parameters. Effects run on the server, and their world changes replicate to every player. An unknown {{code|op}}, or an out-of-range value, is skipped safely — it never crashes the game.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! op !! Parameters !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| {{code|grant_resources}} || {{code|to:}} {{code|owner}} or {{code|world}}, {{code|resources:}} || Adds resources to the owner&amp;#039;s balance, or to a world&amp;#039;s trade value&lt;br /&gt;
|-&lt;br /&gt;
| {{code|add_collection_value}} || {{code|target:}}, {{code|resources:}} || Adds to a planet&amp;#039;s trade value&lt;br /&gt;
|-&lt;br /&gt;
| {{code|damage_buildings}} || — || Damages the colony&amp;#039;s buildings&lt;br /&gt;
|-&lt;br /&gt;
| {{code|set_climate}} || {{code|target:}}, {{code|climate:}} &amp;#039;&amp;#039;or&amp;#039;&amp;#039; {{code|random_of: [ … ]}} || Sets a planet&amp;#039;s climate (or picks one at random)&lt;br /&gt;
|-&lt;br /&gt;
| {{code|set_planet_type}} || {{code|target:}}, {{code|planet_type:}} || Sets a planet&amp;#039;s type&lt;br /&gt;
|-&lt;br /&gt;
| {{code|set_star_type}} || {{code|target:}} (or {{code|all_stars}}), {{code|star_type:}} || Sets a star&amp;#039;s type — or every star&amp;#039;s, with {{code|target: all_stars}}&lt;br /&gt;
|-&lt;br /&gt;
| {{code|regenerate_trade_value}} || {{code|target:}} || Re-rolls a planet&amp;#039;s or star&amp;#039;s trade value&lt;br /&gt;
|-&lt;br /&gt;
| {{code|start_storm}} || {{code|storm:}}, {{code|radius:}} {{code|self}} or {{code|neighbours}} || Starts a storm in the system (optionally its neighbours too)&lt;br /&gt;
|-&lt;br /&gt;
| {{code|remove_feature}} || {{code|feature:}} || Removes a planet feature from the world&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If {{code|target}} is omitted, world-targeting effects act on {{code|system.world}}.&lt;br /&gt;
&lt;br /&gt;
=== Resource names ===&lt;br /&gt;
&lt;br /&gt;
Resource tables use these names (case-insensitive):&lt;br /&gt;
&lt;br /&gt;
 gold   energy   minerals   metals   food   power   science&lt;br /&gt;
 antimatter   pink_plasma   crimson_stardust   golden_spice&lt;br /&gt;
&lt;br /&gt;
```yaml&lt;br /&gt;
resources:&lt;br /&gt;
  minerals: 200&lt;br /&gt;
  science: 25&lt;br /&gt;
  crimson_stardust: 10&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
=== Value names ===&lt;br /&gt;
&lt;br /&gt;
{{code|climate}}, {{code|planet_type}}, {{code|star_type}}, {{code|storm}} and {{code|feature}} take the game&amp;#039;s own names (the same words shown in-game, with spaces written as underscores). A few common ones:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Kind !! Examples&lt;br /&gt;
|-&lt;br /&gt;
| Star type || {{code|M}}, {{code|A}}, {{code|O}}, {{code|White_Dwarf}}, {{code|Neutron_Star}}, {{code|Black_Hole}}, {{code|Pulsar}}&lt;br /&gt;
|-&lt;br /&gt;
| Climate || {{code|Pristine}}, {{code|Arid}}, {{code|Ice}}, {{code|Rocky}}, {{code|Molten}}, {{code|Toxic}}, {{code|Void}}&lt;br /&gt;
|-&lt;br /&gt;
| Planet type || {{code|World}}, {{code|Barren}}, {{code|Asteroid}}&lt;br /&gt;
|-&lt;br /&gt;
| Storm || {{code|Solar_Storm}}&lt;br /&gt;
|-&lt;br /&gt;
| World features || {{code|Exotic_Planet_Life}}, {{code|Unpredictable_Weather_Patterns}}, {{code|Unique_Wildlife}}, {{code|Dangerous_Wildlife}}, {{code|Dense_Forests}}, {{code|Abandoned_Alien_Colony}}, {{code|Geothermal_Hot_Springs}}, {{code|Abundant_Natural_Wonders}}, {{code|Widespread_Volcanic_Regions}}, {{code|Extreme_Polar_Regions}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
An unrecognised value makes that effect a no-op, so a typo fails quietly rather than breaking the game.&lt;br /&gt;
&lt;br /&gt;
== Text tokens ==&lt;br /&gt;
&lt;br /&gt;
In {{code|title}} and {{code|description}}, these tokens are replaced with highlighted in-game names:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Token !! Becomes&lt;br /&gt;
|-&lt;br /&gt;
| {{code|{meta} }} || the event&amp;#039;s subject (from the {{code|meta}} selector)&lt;br /&gt;
|-&lt;br /&gt;
| {{code|{subject} }} || the star system&lt;br /&gt;
|-&lt;br /&gt;
| {{code|{species} }} || the owner&amp;#039;s species&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Anything else is shown literally.&lt;br /&gt;
&lt;br /&gt;
== Options and chains ==&lt;br /&gt;
&lt;br /&gt;
Options are the buttons on the event pop-up. They surface to the player exactly like built-in events, in single-player &amp;#039;&amp;#039;&amp;#039;and&amp;#039;&amp;#039;&amp;#039; multiplayer (events are rolled on the server and shown on every client). An option can do one of two things:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Instant&amp;#039;&amp;#039;&amp;#039; — apply {{code|effects}} the moment it&amp;#039;s chosen.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Timed branch&amp;#039;&amp;#039;&amp;#039; — wait {{code|duration}} months, then roll one of a weighted set of follow-up events ({{code|chain}}), which may be your own events.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Option field !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| {{code|title}} || Button label.&lt;br /&gt;
|-&lt;br /&gt;
| {{code|summary}} || Tooltip line. If omitted, one is derived from the option&amp;#039;s reward effects (&amp;quot;Get 50 Science.&amp;quot;).&lt;br /&gt;
|-&lt;br /&gt;
| {{code|cost}} || A resource table the player pays when choosing.&lt;br /&gt;
|-&lt;br /&gt;
| {{code|duration}} || Months to wait before the chain rolls (omit for an instant option).&lt;br /&gt;
|-&lt;br /&gt;
| {{code|effects}} || Effects applied when chosen (instant options).&lt;br /&gt;
|-&lt;br /&gt;
| {{code|chain}} || A weighted map of {{code|weight: &amp;quot;event id&amp;quot;}} outcomes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
```yaml&lt;br /&gt;
options:&lt;br /&gt;
  - title: &amp;quot;Ignore it.&amp;quot;&lt;br /&gt;
    duration: 2                 # months&lt;br /&gt;
    chain:&lt;br /&gt;
      0.65: &amp;quot;mypack:bad_outcome&amp;quot;&lt;br /&gt;
      0.35: &amp;quot;mypack:good_outcome&amp;quot;&lt;br /&gt;
  - title: &amp;quot;Pay to fix it.&amp;quot;&lt;br /&gt;
    cost: { energy: 150 }&lt;br /&gt;
    effects:&lt;br /&gt;
      - op: grant_resources&lt;br /&gt;
        to: owner&lt;br /&gt;
        resources: { science: 50 }&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
A chain &amp;#039;&amp;#039;&amp;#039;ends&amp;#039;&amp;#039;&amp;#039; when it reaches an event whose options don&amp;#039;t branch any further: that outcome&amp;#039;s effects apply and the quest closes. Give each chain-outcome event {{code|roll: { probability: 0 } }} so it only ever fires through the chain, never on its own.&lt;br /&gt;
&lt;br /&gt;
== Worked examples ==&lt;br /&gt;
&lt;br /&gt;
=== A colony disaster ===&lt;br /&gt;
&lt;br /&gt;
```yaml&lt;br /&gt;
id: mypack:reactor_meltdown&lt;br /&gt;
type: colony&lt;br /&gt;
roll:&lt;br /&gt;
  scope: per_colony&lt;br /&gt;
  once_in_years: 40&lt;br /&gt;
can_instigate: &amp;quot;is_colonized&amp;quot;&lt;br /&gt;
meta: system.world&lt;br /&gt;
sfx: Game_Event_Fail&lt;br /&gt;
text:&lt;br /&gt;
  title: &amp;quot;Reactor Meltdown&amp;quot;&lt;br /&gt;
  description: &amp;quot;A containment failure devastates {meta}.&amp;quot;&lt;br /&gt;
on_instigate:&lt;br /&gt;
  - op: damage_buildings&lt;br /&gt;
  - op: set_climate&lt;br /&gt;
    target: world&lt;br /&gt;
    climate: Toxic&lt;br /&gt;
options:&lt;br /&gt;
  - title: &amp;quot;Rebuild.&amp;quot;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
=== A reward gated on a feature ===&lt;br /&gt;
&lt;br /&gt;
```yaml&lt;br /&gt;
id: mypack:crystal_caverns&lt;br /&gt;
type: colony&lt;br /&gt;
roll:&lt;br /&gt;
  scope: per_colony&lt;br /&gt;
  once_in_years: 2&lt;br /&gt;
can_instigate: &amp;quot;is_colonized and has_feature(Rare_Crystals)&amp;quot;&lt;br /&gt;
meta: system.world&lt;br /&gt;
text:&lt;br /&gt;
  title: &amp;quot;Crystal Caverns&amp;quot;&lt;br /&gt;
  description: &amp;quot;Surveyors find rich crystal seams under {meta}.&amp;quot;&lt;br /&gt;
options:&lt;br /&gt;
  - title: &amp;quot;Mine them.&amp;quot;&lt;br /&gt;
    effects:&lt;br /&gt;
      - op: grant_resources&lt;br /&gt;
        to: owner&lt;br /&gt;
        resources: { minerals: 200 }&lt;br /&gt;
  - title: &amp;quot;Study them.&amp;quot;&lt;br /&gt;
    effects:&lt;br /&gt;
      - op: add_collection_value&lt;br /&gt;
        target: world&lt;br /&gt;
        resources: { science: 2 }&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
=== A branching disaster ===&lt;br /&gt;
&lt;br /&gt;
```yaml&lt;br /&gt;
id: mypack:gamma_burst&lt;br /&gt;
type: natural&lt;br /&gt;
roll:&lt;br /&gt;
  scope: per_system&lt;br /&gt;
  once_in_years: 50&lt;br /&gt;
can_instigate: &amp;quot;is_owned and has_star(M)&amp;quot;&lt;br /&gt;
meta: system.first_star(M)&lt;br /&gt;
sfx: Game_Event_Fail&lt;br /&gt;
text:&lt;br /&gt;
  title: &amp;quot;Gamma Burst Warning&amp;quot;&lt;br /&gt;
  description: &amp;quot;{meta} is about to flare. {subject} has little time to react.&amp;quot;&lt;br /&gt;
options:&lt;br /&gt;
  - title: &amp;quot;Shield the colony. (costs energy)&amp;quot;&lt;br /&gt;
    duration: 1&lt;br /&gt;
    cost: { energy: 200 }&lt;br /&gt;
    chain:&lt;br /&gt;
      0.80: &amp;quot;mypack:gamma_burst_averted&amp;quot;&lt;br /&gt;
      0.20: &amp;quot;mypack:gamma_burst_impact&amp;quot;&lt;br /&gt;
  - title: &amp;quot;Do nothing.&amp;quot;&lt;br /&gt;
    duration: 1&lt;br /&gt;
    chain:&lt;br /&gt;
      0.50: &amp;quot;mypack:gamma_burst_impact&amp;quot;&lt;br /&gt;
      0.50: &amp;quot;mypack:gamma_burst_averted&amp;quot;&lt;br /&gt;
---&lt;br /&gt;
# (in its own file: gamma_burst_impact.yaml)&lt;br /&gt;
id: mypack:gamma_burst_impact&lt;br /&gt;
type: natural&lt;br /&gt;
roll: { probability: 0 }&lt;br /&gt;
meta: system.world&lt;br /&gt;
text:&lt;br /&gt;
  title: &amp;quot;Gamma Burst&amp;quot;&lt;br /&gt;
  description: &amp;quot;The flare scorches {meta}.&amp;quot;&lt;br /&gt;
on_instigate:&lt;br /&gt;
  - op: damage_buildings&lt;br /&gt;
options:&lt;br /&gt;
  - title: &amp;quot;Unfortunate.&amp;quot;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
(Reminder: keep each event in its own file — the {{code|---}} above is only to show the two together.)&lt;br /&gt;
&lt;br /&gt;
== Tips and troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Symptom !! Cause / fix&lt;br /&gt;
|-&lt;br /&gt;
| The event never fires || Check {{code|can_instigate}} actually passes (e.g. the system is colonized), and that {{code|roll}} isn&amp;#039;t {{code|probability: 0}} unless it&amp;#039;s a chain outcome. Events only roll during play — give them time.&lt;br /&gt;
|-&lt;br /&gt;
| A reward or climate change does nothing || A misspelled resource, climate, star type or feature name makes that effect a no-op. Use the in-game names with underscores for spaces.&lt;br /&gt;
|-&lt;br /&gt;
| The whole event doesn&amp;#039;t load || It needs a unique {{code|id}} and a {{code|type}} of {{code|natural}} or {{code|colony}}; otherwise it&amp;#039;s skipped. Confirm the pack is enabled in the Mod Manager.&lt;br /&gt;
|-&lt;br /&gt;
| A chain never ends || Make sure the final outcome&amp;#039;s options have no {{code|chain}} — that&amp;#039;s what closes the quest.&lt;br /&gt;
|-&lt;br /&gt;
| My event clashes with a built-in || Reusing a {{code|core:}} id &amp;#039;&amp;#039;&amp;#039;overrides&amp;#039;&amp;#039;&amp;#039; that built-in; use your own {{code|mypack:}} namespace to add alongside instead.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;/div&gt;</summary>
		<author><name>ADAMJR</name></author>
	</entry>
</feed>