Downpour Reference/File Formats

From Rain World Modding
Jump to navigation Jump to search

Certain file formats have marginally changed in Downpour with the most common difference being that many things are now stored by value rather than by index. Some files also support new fields / attributes / parameters for new features. Most of these changes are optional and the files will still be parsed properly via backwards compatibility if still stored as indices, but updating may improve mod compatibility for the future.

locks.txt[edit source]

This is the same, but " : SWAPMAPSYMBOL" can be added to the end of a line to swap the order that the two gate symbols appear on the in-game mini-map.

egates.txt[edit source]

egates.txt is a new file in the same folder as locks.txt. Placing a gate room name as a new line in this file makes the gate an electric gate.

properties.txt[edit source]

  • Slugcats listed under Broken Shelters should be listed by name rather than index. (Broken Shelters: 2: SL_S11" -> Broken Shelters: Red: SL_S11)
  • blackSalamanderChance is a new parameter that can be used to change the probability of salamanders in this region spawning as their dark variant. (Default: blackSalamanderChance: 0.33)
  • corruptionEffectColor is a new parameter than can be used to change the effect color of corruption objects and BLL creatures in the region. (Default corruptionEffectColor: 0.0,0.0,1.0)
  • corruptionEyeColor is a new parameter than can be used to change the eye color of corruption objects and BLL creatures in the region. (Default corruptionEffectColor: 0.0,0.0,1.0)
  • kelpColor is a new parameter that can be used to change the color of kelp creatures in the region.
  • albinos is a new parameter that can make relevant creautres spawn as their albino variants in a region. (Default albinos: false)
  • waterColorOverride is a new parameter that can change the color that water appears on the in-game minimap for the region. (Default waterColorOverride: 0.05,0.05,0.8)
  • earlyCycleChance is a new parameter that can set the probability of a pre-cycle event occurring at the start of a cycle in the region. (MSC only)
  • earlyCycleFloodChance is a new parameter that can set the probability of partial region flooding occuring during a pre-cycle event in this region. (MSC only)
  • scavsDelayInitialMin is a new parameter that sets the minimum time in ticks before a kill squad will be sent after a disliked player after entering this region. (default 4200)
  • scavsDelayInitialMax is a new parameter that sets the maximum time in ticks before a kill squad will be sent after a disliked player after entering this region. (default 8200)
  • scavsDelayRepeatMin is a new parameter that sets the minimum time in ticks before a support squad will be sent to a liked player after entering this region. (default 1100)
  • scavsDelayRepeatMax is a new parameter that sets the maximum time in ticks before a support squad will be sent to a liked player after entering this region. (default 1700)
  • Room_Attr lists attractiveness with Neutral,Forbidden,Avoid,Like,Stay instead of 0,1,2,3,4 respectively -- but it is optional to update this.

Properties files can be suffixed by a slugcat name to make a region properties file exclusive to a specific slugcat campaign. (ie: properties-red.txt would apply the properties only while playing as Hunter).

map_xx.txt/map_xx.png[edit source]

Map files can be suffixed by a slugcat name to make a map render exclusive to a specific slugcat campaign. (ie: map_xx-red.png)

displayname.txt[edit source]

This file is required. This file contains a single line that contains the name of the region. This exists in the same folder as the properties / world_xx files. Display name files can also be provided that are suffixed by a slugcat name to change the name of the region for specific slugcat campaigns. (ie: displayname-red.txt)

world_xx.txt[edit source]

Slugcat-specific spawn lines should be listed by name rather than index. ((0,1)CC_A07 : 3-Mimic-{18} -> (White,Yellow)CC_A07 : 3-Mimic-{18}).

Additionally, an "X-" prefix can be added to slugcat-specific spawn filters to invert the filter. For example (X-White,Yellow)CC_A07 : 3-Mimic-{18} would make the spawner appear on any slugcats except for Survivor and Monk.

A new "CONDITIONAL LINKS"/"END CONDITIONAL LINKS" section can be added before the "ROOMS"/"END ROOMS" section in the file to specify room connection changes that apply to specific slugcats. There are three types of conditional link lines:

  • SLUGCAT : HIDEROOM : ROOM - This excludes the given room from the region when playing as the specified slugcat(s).
    • (Example) White,Yellow : HIDEROOM : SU_A99
  • SLUGCAT : EXCLUSIVEROOM : ROOM - This includes the given room in the region only when playing as the selected slugcat(s).
    • (Example) White,Yellow : EXCLUSIVEROOM : SU_A99
  • SLUGCAT : TARGET_ROOM : TARGET_CONNECTION_ROOM : NEW_CONNECTION_ROOM - This changes the given room connection in the target room to now connect to a different specified room while playing as the specified slugcat(s).

For the last conditional link type, the "TARGET_CONNECTION_ROOM" is specified by the room name for named room connections, or with a number to target a DISCONNECTED connection (1 for the first DISCONNECTED pipe in the room, 2 for the second DISCONNECTED, etc). To give an example for this last conditional link line type, imagine the following line existed in the ROOMS/END ROOMS section of the file:

GW_A10 : GW_D01, GW_A07, GW_C06
GW_A11 : GW_B01, GW_D04, DISCONNECTED, GW_F07, DISCONNECTED

Then the following conditional links lines:

White,Yellow : GW_A10 : GW_A07 : DISCONNECTED
White,Yellow : GW_A10 : GW_C06 : GW_Z01
White,Yellow : GW_A11 : GW_D04 : GW_H15
White,Yellow : GW_A11 : 1 : GW_K24
White,Yellow : GW_A11 : 2 : GW_X56

Would functionally transform the previous rooms lines to the following when playing as Survivor or Monk:

GW_A10 : GW_D01, DISCONNECTED, GW_Z01
GW_A11 : GW_B01, GW_H15, GW_K24, GW_F07, GW_X56

room_settings.txt[edit source]

Room settings files can be suffixed by a slugcat name to make a set of room settings exclusive to a specific slugcat campaign. (ie: su_c03_settings-red.txt)

The following entities inside settings files now save by value rather than by index:

  • Any entities that use slugcat filter lists save the filter list by names rather than a binary flag. Importantly, the names listed are the slugcats who are excluded from the filter (ie: slugcats who would have had a 0 in the binary string).
  • Entities with filters include:
    • Filter
    • Unlock tokens (GoldToken/BlueToken)
    • Trigger events (event<tB>)
  • For these filter lists, when multiple slugcats need to be excluded, their names should be separated by the | character.
  • DataPearl/UniqueDataPearl: UniqueDataPearl><2550.05><2104.999><37~172~0~0~14~0 -> UniqueDataPearl><2550.05><2104.999><37~172~0~0~SL_moon~0.
  • The type field for StopMusicEvent uses AllSongs/SpecificSong/AllButSpecific instead of 0/1/2 respectively.

Threat Music metadata files[edit source]

Main Page: https://rainworldmodding.miraheze.org/wiki/Threat_Music_File_Format

  • Prefix an instrument in a layer with {D} to make it only play during the daytime (redundant/irrelevant if region doesn't use day-night cycles)
  • Prefix an instrument in a layer with {N} to make it only play during the nighttime (irrelevant if the region doesn't use day-night cycles)
  • Prefix an instrument in a layer with {M} to make it only play while the player is under the influence of mushrooms.
  • Prefix an instrument with a subregion name between {} to make it only play in that subregion. Multiple subregions can be specified by separating them with the pipe character (|).
    • Example: {Five Pebbles (Recursive Transform Array)|Five Pebbles (Unfortunate Development)}TH_SS - NOISE

Short Strings[edit source]

Each language has its own separate short strings file located at text_xxx/short_strings/strings.txt. Each line of this file is a Key|Value pair.