The shipbroker system is currently fairly barebones and could use some improvements. Here's the things I find myself wanting the most:
- Rarity values for hulls (currently all shipclasses have an equal chance to appear)
- More filters for what ships a shipyard can sell. For example:
- Only ships within a certain range of mass (below, at or below, between, at or above, or above)
- Only ships within a certain range of size
- Only ships within a certain range of price
- I don't see any way to do it, but being able to differentiate between combat and non-combat classes would be useful (so you could have A Freighter Dealer who won't have like-massed corvettes)
- Ability to specify a range rather than a single level at which a hull will appear
- This would also combine with this ticket on adding ArmorTable to minimise the number of shipclasses needed to flesh out NPC diversity
- More control over how many ships appear (currently we only have a maximum count I think)
- The number of ships at a broker should ideally be set in the same place (currently a properties value) as the stocking criteria, not in the dockscreen action element as it is now (Example of the current system below)
<Action id="actionBuyShip">
(scrShowScreen gScreen &dsRPGShipBroker; { maxCount: 10 })
</Action>
Basically, fine controls and filtering tools for inventory. Currently we can point to a pile of ships and say "go wild", but we can't really do much more than that. The more control that can be given over shipyard inventories the more developers and modders can do with them.
relanat 8 Nov 2024:
wolfy 7 Dec 2024:
We are working on a PR that addresses some of these issues.
- Rarity values: this is actually supported, see george's current ships in vanilla:
frequency= "uncommon"
- Filters for shipyard sales: implementing type property filtering in typFind criteria is going to be rather non-trivial, so that will need to be done in a separate ticket.
- As an alternative, we are updating the vanilla ships with additional attributes already used in TSB. This covers a few size classes, and distinguishes between combat ships, freighters, and ships that dont really fit either of those (ex, the sapphire)
- Specifying a range of levels is also non-trivial
- It will now be possible to specify a minCount of ships to generate, and to get randomized ships (ships with the
shipbrokerRandomizedClass
attribute) to show up multiple times. How it works: the system will try a single pass using the current method of generating 1 of every ship type, subtracting away rarer ships on a roll, and then it will repeatedly attempt to generate the subset of ships it can spawn that have the shipbrokerRandomizedClass attribute until it generates enough ships to fill minCount. If it cant generate any additional ships, it will give up even if minCount has not been reached.
wolfy 26 May 2025:
Resolve
Archive
Reopen
Create
Edit
Save
Attach File
Cancel Edit