It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
Hi,
so I think I figured how to adjust the ship to suit your needs, and I don't mean the cargo hold, weight, crew and so fort, that was easy, but I think I just figured out and tested how to add an equipment slot to your ship. Just killed the crab monster with aft weapon on the starting ship.

Would you people be interested in how? (obviously it would be on your own risk though)
avatar
Noir_CZ: Would you people be interested in how? (obviously it would be on your own risk though)
Of course, post away.
Alright then.
Things I used:
Notepad++ downloaded from [url=]https://notepad-plus-plus.org/download/v6.7.9.2.html[/url] - it makes viewing the safefiles easier. (I have CZ enviroment, will try to guess what the English equivavelnts are.)
Plugins from notepad - JSTool - for viewing JSON files in better format

You could do it with any other text editor, even notepad or something like that. It is just what I used so

1) Download and install (or just unzip the no-install version) of Notepad++
2) Run the Plugin manager from Plugins -> Plugin Manager -> Show Plugin Manager
3) Install the JSTool plugin. It will ask you to restart the Notepad++. As one famous captain says: "Make it so."

(untill the point 4) this will be explanation of what I did)
Now when you run the Notepad++ you can open the json files of Sunless Sea. On Windows they are located usually on your
system_drive\users\"your_user_name"\AppData\LocalLow\Failbetter Games\Sunless Sea\..

First I used the file entities\qualitis.json so when you load it in the Notepad++ it is just a single long line.
Use the menu
Plugins -> JSTool -> Json Viewer
to turn on the side panel to view the JSON tree and then run the
Plugins -> JSTool -> JSFormat
That should format the file from single file to nicely structured. Then in the Json Viewer I looked for "deck" which should give you just one result, If you look for deck, without the " around, it will give you several results. The thing is that most of them are either some event or something (eg node 132) or a weapon (eg node ), You can tell by looking athe value at image and tag. The image will say eg caimpainger2 or the weapon image value will say gun_purple. And the tag is either null or Equipment - Deck. So best bet is to go for "Deck"
The thing I looked for was the node 172, which told me I found Ship Equipment Slot. I made a note of ID for the Deck which was 102966 and then went to look more, this time for the Aft slot. You can find either by looking for Tag called "Ship Equipment Slot" and then cycle through or look right aways for name value "Aft" It pointed me to node 93 and told me that the ID for the Aft slot is 102965 yaaay

