Starbound 1.2 Vault Update
16 December mollygos
Hello! Many thanks for everyone who helped us out by playing 1.2 on the unstable branch and provided feedback or bug reports. Starbound 1.2 Vault Update is here! Check out the trailer above to get the gist of whats been added in 1.2, or check the patch notes below for a more in-depth list. Or both, even! Follow your heart! Either way, please enjoy the last big Starbound update of the year.
Onward to patch notes!
Major Changes
Ancient Vaults
Players who have completed the main storyline can visit a mysterious trader on the Outpost who will send them on a quest to activate and enter the Ancient Gateways found floating in some systems
These gateways provide access to Ancient Vaults: challenging procedural dungeons left by the ancients, filled with dangerous guardians (including procedural bosses!) and fantastic lost technologies
Terraforming
Using powerful devices acquired from the Ancient Vaults along with a new Essence currency, you can now transform regions or whole planets into entirely different biomes
Terraformers can be used to expand a region across a planets surface, replacing natural blocks, objects and plant life, and eventually changing the type of the planet itself
Microformers are consumable single-use terraformers which provide even more region types to add to your worlds
Weapon Upgrades
Use the ancient anvil available at the end of Ancient Vaults and spend Essence to upgrade your outdated legendary weapons, opening up many new options for endgame combat styles
Elemental Damage
Monsters now have resistance and weakness to elemental damage types, making your choice of weapons more important than ever
Holiday Spirit!
Celebrate the holidays with the variety of festive items bought from Space Santa at the Outpost!
Minor Changes / Bug Fixes
Holding the activation key while in a distortion sphere tech will force deactivation, to avoid being permanently stuck in small spaces
Contain tooltips within the game window when theyre near the edge
Fix a bug with monster kill sounds not playing correctly
Several bug fixes to monster/NPC behaviors and pathfinding
Various typo and asset fixes
Add appropriate bushes to the Rust biome
Update SDL2 to 2.0.5, should fix some fullscreen issues
Fix some security vulnerabilities in server packet handling
Fixed an issue where crew would duplicate
Fix a player inventory networking issue
Performance Improvements
Improve generation time of older, image-based dungeons
Other minor improvements to dungeon and world generation
Use larger texture atlases on graphics cards that support them
Various optimizations to monster/NPC scripts
Improve loading speed for dungeon worlds
Modding API Changes
Behavior Tree system moved to engine for performance reasons, now accessible with the root.behavior lua binding. (Check lua documentation)
Cleanup node removed
Decorator node lua implementation changed
Action node arguments moved around, now (args, output, nodeId, dt).
Generic currency support.
Additional currencies can be added and consumed without requiring configuration
To associate a currency with a currency item, to be used in crafting, it needs to be configured in /currencies.config
.coinitem files changed to .currency
Object changes for terraforming support
Objects can have a new boolean key, biomePlaced which if true will cause them to be placed and removed by terraforming.
Objects can have a new boolean key, rooting which if true will mark all of their anchor spaces as roots and prevent those tiles from being broken until the object is broken (identical to how trees and vines work).
Player inventory can now be configured in player.config, allowing changes to:
Number of bags
Inventory size of each bag
Number of action bars
Action bar size
NOTE: modifications to player inventory size need to be applied both server side and client side, and will invalidate existing characters
Damage sources, requests, and notifications
Introduced new hit types; WeakHit, StrongHit and Killed.
Removed killed boolean from damage notifications, replaced with Killed hit type.
Damage effects (sounds, particles) can be configured for each hit type (Hit, WeakHit, StrongHit, ShieldHit, Killed) in damage type configurations (.damage files).
Added support for elemental types to damage types. Elemental types can be configured in /damage/elementaltypes.config and can be set for each damage type using the elementalType key, which defaults to the default elemental type. Each elemental type has a unique set of damage number particles for each hit type.
Monsters
Added support for client side rendering scripts
Allow overriding randomly selected monster parts by setting selectedParts in parameters
Add support for direct palette swaps with the colorSwap parameter
Allow overriding shortdescription in parameters
Allow overriding dropPools in parameters
Allow setting animation parameters directly in monster parameters with the animationCustom parameter. This is merged into the animator configuration.
Lua API changes:
ActiveItemAnimation
Removed activeItemAnimation.animationParameter (replaced with animationConfig.animationParameter)
Animator
Added animator.partProperty
Item
Replaced item.is with item.matches
Monster
Added monster.setDamageParts
Added monster.setAnimationParameter
Npc
Added npc.loungingIn
ObjectAnimator
Removed objectAnimator.animationParameter (replaced with animationConfig.animationParameter)
Player
Added player.currency
Added player.addCurrency
Added player.consumeCurrency
Modified player.hasItem to allow exact parameter matching
Modified player.hasCountOfItem to allow exact parameter matching
Modified player.consumeItem to allow exact parameter matching
Added player.id
Added player.uniqueId
Root
Added root.behavior
Added animationConfig table for use in client side rendering scripts
ScriptPane
Added pane.playSound
Widget
Added widget.setSliderValue
Added widget.getSliderRange
Added widget.setSliderEnabled
Added widget.setItemSlotItem
World
Modify world.spawnItem to allow optionally setting a velocity and an intangibleTime
Added world.size
Added world.inSurfaceLayer
Added world.terrestrial
Changed world.entityMoney to world.entityCurrency
Added world.universeFlagSet
Modified world.entityHasCountOfItem to allow exact parameter matching
Added world.lineTileCollisionPoint
Added world.addBiomeRegion
Added world.expandBiomeRegion
Added world.pregenerateAddBiome
Added world.pregenerateExpandBiome
Added world.setLayerEnvironmentBiome
Added world.setPlanetType