Data.wak

From Noita Wiki
Jump to navigation Jump to search
Modding Navigation
Fundamentals
BasicsData.wakGetting startedLua ScriptingUseful Tools
Guides
AudioEnemiesEnvironments (Fog of War) • Image EmittersMaterialsPerksSpecial BehaviorsSpellsSpritesheetsSteam WorkshopUsing CMake
Components/Entities
Component DocumentationEnumsList of all tagsSpecial TagsTags SystemUpdate Order
Lua Scripting
Lua APIUtility Scripts
Other Information
Enemy Information TableMagic NumbersSound EventsSpell IDsPerk IDsMaterial IDs

AKA the "data files", the base game assets. The directory structure that you get when you extract data.wak, which Noita uses internally. When a mod wants to directly replace base assets, they will have to follow these paths exactly.

Whenever someone is talking about "the data files" or starts a filepath with data/, this is what they mean.

For extracting the data, see Extracting data files

Contents

Below you can find all the base folders listed, with some notes on the most important bits.

data/
 ├── biome/
 │   └── All biome definition XMLs, defining the biome metadata (name, scripts, paths, ...)
 │       and generation parameters (topology, vegetation, ...)
 ├── biome_impl/
 │   └── Biome image files that are not Wang tiles; pixel scenes, backgrounds
 ├── buildings_gfx/
 ├── collapse_masks/
 ├── debug/
 ├── enemies_gfx/
 │   └── Enemies, friendlies, the player; all "unit" graphics go here.
 ├── entities/
 │   └── The main beef, most (if not all) of the entity definitions can be found here.
 ├── generated/
 ├── global/
 ├── items_gfx/
 ├── materials_gfx/
 │   └── Image files for materials that have textures in addition to their base color.
 ├── particles/
 ├── procedural_gfx/
 ├── projectiles_gfx/
 ├── props_breakable_gfx/
 ├── props_gfx/
 ├── ragdolls/
 │   └── Ragdoll directories for each enemy/friendly that requires it.
 ├── schemas/
 │   └── XML Schema definitions, when the documentations are lacking, this should be exhaustive. Although probably not so useful.
 ├── scripts/
 │   └── Most of the Lua code, sorted by different types in subdirectories
 │   └── E.g. data/scripts/gun/gun_actions.lua contains some Spell info
 ├── shaders/
 │   └── OpenGL shader files, totally editable. But prefer the new Lua API instead
 ├── temp/
 ├── translations/
 ├── ui_gfx/
 ├── vegetation/
 ├── wang_tiles/
 │   └── Contains all biome Wang tiles
 └── weather_gfx/

Finding information to update this wiki

  • All:
    • UI strings: in common/Noita/data/translations/ - the common.csv and common_dev.csv files
    • Images: Check Special:NewFiles (or Category:Images) for what the other lovely people have added!
    • Note: HP and damage values in the data files are all 1/25th the in-game numbers. For example, hp="3.5" * 25 = 87.5hp
    • Any time-based values in the data files (recharge time, cast delay, spell lifetime, etc.) are in frames. Noita typically runs at 60fps, so the conversion rate it 1/60. A spell with a lifetime of 200 frames will last for: 200 / 60 = 3.33s
    • XML entity files can inherit from other entity files, which is indicated with <Base>..</Base> XML tags with a reference to the base file. In these cases, the file takes all of the components and properties from the other file, and then is able to overwrite portions as needed by specifying the changed parts normally in components and properties contained inside the <Base>...</Base> section.
  • Spells:
    • data/scripts/gun/gun_actions.lua
    • data/entities/projectiles/deck/ (various files)
    • Cast delay: c.fire_rate_wait in gun_actions.lua controls the cast delay. Both projectiles and modifiers set or add to the cast delay in the spell-cast functions attached to each spell entry in this list.
  • Enemies:
    • data/entities/animals/ (various files)
    • See Enemy Immunities for how to determine what protections or immunities a given enemy has.
      • Search for: "protection", "air", "physics", "ignition", and the tags at top
    • Most important enemy information is contained in the Entity tags and the DamageModelComponent.
  • Perks:
    • data/scripts/perks/perk_list.lua
    • data/scripts/perks/ (various files)
    • data/scripts/essences/
    • data/entities/items/pickup/
    • data/entities/misc/essences/
  • Wands:
    • data/entities/items/wands/ (various files)
    • data/scripts/gun/procedural/ (various files)

Biomes - Code-names - vs - Game/Wiki-names

Code-names Game/Wiki-names
coalmine Mines
coalmine_alt Collapsed Mines
boss_arena The Laboratory
boss_victoryroom The Work (End)
crypt Temple of the Art
desert Desert
dragoncave Dragoncave
excavationsite Coal Pits
fungicave Fungal Caverns
gold The Gold
lake Lake
lava Volcanic Lake
lavacave Volcanic Cave
magic_gate Sanctuary
pyramid Pyramid
rainforest Underground Jungle
sandcave Sandcave
secret_entrance Mysterious Gate
shop_room Secret Shop
snowcastle Hiisi Base
snowcave Snowy Depths
town_under Twisty Passages
vault The Vault
wandcave Magical Temple
water Water (Biome)
winter Snowy Wasteland
holymountain Holy Mountain
tower Tower
vault_frozen Frozen Vault
clouds Cloudscape
liquidcave Ancient Laboratory
secret_lab Abandoned Alchemy Lab
weathercrystal Crystal Chamber
greed_room Hall of Wealth
orbroom Orb Room
wizardcave Wizards' Den
rainforest_dark Lukki Lair
mestari_secret Throne Room
ghost_secret Forgotten Cave
winter_caves Snow Chasm/Snowy Chasm
robobase Power Plant
fun / fungiforest Overgrown Cavern
underwater Sunken Cavern
the_end The Work (Hell)
potion_mimics Henkevä Temple
boss_sky Lohkare Temple
boss_sky2 Kivi Temple
barren Barren Temple
darkness Ominous Temple
watchtower Watchtower