Quasimorph

Quasimorph

165 ratings
Fight For Universe: Phase Shift
15
6
2
5
2
3
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
2.849 MB
6 Jul, 2024 @ 9:16am
2 Nov, 2024 @ 3:31am
12 Change Notes ( view )

Subscribe to download
Fight For Universe: Phase Shift

Description
Fight For Universe: Phase Shift is an extension to the original game that will change it in many expected and unexpected ways.

As of right now changes are very minor and mostly proof of concept:
* Greatly increased stack sizes for everything that stacks.
* Changed how much inventory backpacks provide (happy scavenging).
* Allowed usage of turrets, scanners (& etc) from vest slots directly.
* Modified some crafting recipes and reworked all upgrade recipes.
* Data chips attempt to spawn with tech you still don't have.
* Fixed exploit (cancel project) and bug (whole stack use).
* Made new playthroughs diligence more rewarding.

This mod is configuration + localization dumper and loader in the first place and everything else can be pretty much changed via settings file (at some point in the future, I will also implement asset dumping and loading as well). It consists from Data Loading Library and Harmony Library for code patching. Additional important information below.

Note: this mod might be incompatible with other mods that also have Harmony Library in mod folder. Not verified and more testing is needed.

How to find settings file location:
1) Install this mod. Launch game with it once.
2) Open: %userprofile%\AppData\LocalLow\Magnum Scriptum Ltd\Quasimorph\Player.log
3) There you will find entry [FFU: Phase Shift] Content Path
4) This is the mod folder, where you will find everything, including settings.

Mod Setting File Properties:
ModVersion - will recreate config file, if different from what library expects.
FixCancelOverflow - fixes items overflow exploit for projects that use ammo.
FixContextStackUse - allows use of non-stackable items from stacks one at a time.
RewardsRebalance - reworks for post-mission rewards. No more full ammo stacks.
BetterItemUnlocks - reworks for data chips to prioritize not yet unlocked tech.
BetterVestSlotting - turrets, scanners (& etc) can be put into vest slots for fast usage.
SmartProduction - uses `ProduceTimeInHours` precision and optimizes production.
SmartSelectItem - better sorting of items on the production screen.
SortUnlockedTech - sorts list of unlocked technologies using modified method.
ToLoadAssets - not implemented yet, you can ignore it.
ToLoadConfigs - will try to load specific or all files from 'Configs' folder.
ToLoadLocales - will try to load specific of all files from 'Localization' folder.
DoAssetsDump - not implemented yet, you can ignore it.
DoConfigsDump - will dump (all or specific) config files as CSV.
DoLocalesDump - will dump main localization file as CSV.
ToDumpAssets - not implemented yet, you can ignore it.
ToDumpConfigs - list of which config files to dump. Can be used with 'ALL' option.

File Dumping/Loading Information:
As of right now dumping only works for config files and for main localization file (no other locale files exist in the first place). Both of them are dumped as CSV files. While config file can be modified and loaded as is (either fully or partially, as long as #regions and columns related to these #regions are preserved), localization file can't be loaded back as CSV and requires to be converted into JSON file that follows this pattern:
{ "translation.id.1": { "language.id.a": "localized_string_1", "language.id.b": "localized_string_2" }, "translation.id.2": { "language.id.a": "localized_string_3", "language.id.b": "localized_string_4" } }
translation.id - identifier of translated string. language.id - language identifier. Must be: english, russian, portuguese, german, french, spanish, polish, turkish, korean, japanese or chinese_s. localized_string - translated string. Localization loader is very versatile and allows loading and overwriting of any existing and/or new string identifiers. If you want, you can assign to 'translation.id.1' translation in one language and to 'translation.id.2' translation in another language in exactly same file. Or you can divide them into multiple files.

Modding Conclusion:
If you don't want any of the mod changes, just remove all existing files from 'Configs' and 'Localization' folders in mod folder and create your own after dumping original config files. If there any issue with parsing specific row, everything will be written in Player.log file. Always keep backup of your custom config files in a separate folder and to make CSV file editing easier, use LibreOffice Calc with tab-based separator option.

Regarding issues and errors, find me on https://discord.gg/hb5QdAA4yN - official Quasimorph discord server, in #modding-and-spriting channel. Ping @me directly with attached log file.
Source Code is available here: https://git.soon-tm.info/warstalker/FFU-PS

Work on mod is halted till 1.0 release!
If anybody is willing to update mod to intermediate versions of Qasimorph that will release after 0.8 and before 1.0 - the source code is available at GitHub and you can upload it as your own mod, if you desire so.

Comments are locked till 1.0 release as well.