4) Run your game, load your safe file, unequip all your weapons (for some reason the game went bonkers with something equipped), save and exit
5) MAKE A COPY OF YOUR SAVE FILE from the folder saves
6) MAKE SURE YOU HAVE A BACKUP OF YOUR SAVE FILE
7) DOUBLE CHECK YOU HAVE YOUR SAFE FILE
8) Open the save file in the Notepad++ and run viewer side panel Plugins -> JSTool -> Json Viewer
9) Try to format the code of your save file with Plugins -> JSTool -> JSFormat
(if you switch between files or so, be sure to use Refresh function from the json tool side panel)
10) Expand the node QualitiesPossessedList : [Array] near the bottom in the side panel, It will give you a number of options, search for 102966, that will make it look for the deck, It will be probably the node 8, the ID value should read 102966. Node 9 should have ID 102964, thats Deck slot. If you stripped both Deck and Bridge of equipment, it should look like on the Picture in the attachments. In the main window you should be around line 22458. Both nodes should be virtually the same, except for the AssociatedQualityID value.
11) Copy the text of one of the nodes so eg. the deck slot (simply, duplicate one of the slots)
, {
"Name" : null,
"EquippedPossession" : null,
"Relationships" : [],
"XP" : 0,
"EffectiveLevelModifier" : 0,
"TargetQuality" : null,
"TargetLevel" : null,
"CompletionMessage" : null,
"Level" : 1,
"AssociatedQuality" : null,
"AssociatedQualityId" : 102966,
"QualityName" : null,
"QualityDescription" : null,
"QualityImage" : null,
"QualityNature" : null,
"QualityCategory" : null,
"QualityAllowedOn" : null,
"Id" : 0
}
in between those two and change the ID from 102966 to 102965 which is changing it from Deck Slot to Aft Slot.
12) Save the file (don't worry, the game should handle the slight formatting change, if not, well you have backup right?)

note: The Forward slot should ID 102968

Let me know if it worked and you managed to add the slots you needed. The second screenshot in attachement is my Steam Yacht from curator with an aft weapon... Now I only have to decide what to do... play vanilla or be an ass and use modded ship... because I like the yacht... but the lack of slots... maybe I will earn some echoes, and then delete them to "pay"

for the upgrade...As a side note under this nodes
QualitiesPossessedList : [Array] -> [0] : [Object] -> EquippedPossession : [Object] -> AssociatedQuality : [Object] -> Enhancements : [Array] you will find numbered nodes, those relate to stats of your ship, Crew, Cargo Hold, Weight, then stat adjustments and Hull, you can usually tell from Associated Quality detail what they are for
Attachments:
ship.png (455 Kb)
Post edited June 29, 2015 by Noir_CZ
This is an interesting find!

I found those "slots" previously but was (stubbornly) looking through qualities/events JSON files in the hopes that the objects describing each ship class would also describe (or link to, or reference) the ship slots.

Unfortunately, while pieces of equipment all reference a particular slot (which is why we cannot choose the slot to mount a weapon to - there's only one slot for each one) - for some reason there doesn't appear to be a mapping between ships and ship equipment slots. Which means either it's so cryptic no one has figured it out yet, or it's hard-coded. Which is terribly frustrating to say the least.

At least now it's possible to mod ship slots with your method - which is awesome!

But... I still wish there were a way to do this in the qualities file (or similar) as opposed to messing with the save file... Since that way we could mod the ships prior to buying them.
avatar
squid830: This is an interesting find!

I found those "slots" previously but was (stubbornly) looking through qualities/events JSON files in the hopes that the objects describing each ship class would also describe (or link to, or reference) the ship slots.

Unfortunately, while pieces of equipment all reference a particular slot (which is why we cannot choose the slot to mount a weapon to - there's only one slot for each one) - for some reason there doesn't appear to be a mapping between ships and ship equipment slots. Which means either it's so cryptic no one has figured it out yet, or it's hard-coded. Which is terribly frustrating to say the least.

At least now it's possible to mod ship slots with your method - which is awesome!

But... I still wish there were a way to do this in the qualities file (or similar) as opposed to messing with the save file... Since that way we could mod the ships prior to buying them.
In the qualities ID 105320 is the Steam Yacht and the 111431 is the ID for the yacht deeds. I tried to look around the events, thinking maybe there is an event. written for the purchasing of a ship, that would set the qualities for your character, like the equipment slots etc... but only records of either the yacht or the deeds are when you lose your ship due to no fuel on zee or when you get the deeds as reward, nothing that looks like "purchasing" the ship, which would mean that it is either a different file than events, or Exchange of ships is hardcoded somewhere OR that the slots the yacht has are just the default ones, present on every ship.

Also 102889 is ID for your currently equpped ship. Which is actually interesting, because when I found the quality for the Merchant cruiser (109806) there are number of qualities assigned to Enchantments value... and those are things like weight, hull, stats bonuses, crew, cargo... but no id 102965 mentioned, which is the aft slot. It does have mentioned the current ship ID 102889 quality as Eqquiped to slot, which would mean that the player itself has a slot for ship.

I did found the id for the Merchant cruiser in the "exchanges" files, being able to change the price or even if it is sold for echoes (under purchase quality). But again no mention of ID 102965 which is Aft slot. And under events once more the only remark on the Merchant ship is when you run out of fuel and have option to give up your ship. No mention of the ID for aft slot in the events either And in the Exchanges.json only remark on id 102965 is actually saying it is a setting ID (used to declare which shop is in which port which seems iffy on itself, duplicit IDs)
That event. does mention the "ExoticEffects" : "[CHANGE_CURRENT_SHIP]" so I assume that is where we should look... but It does not appear anywhere else... so I am afraid we are "effed" with making custom ships work from shop.
avatar
squid830: This is an interesting find!

I found those "slots" previously but was (stubbornly) looking through qualities/events JSON files in the hopes that the objects describing each ship class would also describe (or link to, or reference) the ship slots.

Unfortunately, while pieces of equipment all reference a particular slot (which is why we cannot choose the slot to mount a weapon to - there's only one slot for each one) - for some reason there doesn't appear to be a mapping between ships and ship equipment slots. Which means either it's so cryptic no one has figured it out yet, or it's hard-coded. Which is terribly frustrating to say the least.

At least now it's possible to mod ship slots with your method - which is awesome!

But... I still wish there were a way to do this in the qualities file (or similar) as opposed to messing with the save file... Since that way we could mod the ships prior to buying them.
avatar
Noir_CZ: In the qualities ID 105320 is the Steam Yacht and the 111431 is the ID for the yacht deeds. I tried to look around the events, thinking maybe there is an event. written for the purchasing of a ship, that would set the qualities for your character, like the equipment slots etc... but only records of either the yacht or the deeds are when you lose your ship due to no fuel on zee or when you get the deeds as reward, nothing that looks like "purchasing" the ship, which would mean that it is either a different file than events, or Exchange of ships is hardcoded somewhere OR that the slots the yacht has are just the default ones, present on every ship.

Also 102889 is ID for your currently equpped ship. Which is actually interesting, because when I found the quality for the Merchant cruiser (109806) there are number of qualities assigned to Enchantments value... and those are things like weight, hull, stats bonuses, crew, cargo... but no id 102965 mentioned, which is the aft slot. It does have mentioned the current ship ID 102889 quality as Eqquiped to slot, which would mean that the player itself has a slot for ship.

I did found the id for the Merchant cruiser in the "exchanges" files, being able to change the price or even if it is sold for echoes (under purchase quality). But again no mention of ID 102965 which is Aft slot. And under events once more the only remark on the Merchant ship is when you run out of fuel and have option to give up your ship. No mention of the ID for aft slot in the events either And in the Exchanges.json only remark on id 102965 is actually saying it is a setting ID (used to declare which shop is in which port which seems iffy on itself, duplicit IDs)
That event. does mention the "ExoticEffects" : "[CHANGE_CURRENT_SHIP]" so I assume that is where we should look... but It does not appear anywhere else... so I am afraid we are "effed" with making custom ships work from shop.
Yeah this is basically what stumped me when I looked around too - managed to find the ships, managed to find that they have "enhancements" or associated qualities, but for some reason these are only ever hull size, crew etc and never include the equipment slots.

Which is kind of baffling - why did they make almost every aspect of this game configurable, but then not do this for the ship slots? It's also damn annoying.

At least your method works as a kind of "work-around" for changing ship slots.

Maybe the devs will fix/change this in future? Anything's possible I suppose...
Sounds like a really good find, and thanks for sharing.

I have not got the game yet, in part because i was concerned about some of the balance/game design aspects and was not sure how much could be 'modded' to work more smoothly.

So my question is just how easy is it to access various files and be able to make changes as you mention in this thread?

For example one of the big issues is price of fuel and that the trading part of the game is a waste of time in terms of fighting against the 'grind' and exploring is what most do.

So i'd be interested in modding it to reduce the overall fuel usage (just to free the game up a bit, nothing over powering etc) and maybe adjust the value of trade overall to make that an also viable way to play the game, things like that. So do you guys think that kind of thing is possible?
Post edited July 11, 2015 by ThorChild
avatar
ThorChild: Sounds like a really good find, and thanks for sharing.

I have not got the game yet, in part because i was concerned about some of the balance/game design aspects and was not sure how much could be 'modded' to work more smoothly.

So my question is just how easy is it to access various files and be able to make changes as you mention in this thread?

For example one of the big issues is price of fuel and that the trading part of the game is a waste of time in terms of fighting against the 'grind' and exploring is what most do.

So i'd be interested in modding it to reduce the overall fuel usage (just to free the game up a bit, nothing over powering etc) and maybe adjust the value of trade overall to make that an also viable way to play the game, things like that. So do you guys think that kind of thing is possible?
To do what you ask is much easier than the ship slot modding described above. For one thing, you can mod the JSON files directly (which are just text files) without messing with your save game files.

Changing the fuel usage is as simple as changing a single value in a single file. I can't remember what it's called now, but it also contains things such as food usage (I think you'll find this one more annoying), acceleration/speed of ship, turning rate, etc. All of these are very easy to mod.

If you're impatient you can easily adjust the ship speed for example (if you do this you can probably leave fuel alone), though IMO it changes the game drastically.