Modding the VoidExpanse

Started by MrVoff, November 20, 2013, 01:05:21 AM

Lurler

The way all bonuses add up together is somewhat complicated, but the basic idea is that all numeric values are added first and THEN all bonus (%) values are added on top of that. So, it would be 3000 in this case.

Hammish

Yar, I knew from analyzing the javascript that flat values were added in first, calculated, and then percentiles added in.  Also clarified this (and I forgot I had) when I added in my new defensive tech tree; it has both flat bonuses (good for lighter ships) and percentile bonuses (great for larger ships), and you can tell from the final number how it handles those.

I just wasn't sure how it'd parse it if you had two percentile values from different sources (it seems like the game treats effects from gear, skills and buffs all differently in the calc.) :)

Hammish

So, time to start some questions for 1.4 with the changes. :)

Big one coming to mind is this: are the overreaching skill categories hardcoded into the UI or are there XML files for it?  I was never able to find the data for them but it would be a nice aspect to be able to change via modding.  I've obviously been able to revamp the skills themselves but never the headers/categories.

ai_enabled

Hammish, yes, there are not yet available for modding as they're hardcoded in the common client-server code. We could improve it in the future versions.

Hammish

If you ever do, let me know.  I'd hope it'd be a small change if it were, really, just changing the hardcode in that portion of the GUI to point to an XML or TXT instead. :)

ComVlad

I'm sorry if this question has already been answered but how do you add an npc to stations? I've been digging through the files but I just cant seem to find which one determines what npc are available on which station.

ai_enabled

#81
ComVlad, you need to spawn the NPC and then dock him to station. For example:

var ship_id = generator.AddNPCShipToSystem("Npc name goes here", "BaseSitter", 5, "special_human_techship", system_id, 1000, 1000, { class: "order.scientist", unique_id: "scientist.unique_id_goes_here", meta: "human", sex: "male", outfit: "science" });
relations.SetShipFaction(ship_id, "order");
generator.DockShipToBase(ship_id, station_id);

Please note you need to provide the system_id, station_id and fill the name and unique_id (if you need it).
"Dock" means immediately teleporting ship to the station.