Release Notes/Sauna Update

# Nov 24 2020 - The Sauna Update

Release Notes — Steam Announcement — Update Video

The 15th update is out! This time we've focused on game balance, improvements and bug fixes, but there's also a lot of new stuff to discover and experiment with.

Among the highlights are a new well-hidden biome, a new building to chill in called Sauna, and changes that make Temple of the Art a bit more interesting. Biome modifiers are now communicated more clearly when entering a biome. The whole game has again been localized to ten different languages.

A large part of the user interface library used by Noita is now also available to mods, and there's a new menu that mods can use as a common location for their settings.

## Creatures

* New enemy: Turvattomuusmestari
* New enemy: Kuihdutusmestari
* New enemy: Turvalennokki
* New enemy: Raukka
* New enemy: Taivaankatse

## Perks

* New perk: Pinpointer
* New perk: Projectile Repulsion Sector
* New perk: Projectile Eater
* New perk: Projectile Slower
* New perk: Low Recoil
* New perk: Personal Plasma Beam
* New perk: Extra Shop Item

## Spells

* New spell: Ball Lightning
* New spell: Nolla
* New spell: Accelerative Homing
* New spell: Zeta
* New spell: Phi
* New spell: Homebringer Teleport Bolt
* New spell: Myriad Spell
* New spell: Magical Explosion
* New spell: Spells to Power
* New spell: Summon Omega Sawblade
* New spell: Spiraling Arc
* New spell: Orbit Arc
* New spell: Temporary Wall
* New spell: Temporary Platform
* New spell: Summon Missile

## Biomes, Areas, and Structures

* New structure: Sauna
* New dangerous props in Temple of the Art
* Spell shops in Holy Mountains have twice the spells to sell!
* New work-in-progress area, deep underground...
* New background in Coal Pits
* Slight increase in variety in the Temple of the Art layout

## Balance

* Patsas enemies no longer need to breathe
* Curse of Greed advances a tiny tiny bit slower
* Sätkymestari shots make player projectiles hurt the player
* Rebalanced the Tower rewards and gave them their own names
* Certain legendary spells are not be affected by unlimited spells
* Numerous thrown, kicked or falling items deal more reasonable damage, especially with low velocities
* Kolmisilmä's shield can convert projectile damage fields in some circumstances
* Alpha spell does not automatically cast another spell
* Gamma spell does not automatically cast another spell
* Random loadouts - Slime loadout has an actually castable third wand
* Random loadouts - Eldritch loadout has the Projectile Repulsion Field perk as well as a way to dig
* Lowered the resistance bonuses from Slime blood & Oil blood slightly, changed their description to clearly state the resistance effect
* Reduced the cost of spells in Holy Mountains slightly
* Made certain new enemies not able to suffocate
* What is above is no longer exactly like what is below
* Made some spells somewhat more common
* Made Sauvojen Tuntija drop both of its rewards every time
* Rebalanced unlockable spell pools

## Miscellaneous Improvements

* All localizations are up to date
* Added copies of the music machines in certain locations to further mitigate the chance of them being lost
* Music machines have more health to make them harder to detonate accidentally
* Increased changes of perk pool having all perks
* Testing a slightly different freeze effect to maybe improve performance
* Made Odd Firebolt have a more interesting flight pattern
* Tweaked a Kammi feature
* Runestones activate as soon as you throw them
* Daily run seed is fetched sooner, so the game mode menu does not have wait for it
* Attempted to make acid slightly easier to differentiate from toxic sludge
* Shop items and their price tags are properly centered
* Perk descriptions can be seen before picking them up
* Improved release notes UX

## Biome Modifiers

* Biome modifier's texts are displayed more prominently
* Made biome modifiers slightly more common

## Comprehensibility

* Updated some perk names and descriptions to better reflect their functionality
* Perk description can be seen before you pick them up
* Finally [*sic*] removed firearm imagery from certain spell icons

## Perk Changes

* Certain perks that apply a one-time effect indicate this behaviour in their name & icon
* Always Cast has a maximum of 4 Always Cast spells per wand
* Improved Exploding Corpses and Exploding Gold explosions
* Attract Gold has a longer range and stronger pull
* The Oil Blood perk gives protection against fire but doesn't give resistance to damage
* Revenge Explosion perk explodes harder and can't set the player on fire, + adds a 20% explosion resistance
* The Homunculus perk can spawn homunculi in a larger variety of areas
* The Homunculi's HP scales better towards the endgame
* Added a 20% projectile damage resistance to Revenge Tentacle
* Revenge Bullets works more consistently and launches the revenge projectiles faster & with increased damage
* Clarified some perk descriptions so that they more clearly state e.g. added resistances and such
* Bounce also increases the duration of your spells
* Low Gravity applies the gravity effect to enemies as well (experimental change)
* High Gravity applies the gravity effect to enemies as well (experimental change)
* High Mana, Low Capacity should no longer be able to remove Always Casts
* Exploding Gold has a more accurate description and its explosions work properly
* Concentrated Spells increases recoil much less, to make it more useful
* Boomerang Spells increases the speed and damage of your spells
* Vampirism heals more and reduces your max hp less
* Reduced Blood Money healing somewhat
* Made Boomerang Shots not increase projectile damage for now as a placeholder fix to healing shot bugs
* Re-implemented Plague Rats rat friendship
* Retired melee-only homunculus, changed it into a Magic Arrow -shooting version
* Plague rats, friendly ghost, homunculi, etc. don't turn berserk against player or each other on various berserk situations

