LevelSensor.byml: Difference between revisions
imported>Leoetlino (add more detailed docs for LevelSensor) |
(→flag: Added _Num to flag name for accuracy) |
||
(One intermediate revision by one other user not shown) | |||
Line 10: | Line 10: | ||
The root element is a dictionary. | The root element is a dictionary. | ||
=== enemy == | === enemy === | ||
'''enemy''' is used to configure enemy upgrades. It is an array of dictionaries of the following form: | '''enemy''' is used to configure enemy upgrades. It is an array of dictionaries of the following form: | ||
Line 27: | Line 27: | ||
|} | |} | ||
=== flag == | === 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: | '''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: | ||
Line 37: | Line 37: | ||
|name | |name | ||
|str | |str | ||
|Name of the GameData s32 flag (usually a defeat counter flag: | |Name of the GameData s32 flag (usually a defeat counter flag: Defeated_XXXXX_Num where XXXXX is the enemy actor name) | ||
|- | |- | ||
|point | |point | ||
Line 44: | Line 44: | ||
|} | |} | ||
=== setting == | === setting === | ||
'''setting''' is a dictionary of the following form: | '''setting''' is a dictionary of the following form: | ||
Line 61: | Line 61: | ||
|} | |} | ||
=== weapon == | === weapon === | ||
'''weapon''' is used to configure weapon upgrades and modifiers. It is an array of dictionaries of the following form: | '''weapon''' is used to configure weapon upgrades and modifiers. It is an array of dictionaries of the following form: | ||
Latest revision as of 20:14, 19 July 2024
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_Num 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. |