LevelSensor.byml
This resource is found in Bootup.pack.
Its canonical resource path is "Ecosystem/LevelSensor.byml".
LevelSensor.byml is the main configuration file for the LevelSensor subsystem (which handles parts of difficulty scaling). All information related to difficulty (enemy and weapon) scaling is stored in this configuration file. The file format is BYML.
Contents
Human-readable versions dumped from 1.0.0 and 1.5.0 are included in the botw-re-notes repo. A diff between 1.0.0 and 1.5.0 is also provided in the repo.
[1.4.0] Flag entries for Golden enemies, Igneo Talus Titan and Monk Maz Koshia were added to the kill point table. Weapon entries for the One-Hit Obliterator and Weapon_Sword_503 were also added to the weapon scaling list. They cannot receive any modifier. (Yes, the developers forgot to add golden enemies to the config in 1.3.0.)
The root element is a dictionary.
= enemy
enemy is used to configure enemy upgrades. It is an array of dictionaries of the following form:
Key | Type | Description |
---|---|---|
actors | array | Array of dictionaries of the form {name: ..., value: ...}, with name being the actor name (str) and value the required number of enemy points to transition to the next tier. Sorted by value. |
species | str | Series name (unused at runtime) |
= flag
flag determines how many points an enemy kill is worth and it is used to calculate the total number of points (see Difficulty scaling for more information). It is an array of dictionaries of the following form:
Key | Type | Description |
---|---|---|
name | str | Name of the GameData s32 flag (usually a defeat counter flag: Defeated_XXXXX where XXXXX is the enemy actor name) |
point | float | Number of points for each kill |
= setting
setting is a dictionary of the following form:
Key | Type | Description |
---|---|---|
Level2EnemyPower | float | Multiplier to apply to enemy points. This determines how much an enemy point is actually worth. |
Level2WeaponPower | float | Multiplier to apply to weapon points. This determines how much a weapon point is actually worth. |
= weapon
weapon is used to configure weapon upgrades and modifiers. It is an array of dictionaries of the following form:
Key | Type | Description |
---|---|---|
actorType | str | Weapon type (e.g. WeaponSmallSword) |
actors | array | Array of dictionaries of the form {name: ..., plus: ..., value: ...}, with name being the actor name (str), plus a WeaponModifier (see below), value the required number of weapon points to transition to the next tier. Sorted by value. |
not_rank_up | bool | Whether weapon upgrades (e.g. Swallow Bow -> Falcon Bow) should be enabled for this series. If false, weapons in the series will only receive modifiers and will not be replaced with different weapons. |
series | str | Series name (unused at runtime) |
Types
WeaponModifier
(s32 enum)
There are three possible values for weapons[].actors[].plus
in the config:
Value | Description |
---|---|
-1 | None: Weapon will receive no modifiers. |
0 | Blue: Weapon will receive blue modifiers, also referred to as 'SharpWeapon' in other strings. |
1 | Yellow: Weapon will receive yellow modifiers, also referred to as 'PoweredSharpWeapon' in other strings. |