In-Development TradeDangerous: power-user trade optimizer

Actually, yes, that should help. All we need in that case is a list of all the types of stations that are mobile, which I'm willing to bet consists of only Mega Ships and maybe one or two other types.

EDIT: Yeah, I'm pretty sure it's just the Megaships:
"type_id":1,"type":"Civilian Outpost"
"type_id":2,"type":"Commercial Outpost"
"type_id":3,"type":"Coriolis Starport"
"type_id":4,"type":"Industrial Outpost"
"type_id":5,"type":"Military Outpost"
"type_id":6,"type":"Mining Outpost"
"type_id":7,"type":"Ocellus Starport"
"type_id":8,"type":"Orbis Starport"
"type_id":9,"type":"Scientific Outpost"
"type_id":11,"type":"Unknown Outpost"
"type_id":12,"type":"Unknown Starport"
"type_id":13,"type":"Planetary Outpost"
"type_id":14,"type":"Planetary Port"
"type_id":15,"type":"Unknown Planetary"
"type_id":16,"type":"Planetary Settlement"
"type_id":17,"type":"Planetary Engineer Base"
"type_id":19,"type":"Megaship"
"type_id":20,"type":"Asteroid Base"

I wonder what happened to type_id 10
 
Other than that one odd orbis station (which was the test for moving stations and is now a special case with lore/backstory) I (don't?) believe there are any other station types which move. At least at present.

Cool. I just need the name of that one station then.

I wonder what happened to type_id 10

No idea, but probably the same thing that happened to type_id 18.

EDIT: Hmm... Looks like I'll need to modify the Station table to include the station type.
 
Last edited:
So, the commodities schema doesn't include the ls from star, so that won't get updated until the next EDDB dump without a rewrite to the listener to include journals messages and special processing for those. I don't really want to do that just to update the ls when it'll happen on its own with the dump....

I think just getting the right system should be enough, yeah?
 
Okay, both EDDBlink plugin and eye-TD have been updated to include the type_id of the station so the listener can use that to track the mobile stations.

You won't need to do a clean run if you upgrade, BTW, as it will add the column to the existing database if it's not there already.

Working on the listener part now.

EDIT: In case you already updated, I found a small bug- some of the entries in the jsonl don't have a value for type_id, so there;s an update that deals with that case.
 
Last edited:
I'm nowhere near any of them.

Except that it seems no one currently playing ED has been docking at any of the megaships, everything is looking good.
 
Last edited:
Okay, someone docked at Jaques Station in Colonia, so I was able to verify everything I need to:

The dict is being built correctly, with mobile stations being assigned as "MEGASHIP/STATION_NAME" instead of "SYSTEM_NAME/STATION_NAME" so that processing is easier for them.

The message processor successfully finds the "MEGASHIP/" stations.

Normal stations that stay frakkin' put are unaffected by this change.

I've got some debug text to remove and then there'll be a push.

If you haven't updated the plugin and decide to update the listener, you'll need to do so before running the listener. You don't need to run the plugin, the listener will do it, you just have to make sure it's been updated.

You don't need to clean the DB, but it is recommended because if you don't, the stations in the DB won't be updated with the type_id until the next EDDB update occurs. This won't cause any issues, but updates to mobile stations that have moved to a new system won't occur until that happens, because the plugin handles updating the stations' type_ids, and it won't do that until it has new data to toss in, so you'll still see "ERROR: Not found in Stations: " messages until the EDDB update.
 
Last edited:
So, that was a lot of work I did, and none of it was what I woke up intending to do, which was work on the oldata padsize thing.

Thanks Tromador! :D
 
Thanks Tromador! :D

You are welcome, I am glad to have provided an entertaining diversion.

Don't forget though - working on a tool for a game is often a fun and rewarding activity, but try to get some decent gameplay in to balance.

I will push to server after some sleep (if my insomnia ever quits - stupid illness, stupid meds).
 
Last edited:
Excuse me, who was it that said the default penalty is 0.05?

Code:
# Penalty is expressed as percentage, reduce it to a multiplier
        if tdenv.lsPenalty:
            lsPenalty = tdenv.lsPenalty / 100
        else:
            lsPenalty = 0

Let me just go ahead and fix that.
 
Is that re: ls penalty?

The boost part of the penalty equation, yes.

But apparently the default penalty is not 0.05, but 0, as you can see in the code snippet above, which means unless an lspenalty is passed on the command line, ls distance isn't factored in at all. So, I reverted the boost and fixed the default setting. If it still turns out that high distance stations are showing up a lot, I'll revisit this.

I'm also pretty doubtful that a low distance hop would affect the likelihood of seeing a high distance hop, so if I do revisit it, I'll probably try sharpening the drop curve before I do any adjusting to the boost curve.
 
Last edited:
Yup. Sounds good - with the following correction.

It was I who stated the default setting of 0.5 (not 0.05) as per the documentation. Thus you need to either match the existing document, or if that is not a sensible setting with your new curve, then we need to update the doc.

Edit: Might not be a bad idea to give advice in the documentation as to some reasonable upper and lower limits for this setting.

Code:
 --ls-penalty N.NN
 --lsp N.NN
   DEFAULT: 0.5
   Reduces the score of routes by this percentage for every 1000ls
   you have to travel to stations, which helps prioritize routes
   with a shorter supercruise time.
   e.g.
     --ls-penalty 2.5
     --lsp=0              (disables this feature)
 
Last edited:
Speaking of documentation, I am planning to really cut down on the length of that readme and migrate the information into the wiki. It's completely lost down the page under the source files and it doesn't make sense to me to effectively have two lots of documentation, often repeating the same information.
 
Back
Top Bottom