Ship Vendor Framework (SVF) V1.7

Ship Vendor Framework V1.0.1

Overview

Summary:
(A framework to easily add ships for sale without conflicts.)

The system that Bethesda designed for selling ships is interesting, but it lacks a crucial element: Changeability. In vanilla Starfield, once a ship vendor has been loaded the first time, the list of ships they offer for sale is locked in forever.

That’s where this mod comes in. I’ve designed a system such that mod authors can easily add ships for sale to the various ship vendors without either conflicting with other mods that do the same or requiring the set up of a script. It will also refresh the vendor’s list of ships if a change is detected in the vendor’s “always” or “unique” lists. (A ship vendor’s inventory is composed of three lists: always a.k.a. priority, random, and unique.)

NOTE: The “random” ships are only regenerated every 7 days (by default).

How To (Lite):
Mod authors, want to use the framework? It’s easy, and you can do it in just three steps:

1. Design your ship.
2. Add your ship to a leveled base form.
3. Put that leveled base form into a form list and set one of the form lists included with this mod (SVF_ShipVendorList_*) as the target in the “add to list” box.

More detailed instructions are included in the HOWTO.txt document, and in the “How to Utilize the Ship Vendor Framework” article on Nexus Mods.

Compatibility:
This mod alters NPCs that offer ship services, as well as some of the leveled lists for spaceships that vendors use. Any other mods that also alter those objects may conflict without patches.

Known Issues:
None

NPC Ship Lists:
Note: All form list editor IDs start with “SVF_ShipVendorList_”. This prefix has been removed from the lists as presented in the following table for the sake of brevity.

Ship Vendor Framework V1.0.1

Installation

Requirements:
None

Recommendations:
None

Upgrading:
When upgrading non-major versions (for example v2.something to v2.something-else), you don’t need to do anything except replace the installed mod files.

When upgrading major versions (for example v1.whatever to v2.whatever), you need to do a clean install:
– Open the game and load your latest save
– Save your game, then quit
– Uninstall the previous version of the plugin and all its files
– Open the game and load your last save
– You will see a warning about missing the plugin you just uninstalled, choose to continue
– Save your game again, then quit
– Install the new version of the plugin

Mod Manager:
Download and install the archive with either Mod Organizer 2 (version 2.5.0 or later) or Vortex. I personally recommend Mod Organizer 2 (with the optional Root Builder plugin to use with SFSE or any other mod that requires files be put directly in the game’s installation folder).

Manual:
Unsupported.

Archive Invalidation:
Make sure your StarfieldCustom.ini file in the “Documents\My Games\Starfield” folder (or your profile folder if using a mod manager and profiles) contains the following:

[Archive]
bInvalidateOlderFiles=1
sResourceDataDirsFinal=

Changelog:
Version 1.7.0
Added patch for Watchtower

Version 1.6.1
Fixed DarkStar Astrodynamics and The Den Astrodynamics patches always being initially selected in FOMOD installer
Fixed Markdown image to BBCode image conversion regex

