# Class `Flow.Level`

Stores level metadata.

These are things things which aren't present in the compiled level file itself.

## Members

nameKey | (string) string key for the level's (localised) name.
scriptFile | (string) Level-specific Lua script file.
levelFile | (string) Compiled file path.
loadScreenFile | (string) Load screen image.
ambientTrack | (string) initial ambient sound track to play.
layer1 | (Flow.SkyLayer) Primary sky layer
layer2 | (Flow.SkyLayer) Secondary sky layer
starfield | (Flow.Starfield) Starfield.
lensFlare | (Flow.LensFlare) Global lens flare .
fog | (Flow.Fog) omni fog RGB color and distance.
horizon | (bool) Draw sky layer?
storm | (bool) Enable flickering lightning in the sky.
weather | (WeatherType) Choose weather effect.
weatherStrength | (float) Choose weather strength.
laraType | (LaraType) Must be one of the LaraType values.
rumble | (bool) Enable occasional screen shake effect.
resetHub | (bool) Reset hub data.
objects | (table of Flow.InventoryItems) table of inventory object overrides
secrets | (short) Set Secrets for Level
farView | (int) The maximum draw distance for level.

## Functions

Level() | Make a new Level object.

## Members

nameKey
  (string) string key for the level's (localised) name. Corresponds to an entry in strings.lua.
scriptFile
  (string) Level-specific Lua script file. Path of the Lua file holding the level's logic script, relative to the location of the tombengine executable
levelFile
  (string) Compiled file path. This path is relative to the location of the TombEngine executable.
loadScreenFile
  (string) Load screen image. Path of the level's load screen file (.png or .jpg), relative to the location of the tombengine executable
ambientTrack
  (string) initial ambient sound track to play. This is the filename of the track without the .wav extension.
layer1
  (Flow.SkyLayer) Primary sky layer
layer2
  (Flow.SkyLayer) Secondary sky layer
starfield
  (Flow.Starfield) Starfield.
lensFlare
  (Flow.LensFlare) Global lens flare .
fog
  (Flow.Fog) omni fog RGB color and distance. As seen in TR4's Desert Railroad. If not provided, distance fog will be black.
horizon
  (bool) Draw sky layer? (default: false)
storm
  (bool) Enable flickering lightning in the sky. Equivalent to classic TRLE's LIGHTNING setting. As in the TRC Ireland levels.
weather
  (WeatherType) Choose weather effect. Must be one of the values `WeatherType.None`, `WeatherType.Rain`, or `WeatherType.Snow`.
weatherStrength
  (float) Choose weather strength. Must be value between `0.1` and `1.0`.
laraType
  (LaraType) Must be one of the LaraType values. These are:

      Normal
      Young
      Bunhead
      Catsuit
      Divesuit
      Invisible

  e.g. `myLevel.laraType = LaraType.Divesuit`

  (not yet fully implemented)

rumble
  (bool) Enable occasional screen shake effect. As seen in TRC's Sinking Submarine.
resetHub
  (bool) Reset hub data. Resets the state for all previous levels, including items, flipmaps and statistics.
objects
  (table of Flow.InventoryItems) table of inventory object overrides
secrets
  (short) Set Secrets for Level
farView
  (int) The maximum draw distance for level. Given in sectors (blocks). Must be at least 4.

  This is equivalent to TRNG's LevelFarView variable.

## Functions

Level()
  Make a new Level object.

  ### Returns:

  Level a Level object

generated by TEN-LDoc (a fork of LDoc 1.4.6)