Hunters,
Thank you for your patience and understanding in the leadup to this patch. Update 0.31 not only brings exciting enhancements to ZERO Sievert, but it also lays the groundwork for more thrilling updates in the future. In this patch we are excited to bring you deeper connections to the in-game factions. Choose your allegiance wisely - will it be the formidable Green Army or the lucrative Crimson Corporation? Discover new quests, daily challenges and more!
As previously discussed in our dev blogs, this patch comes with a save wipe. To go alongside the save wipe, we've introduced a new save file system and numerous quality of life (QoL) improvements. We understand some players may wish to continue their journeys on their old saves, for those players, we're launching the Legacy branch today, which you can easily access from your library.
We hope you enjoy this patch, and as always, let us know all your feedback on our Discord channel (or here!).
Happy hunting!
Dev notes to modders:
Changing Existing Data
Mod.ini is no longer supported in ZERO Sievert. Instead, we've implemented a powerful replacement! Most of ZS's game data is now stored in external JSON files, instead of being concealed within the game's code. This gives you the opportunity to adjust many different variables and values that were previously inaccessible. Not only can you alter weapon names, but you can also adjust their damage, bullet speed, magazine capacity, and almost everything else. JSON files are essentially text files that store data in a specific format, which can be edited with any text editor. However, you may need to tell your OS to open the .json file extension with a suitable program. JSON can be a bit fussy, so make sure you validate your JSON after editing, using an online tool, and always save in UTF-8 encoding.
You can find the new database files in the game's install directory (via Steam, right-click on ZERO Sievert in your library, then select "Manage" then "Browse Local Files"). The game's base data can be found in the /ZS_vanilla/gamedata directory. There, you'll find many JSON files, covering everything from ammunition to weapon mods, to chest loot tables, to NPCs. Feel free to modify these files as you wish. For example, if we wanted to rename the Nozin Makant to the solemn and respectful "Igor4eva," we would simply open up weapon.json, search for "Nozin Makant," change the name, and save the text editor. Upon running the game, the new game data is loaded, and the Nozin's name will be different. If you wish to truly honor Igor's memory, you might want to boost the Nozin's damage - though tread carefully because this change will also affect enemies. Unfortunately, you can't change game data while the game is running, so make sure to check your work before launching the game!
Creating Something New
If you're looking to add something entirely new to the game, inserting it into the existing JSON files might be a bit challenging. You might have noticed a JSON file called gamedata_order.json in the install directory (and in the "ZS_vanilla" directory too). This file controls the location of JSON files and the order they are loaded into the game. Usually, gamedata_order.json uses relative paths. If you wish to add a new model of the BB 19 MOOSE, let's say a .45 ACP variant, you can create a new JSON file with only that item and then point to that JSON by adding a new file path to gamedata_order.json in the install directory.
Extra notes and limitations
Please be aware that if you modify files inside the Steam directory, they will fail Steam's file integrity check, and your modifications may be lost upon reinstalling. To avoid this, we've made it possible to store mod files elsewhere on your computer to prevent them from being overwritten. As mentioned, gamedata_order.json usually uses a relative path to find JSON files, but it can also accept an absolute path. We highly recommend storing your mod files in a static location on your hard drive to prevent accidental loss.
There are a few limitations currently, however. NPC behavior and quest logic are not exposed, and many internal strings in the game are not available for editing either. At the moment, it's also not possible to change item or bullet graphics, which we know is a feature many of you are eagerly waiting for. Implementing dynamic graphics, audio, and logic into our engine in an efficient manner is a complex task that we don't want to rush.
That's all from us for now. Over to you! We hope you enjoy experimenting with the core mechanics of ZERO Sievert!