Version 1.6.0
Main mod:
– Implemented a “Vendor Data Map” concept to allow the mod to be as conflict-free as possible, and as a result, was able to remove all direct vendor record edits
– Set Lt. Jillian Toft on the Vigilance to function as a ship vendor once the Crimson Fleet quest line concludes (modifies `CF_Post` dialogue `[QUST:00143472]` and `CF_Post_Toft_TL_ShipServices` scene `[SCEN:001F88DD]`)
– Added a gameplay option to allow unique ships to regenerate after purchase, instead of being a one-and-done thing
– Added a “Rich Ship Vendors” gameplay option; the amount of credits ship vendors have is controlled by a different gameplay option
– Added gameplay options to control the minimum and maximum number of ships in the “random” category that a ship vendor will attempt to sell
– Added more variable caching to try and minimize calls to potentially expensive external functions
– Added sanity checks (with messages if they fail) to support new conflict-free methodologies and records
– Added a toast-style message that pop up if a ship vendor is accessed before it’s ready and another toast-style message that will then pop up when the vendor is ready
– Changed how the unique ships are tracked so that they are tracked across vendors
– Made a pass for style consistency in all scripts
– Updated auxiliary scripts to use their own internal logging function
– Added many comments to the code to clarify things where needed and to make certain bits of logic (hopefully) easier to follow
– Removed OnInit event code from SVF_Control script to clean things up
– Made sure that all calls to local _Log function have a log level specified
– Re-worked log levels to function more like other languages
– Fixed an issue where ShipVendorScript could attempt to register for a remote event on a variable that was None.
Patches:
– Added DarkStar Astrodynamics patch
– Updated Falkland Systems Ship Services patch to utilize the “Vendor Data Map” concept
– Updated Lower Landing Pad patch to utilize the “Vendor Data Map” concept
– Updated Shattered Space patch to utilize the “Vendor Data Map” concept
– Updated Starvival patch
– Fixed The Den Astrodynamics patch to remove a couple of mistakenly-added ships
– Removed no-longer-necessary “Generic” compatibility patches
– Removed no-longer-necessary Lower Landing Pad (Unlocked) patch
Miscellaneous:
– Updated README
– Updated HOWTO with sections on configuring a vendor to use Ship Vendor Framework lists, both using the “Vendor Data Map” concept, and direct
– Updated spelling list

Version 1.5.4
Fixed master file reference in the SVF Starvival Patch to the newly-renamed SVF Shattered Space patch

Version 1.5.3
Fixed misnamed plugin reference in FOMOD file

Version 1.5.2
Renamed the Shattered Space patch (plugins with filenames ending in “ShatteredSpace.esm” apparently get disappeared from the Creations Load Order screen as of patch 1.15.216)

Version 1.5.1
Fixed The Den Astrodynamics compatibility patch

Version 1.5.0
Updated Starvival patch to be compatible with Starvival v10.5.0

Version 1.4.0
Added Shattered Space patches
Fixed some initialization bugs with kiosk vendors, including outpost vendors
Fixed some ship vendors constantly regenerating their ships
Updated Starvival compatibility patch to be compatible with Starvival v10.1.5
Re-saved all plugin files in newest CK to fix some potential internal file structure weirdness

Version 1.3.1

Update verbiage in FOMOD files to match readme

Version 1.3.0

Updated Starvival compatibility patch for Starvival v8
Updated some backend stuff (spriggit, helper scripts, etc.)

Version 1.2.0

Small update to make troubleshooting Ship Vendor Framework a bit easier

Version 1.1.1

Fixed issue where internal array was getting populated by SpaceshipReference objects referencing None
Fixed issue where if the player purchased a ship from a vendor’s “always” list, the vendor would always reset that list the next time it was loaded, instead of when the vendor was scheduled to reset
Fixed issue where vendor could remain registered for OnPlayerLoadGame event even if not actually loaded
Fixed issue where ships could be spuriously duplicated in the vendor menu by forcing a full (instead of partial) vendor refresh when a new ship is added to either of the vendor’s “always” or “unique” lists
Mitigated a potential race condition when vendor gets loaded
Added patch for [Nexus] The Den Astrodynamics

Version 1.1.0
Added patches for the following mods (note: some of these may require a generic patch as well for full functionality)
– [Creations] Deadalus and Battlestar
– [Creations] Dominion
– [Creations] Iconic Ships
– [Creations/Nexus] L-K Ships
– [Nexus] Lower Landing Pad
– [Creations] Outpost Vendor New Ships
– [Creations/Nexus] Starvival (Spaceship Systems Module)
Added generic patches
– All Ship Modules Unlocked (All Ship Vendors)
– All Ship Modules Unlocked (Outpost Only)
– Ship Vendors

Credits:

rux616

Share mod:

Leave a Reply

Your email address will not be published. Required fields are marked *