API
Simplifies adding/changing ATS and adds fixes/QOL changes.
Date uploaded | 2 weeks ago |
Version | 2.3.0 |
Download link | ATS_API_Devs-API-2.3.0.zip |
Downloads | 57 |
Dependency string | ATS_API_Devs-API-2.3.0 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2100README
Against The Storm API
This mod is designed to be used in conjunction with other mods that wish to add new content to the game. It provides a number of useful functions for adding new things to the game in a way that takes away the struggles of understanding the code base and more.
Against the Storm is a deeply complex game with tricky to navigate code for the average person. Also with the game being regular updated it's impossible to know what the devs will change in code which can result in your mod breaking and requiring you to manually fix and reupload it.
The API works as an in-between of your mod and the game by supplying helper methods that create new content and insert it into the game accordingly. This means that if the game updates and breaks your mod, the API will be updated to fix it and require little to no support from your end. (fingers crossed)
How to install
Installation with Thunderstore (Recommended)
- Download and install the Thunderstore app for free from here
- Install API mod using the Thunderstore App
- Be sure
BepInEx
is installed too!
- Be sure
- Run the game using Thunderstore
Manual Installation
- Install v5.4.21 of BepInEx
- Extract the contents of the zip into
Against the Storm
folder that has the gamesAgainst the Storm.exe
in it - Run the game once so
Against the Storm/BepInEx/plugins
gets created. If the plugins folder does not get created then you installed it wrong.
- Extract the contents of the zip into
- Install API mod
- Download content using the Manual Download button
- Extract the contents of the zip into the
Against the Storm/BepInEx/plugins
folder
- Run the game
Help
Example Mod
The API is worked on alongside the Example Mod mod which contains at least 1 of every new feature in the API to ensure everything is working as we expect.
You're encouraged to view all the code and copy+paste anything you require into your own mod.
If anything does not work please reach out on the discord!
Github: https://github.com/JamesVeug/AgainstTheStormAPI/tree/master/ExampleMod
Thunderstore: https://thunderstore.io/c/against-the-storm/p/ATS_API_Devs/ExampleMod/
Discord
If you require help with the mod, have ideas you want added, want to report a problem or just want to chat join our discord.
https://discord.com/invite/ZfVWG86gsJ
Wiki
If you need help with how to use the API here is the wiki to provide examples and explanations.
https://github.com/JamesVeug/AgainstTheStormAPI/blob/master/ATS_API/WIKI/WIKI.md
Support added for
- New Goods (items that can be traded/sold, food & fuel)
- New Perks/Cornerstones
- New Traders
- New Orders (Minimal)
- New Buildings (Minimal)
- New Recipes
- New Races (Experimental)
- New Difficulties
- New MetaRewards (Goods and Effects when embarking)
- Localization for all of the above
- Custom Hotkeys (Saving and rebinding included)
- Custom Save/Load system
Other stuff added
- Any options/configs that mods add can be modified in the options menu of the game.
- Enums that list everything in the game, so you can easily see what items/orders exist and get their data without hassle.
Contributors
- JamesGames
CHANGELOG
2.3.0
- Added Custom saving support
- Added Custom Meta Reward support (Goods and Effects)
- Added AscensionModifierTypes enum
- Added GeneralPopup which any mod can use
- Custom save system uses this when a file fails to load
- Mods Tab now shows a tooltip with mod description and dependencies and if they are installed or not.
- MetaRewardTypes enum updated to 1.4.17R and now includes the type of MetaReward
- Difficulty cleanup and added more methods (may break existing mods - none on thunderstore atm)
- Added missing Key methods for HookedEffectBuilder
- Exposed more stuff that was previously private
- Added preset Localization keys
- Deprecated
RegisterKey
function for Hotkeys in favor ofNew
- Removed a bunch of logs to reduce console spam
- Goods and effects now have custom icon types
2.2.0
- Added Custom Difficulty support
- Fixed localization not working
- Fixed ChineseSimplified and Chinese Traditional using wrong locale codes
2.1.0
- Bumped ATS version to 1.4.11R
- Options/Configs for mods that can be modified will show in the options menu now
- Improved support for custom hotkeys that appear in the options menu too
2.0.0 - Contains mod breaking changes.
- Bumped ATS version to 1.4.4R
- Updated Enum helpers
- Added Custom race support (first pass)
- Added ResolveEffectBuilder
- Added more columns to relics.csv export
- Added stack trace when failing to find data using enum helpers
- Custom BuildingTagModel support
- Refactored loading mods flow to be less error-prone
1.2.4
- Fixed infinite loading screen when loading save with the SkyScaper building
- Fixed infinite loading screen when loading save with missing perks/effects
- Added MetaCurrencyTypes enum helper
- Added more SetIcon methods for goods and effect builders
- Added AddHostility helper method to EffectFactory
- Added order support when exporting csv data
- Reduced console spam
1.2.3
- Added VillagerPerkTypes enum helper
- Added BuildingPerkTypes enum helper
1.2.2
- Added Set icon method for GoodsBuilder, so it also changes inline images
- Added string to Types enum helper for all enum types
- Added support to replace existing inline images
- Added load and export helpers for audio
- Added export texture helper method
- Reduced number of logs
1.2.1
- Added CSVBuilder helper to export relics
- Added GoodsCategoriesTypes enum helper
- Can now do your own csv and .cs enum export using configs
- Fixed displayName, description and shortDescription not editable if key exists.
- Fixed New goods not working with new traders
- Fixed not being able to add new strings after game has loaded
- Added more config options
1.2.0 - Contains mod breaking changes.
- Light support for custom buildings with and without a custom model
- Houses and Workshops
- Added RecipeBuilder and WorkshopRecipeBuilder
- Added new enums
- BiomeTypes
- BuildingBehaviourTypes
- BuildingCategoryTypes
- BuildingTagTypes
- BuildingTypes
- DifficultyTypes
- EffectTypes
- GoalTypes
- GoodsTypes (Enums have been changed)
- MetaRewardTypes
- NeedTypes
- OreTypes
- ProfessionTypes
- RaceTypes
- RelicTypes
- ResolveEffectTypes
- SeasonTypes
- TagTypes
- TraderTypes
- Added ToName, GetAll and ToModel helper methods for all enum types
- Added remove hook helper methods
- Added SetShowHookedRewardsAsPerks effect helper
- Added missing language support to hooked effect building (Code breaking)
- Added namespace for SeasonTypes (Code breaking)
- Added helper method to generate .cs files for all enums
- Added Asset bundle helper methods
- Fixed custom effects without declaring a hook throwing an exception
- Fixed custom effects that add removal hooks not working
- Fixed localization sometimes not working for custom mods
- More code comments/documentation
1.1.1 - Possible mod breaking changes.
- Added defaults to new goods and effects to avoid errors when making a new perk/cornerstone
- Added light support for devs to specify a renaming of an effect to avoid breaking saves.
- Added AfterSeasonChanges Hook (Thanks Shush!)
- Added SetLabel for EffectBuilders
- Added GoodsTypes enum for easier referencing types. Can still use string if preferred
- Fixed missing resolve effects breaking existing save files
- Fixed HookedEffectBuilder.AddInstantEffect changing the name of the main effect
- Fixed error message when trying to get a Good that does not exist
- Renamed SetMissingFields to AssignMissingFieldsToEffect
- Renamed CanbeSoldToAllTraders to CanBeSoldToAllTraders
- Changed a lot of namespaces to be more precise
1.1.0
- Added Custom Trader support
- Added BareBones support for Custom Order
- Added GoodsProductionBuilder
- Added lots more helper methods
- Fixed tooltip icons showing text instead of icons
- Fixed unable to sell custom goods at trader (1.3.3)
- Added optional Short description goods
- Fixed new fuels breaking existing save files
1.0.0
- Added Custom Goods support
- Added Custom Cornerstones support