In Scenario.txt you can define basic scenario settings including simple dynamic maps, player presets and starting material, game goals, weather conditions etc. Most of these settings can also be made in the scenario properties of the menu system. For more complex settings and mission sequences you will have to write a script.
Some of the values require four numbers which specify mean, deviation, minimum and maximum. The value which is actually used is computed by BoundBy(mean+Random(2*deviation+1)-deviation,minimum,maximum);.
Section [Head]
Value Data type Description
Icon Integer Default icon for the scenario. See the scenario options in the menu system.
Title String (max 512) Title for the scenario. Entries in Title.txt will override this value.
Version 4 integers Engine version required by the scenario.
MinPlayer Integer Minimum player count
MaxPlayer Integer Maximum player count
MaxPlayerLeague Integer Maximum players for the league, default is MaxPlayerLeague = MaxPlayer.
Loaders String File name (without extension) of the desired loader screen.
Font String Name of the font to be used for this scenario (replacing the default font).
Difficulty Integer Difficulty of the scenario. Scenarios in a folder are sorted ascendingly by difficulty if specified or by the alphabet otherwise.
NoInitialize Integer 0 or 1. If 1, basic startup objects as defined in Scenario.txt (player material and buildings, animals, vegetation) are not placed. This flag is automatically set in savegaes and is used to avoid duplication by repeated scenario initialization. The flag ignores among others the values Buildings, Vehicles, Material, Vegetation, InEarth, and Animals.
MissionAccess String The scenario will only load if the player gained this password in another scenario. See script function GainScenarioAccess().
Secret Bool If true and MissionAccess is set, the scenario is invisible in the scenario selection list if the player does not have the required password access.
ForcedFairCrew Integer 0 or 1. If 1, fair crew is always used in this scenario.
FairCrewStrength Integer Strength of the fair crew.
Film Integer 0 or 1 und only valid for records. If 1, the view always follows the first player and all player controls are invisible.
Section [Game]
Value Data type Description
Mode String General game mode of this scenario. Used by network and league servers to determine which league to host the game in. Currently suggested identifiers are: Melee, Parkour, Settlement, Defense. Strings should be valid identifiers.
Rules ID list Game rules.
Goals ID list Game goals.
ValueOverloads ID list List of definitions for which the values should be overridden. The amount will be the new value.
FoWEnabled Bool 0 or 1. If 0, FoW is disabled, and the whole landscape is visible. Default 1.
EvaluateOnAbort Bool If enabled, the game will be evaluated even when aborted by the player. This is intended for scenarios like Tower of Despair that save progress in players. Default false.
Sections [Player1] [Player2] [Player3] [Player4]
Value Data type Description
Wealth 4 integers Seed capital.
Position 2 Integer Start position as coordinates for the un-zoomed landscape. Both -1: Random position.
Crew ID list Type and count of initial crew members.
Buildings ID list Buildings available at game start.
Vehicles ID list Vehicles available at game start.
Material ID list Materials available at game start
Knowledge ID list Objects the player should initially be able to create.
BaseMaterial ID list Materials available to buy at game start.
BaseProduction ID list Additional supply of materials to buy.
Magic ID list Available spells. If the list is empty, all spells are available (backwards compatibility).
Section [Landscape]
Value Data type Description
Vegetation ID list Vegetation types and ratio.
VegetationLevel 4 integers 0-100. Vegetation amount.
InEarth ID list Types and proportionate shares of buried objects.
InEarthLevel 4 integers 0-100. Amount of buried objects.
Sky String Sky texture from Graphics.ocg (without filename extension)
SkyFade 6 integers Sky color gradient (RGB to RGB). Values 0-255. With all values 0, the default blue background will be used.
BottomOpen Integer 0, 1 or 2. Determines wether the bottom of the game world should be open. 0=Bottom is closed, 1=Bottom is open, 2=Bottom is closed if the corresponding map pixel in the bottom row has tunnel background and open otherwise.
TopOpen Integer 0, 1 or 2. Determines wether the top of the game world should be open. Values analogous to BottomOpen.
LeftOpen Integer Height until which the left side of the game world is open.
RightOpen Integer Height until which the right side of the game world is open.
AutoScanSideOpen Integer 0, 1, or 2. If 1, the left and right borders are closed if the corresponding map pixel in the left or right row has non-sky foreground or background and open otherwise. If 2, it only checks the background.
MapWidth 4 integers Base width of the dynamic map.
MapHeight 4 integers Base height of the dynamic map.
MapZoom 4 integers Factor for zooming the map to the real game world. Default is 8.
Amplitude 4 integers 0-100 with tolerance. Hill height for dynamic maps.
Phase 4 integers 0-100 with tolerance. Hill offset for dynamic maps.
Period 4 integers 0-100 with tolerance. Hill interval for dynamic maps.
Random 4 integers 0-100 with tolerance. Random deviance for dynamic maps.
Material String Material-texture definition of the base material for dynamic maps.
Liquid String Material-texture definition of the liquid material for dynamic maps.
LiquidLevel 4 integers 0-100 with tolerance. Liquid level for dynamic maps.
MapPlayerExtend Integer 0 or 1. Determines wether the dynamic map will be extended for every player activated at game start.
Layers Material list Additional material layers in earth for dynamic maps.
ExactLandscape 1 Integer 0 or 1. Specifies wether the Landscape.bmp is an actual game landscape.
Gravity 4 integers 10-200: Gravity. Default 100.
NoScan Integer 0 or 1. If 1, some ingame landscape checks will be turned of, such as freezing, melting or material counting.
KeepMapCreator Integer 0 or 1. If 1, the internal MapCreater won't unload after game start, so functions like DrawDefMap still work.
SkyScrollMode Integer 0 to 2. 0: Static sky, 1: The sky moves with the wind, 2: The sky is drawn half-parallax.
FoWRes Integer Granularity of the Fog of War. Default: 64. Warning: smaller values will improve the looks of the FoW but will also severely increase processing times.
FlatChunkShapes Integer 0 or 1. If 1, all landscape chunks are drawn flat when the map is zoomed to draw the landscape. Set this while drawing a static map in console mode to fix small gaps of lower order materials hidden behind materials of chunky shape.
Secret Bool Whether to hide the map from NO_OWNER viewports (e.g. observers not following a player in network rounds)
Section [Animals]
Value Data type Description
Animals ID list Freewheeling creatures.
Nest ID list Buried nests.
Section [Weather]
Value Data type Description
Climate 4 integers 0-100 with tolerance. Average temperature. 0 warm, 100 cold.
StartSeason 4 integers 0-100 with tolerance. Season at game start.
YearSpeed 4 integers 0-100 with tolerance. Speed of season change.
Wind 4 integers -100-100 with tolerance. Wind direction and strength.
NoGamma Integer 0 or 1. If 1, the current season won't cause a small global color change.
Section [Environment]
Value Data type Description
Objects ID list Environment control objects that are placed at game start.
Section [Definitions]
Value Data type Description
LocalOnly Integer If LocalOnly is 1, only definitions local to the scenario file will be load.
Definition1 to 9 String(s) With Definitionx entries you can specify which object definition packs (ocd) are to be loaded with this scenario. The specified files must be available in the Clonk directory. If files are specified here, manual pack selection in the menu system is disabled.
SkipDefs ID list List of object definitions (C4IDs) which are not to be loaded with this scenario. This can be used to prevent researching certain object types in the game.
Sven2, 2002-04
Newton, 2010-02