## Twitch Integration

* Usernames are picked from messages instead of the whole viewer list
* Votes can be cast while game is paused
* Votes can be changed while voting is in progress
* Enable/disable all events button in options
* The perk-spawning stream event's description is accurate to what it \*actually\* does

## Bugfixes

* UI Damage numbers support numbers that are over 2 billion
* Telekinetic Kick works with Runestones and some other objects
* Ukkoshyypiö should no longer lose its aura after 2 minutes
* Fixed Projectile Transmutation Field transmuting itself
* Fixed Projectile Thunder Field transmuting itself
* Fixed Projectile Gravity Field affecting itself
* Items could damage player if they changed faction
* It was possible to occasionally get stuck with Teleportitis Dodge
* Yes/No boxes took previous ESC press for a No
* Kammi could cause slowdowns if player has massive maximum hitpoints
* Lower 'Cosmetic particle amount' settings affected some non-cosmetic particles
* Fixed a broken text entry
* Fixed the two fish creatures being mixed-up in the progress menu
* Fixed Vault plasma cannons shooting too far
* Some biome modifiers could replace potion spawns in some cases
* Fixed Curse of Greed ignoring certain materials
* Damage field should no longer bug out when enemies die in specific ways
* Fixed some texturing bugs at the starting area
* Game mode list banners had rendering depth order issues
* Certain special ending code and progress tracking wasn't working
* Fixed Unstable Crystals teleporting oddly towards physical objects
* Fixed fish enemies having the wrong names
* Old save Yes/No message didn't specify the question being asked
* Crash - recent optimizations caused a crash when loading some save games
* Made Haavoittajamestari's status effect stop at 10 hp to prevent a hp-multiplying exploit
* Fixed an exploit that allowed still getting extra HP from enemies not meant to give it
* Fixed an ancient typo in lava reactions
* Fixed an exploit related to digging around spells in Holy Mountains
* Tower rewards disappeared at wrong times
* Twitch integration - Player immortality event erroneously stated that the effect would always last 1 minute
* Fixed a bug with find\_the\_wand\_held( entity\_id )

## Modding - Features

* Added support for mod settings menus and persistent settings - see mods/example/settings.lua

## Modding - Documentation

* Improved entity lua API documentation - added type information
* Improved gui lua API documentation
* Removed lua\_readtable from lua API documentation (it's not part of the API)

## Modding - Lua API

* Added EntityGetWandCapacity()
* Added StreamingGetConnectedChannelName()
* Added StreamingSetCustomPhaseDurations()
* Added StreamingForceNewVoting()
* Added StreamingSetVotingEnabled()
* Added ModSettingGet()
* Added ModSettingSet()
* Added ModSettingGetNextValue()
* Added ModSettingSetNextValue()
* Added ModSettingRemove()
* Added ModSettingGetCount()
* Added ModSettingGetAtIndex()
* Added GameIsBetaBuild()
* Added GuiSlider()
* Added GuiTextInput()
* Added GuiTooltip()
* Added GuiOptionsAdd()
* Added GuiOptionsRemove()
* Added GuiOptionsClear()
* Added GuiOptionsAddForNextWidget()
* Added GuiColorSetForNextWidget()
* Added GuiIdPush()
* Added GuiIdPop()
* Added GuiAnimateBegin()
* Added GuiAnimateEnd()
* Added GuiAnimateAlphaFadeIn()
* Added GuiAnimateScaleIn()
* Added GuiImage()
* Added GuiImageButton()
* Added GuiGetScreenDimensions()
* Added GuiGetTextDimensions()
* Added GuiZSet()
* Added GuiZSetForNextWidget()
* Added GuiIdPushString()
* Added GuiImageNinePiece()
* Added GuiBeginAutoBox()
* Added GuiEndAutoBoxNinePiece()
* Added GuiBeginScrollContainer()
* Added GuiEndScrollContainer()
* Added GuiLayoutBeginLayer()
* Added GuiLayoutEndLayer()
* Added GuiGetImageDimensions()
* Added GuiGetPreviousWidgetInfo()
* GuiButton() parameter order is consistent with other Gui functions. The old order is also dynamically supported
* GuiLayoutAddHorizontalSpacing() takes optional amount parameter
* GamePrintImportant() takes optional ui art parameter, made second parameter optional
* StatsLogPlayerKill() takes optional 'klled\_entity' parameter
* Removed StreamingGetSettingsGhostsNamedAfterViewers()
* Added OnModSettingsChanged hook (Accessible via init.lua)
* Added OnPausePreUpdate() hook (Accessible via init.lua)
* LuaComponent - added script\_damage\_about\_to\_be\_received
* LuaComponent - script\_damage\_received gives the id of possible projectile that caused the damage
* Streaming integration - IRC commands can be handled on the lua side (with some limitations)

## Modding - Misc

* Made potion spawning use a separate spawn table, found in data/scripts/item\_spawnlists.lua