Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

The Discord(https://itch.io/t/284398/discord) is a better place for answers on the inner depths of the game, but it'll probably be me answering them either way. The game's script files (.gd) are plain text and can be opened and edited(it reads them during runtime) with any decent text editor. The save files are JSON formatted and quite easy to work with using online JSON editors or text editors with an add-on.

Answer#1: You called the player's specialization a "starting spec", but only some of them provide a starting bonus and all of them provide bonuses throughout the game. Due to old design quirks, the player has their spec stored in 2 locations. Though this is more an oversight than a feature, so there will be no means of changing it mid-game. As such it is most likely possible for the player to benefit from both a player and slave spec by editing the save file, though the game will probably only report having one. I may clean that up for the next version, but there is no policing of gameplay so feel free to exploit it if you wish. Specs can be edited at any time, but you have to match expected values. Spelling and case matters, but you generally won't know you got it wrong (if you mess up the state spec then it can crash if not using the debug mod). It's just used as a simple string check, so if you have the right spec, then you get a bonus for the current action. See bottom for file with list of slave specs.

Answer#2: Traits, items, and effects are complicated and have messy implementations, especially the stats. There is the simple part where actions simply check if a person has it or not to adjust the result. Then there are stat effects, which are applied to the person's values when they gain or lose a trait or effect. So when a person gains the "Strong" trait, it adds 2 to "str_mod" and -0.2 to "obed_mod" when they gain the trait, and those values are subtracted if they later lose that trait. However, they game will not perform the stat increases if you edit the person to add the "Strong" trait to them, you have to add all of that yourself. Note that not every stat is used; some are old and some are just quirks of the design. Also, there are several cases where stats have a bonus of zero, this usually happens when the min or max is changed to cause an update of the stat for the new limits. Some stats have hard limits on their values and some, like strength, can receive infinite bonuses.

Answer#3: Some attributes are simple strings and put on the screen with minimal formatting. Others use a dictionary lookup to convert the key string into a value string, which is put on the screen. "hairstyle" is the latter type and all the options can be easily found in ".../STRIVE_PROGRAM_FOLDER/scripts/characters/description.gd". Note that the simple strings are sometimes expected to match specific values for things like slave quests (the bugfix mod adds handling for changes in capitalization).

There is no need to fetch those effects from the save file, they are all listed in script files. 
Traits: ".../STRIVE_PROGRAM_FOLDER/scripts/traits.gd"
Specs: ".../STRIVE_PROGRAM_FOLDER/scripts/jobs&specs.gd"
Gear effects: ".../STRIVE_PROGRAM_FOLDER/scripts/items.gd"
Enchantments: ".../STRIVE_PROGRAM_FOLDER/scripts/enchantments.gd"
Various spell, usable item, and tattoo effects: ".../STRIVE_PROGRAM_FOLDER/scripts/effects.gd"