Post by Gibbon on Nov 23, 2007 9:51:36 GMT
1. Files to mod
I'll explain details later. I will now just mention the files that need to be modded.
The following three files set up the starting values of the factions, how they interact with each other. These files are where adding a new faction begins. There is no particular order, but treat them as a trinity: if you add a faction to one of them, it should also be in the other two. Errors within and between these files, will render desktop crashes even when you just start up the game (You'll probably won't even make it to the starting menu).
# DATA\initialworld.ini
# DATA\MISSIONS\Empathy.ini
# DATA\MISSIONS\M13 <-- this is an OpenSP file that is considerable different from the original file
The following two files need an entry for the new faction too, but they don't trigger a crash if you forgot them. I only discovered them recently, when my new factions where already fying around in Sirius without any apparent problems. Nevertheless, for completeness sake, you need to mod them too:
# EXE\newplayer.fl
# EXE\mpnewcharacter.fl
Note that these are files with the extension .fl You need the FL Save editor to edit newplayer.fl , but, strangely enough, mpnewcharacter.fl needs simply to be editted with notepad.
Now, the above files lay the foundation for a new faction, but to actually set them up, you need to mod:
# DATA\MISSIONS\faction_prop.ini
Each faction uses NPC-ships; in a way this is outside the scope of this -basic- tutorial, but nevertheless I will address this shortly. The NPC-ships are arranged in:
# DATA\MISSIONS\npcships.ini
To arrange what goods they carry around you need to mod:
# DATA\EQUIPMENT\commodities_per_faction.ini
I would almost forget:
# DATA\RANDOMMISSIONS\VignetteParams.ini
Which seems, among other things, to arrange what factions offer which kind of mssions.
In the next chapters I'll elaborate on each of the files mentioned.
2. modding DATA\initialworld.ini
Initialworld.ini starts with an entry [locked_gates which is of no concern for us now.
This file arrange how the factions like each other - and themselves! - at the beginning of the game.
The entry for the Liberty Navy is:
--------------------------------------------------------------------------------
[Group
nickname = li_n_grp
ids_name = 196846
ids_info = 66200
ids_short_name = 196895
rep = 0.91, li_n_grp
rep = 0.91, li_lsf_grp
rep = 0.91, li_p_grp
rep = 0.65, br_n_grp
rep = 0.65, br_p_grp
rep = 0.65, ku_n_grp
rep = 0, ku_p_grp
rep = 0.65, rh_n_grp
rep = 0, rh_p_grp
rep = 0.65, co_alg_grp
rep = 0.65, co_be_grp
rep = 0.65, br_m_grp
rep = 0.65, co_nws_grp
rep = 0.91, co_hsp_grp
rep = 0.91, co_ic_grp
rep = 0, co_khc_grp
rep = 0.65, co_kt_grp
rep = 0, rh_m_grp
rep = 0.91, co_me_grp
rep = 0.91, co_ni_grp
rep = 0.91, co_os_grp
rep = 0.65, co_rs_grp
rep = 0.65, co_shi_grp
rep = 0.91, co_ss_grp
rep = 0.65, co_ti_grp
rep = 0.91, co_vr_grp
rep = 0, fc_bd_grp
rep = 0, fc_b_grp
rep = -0.65, fc_c_grp
rep = 0, fc_fa_grp
rep = 0, fc_g_grp
rep = 0, fc_gc_grp
rep = 0, fc_h_grp
rep = 0, fc_j_grp
rep = -0.65, fc_lh_grp
rep = -0.65, fc_lr_grp
rep = 0, fc_lwb_grp
rep = 0, fc_m_grp
rep = -0.65, fc_ou_grp
rep = 0, fc_rh_grp
rep = 0, fc_or_grp
rep = -0.65, fc_u_grp
rep = -0.65, fc_x_grp
rep = 0, gd_gm_grp
rep = 0, fc_uk_grp
rep = -0.65, fc_n_grp
rep = 0.91, fc_ln_grp
rep = 0.65, fc_kn_grp
rep = 0.65, fc_rn_grp
rep = 0, fc_ouk_grp
rep = 0, fc_q_grp
rep = 0, fc_f_grp
rep = 0, gd_im_grp
rep = 0, gd_z_grp
rep = 0, gd_bh_grp
--------------------------------------------------------------------------------
There are some notable things here:
The game uses obly 5 values, and after some crashes, I decided to stick to these, which is my advide to you (but please let us know if you've successfully used another value in this file). They are:
0.91
0.65
0
-0.3
-0.65
and they express how much the faction likes the other factions.
Note that this value should cross-correspond! So it the Libert Navy (li_n_grp) has a line
--------------------------------------------------------------------------------
rep = 0.65, co_alg_grp
--------------------------------------------------------------------------------
ALG Waste Disposal (co_alg_grp) will have the line:
--------------------------------------------------------------------------------
rep = 0.65, li_n_grp
--------------------------------------------------------------------------------
Note that the faction like itself the best possible: 0.91 .
Note that the order in which the faction-reps are displayed at each faction entry, is always the same. It corresponds to the order of the faction entries themselves. Actually I don't think
that it will matter if you reverse things, but I see no reason to try that out.
Now, what you must do when uyou add a new faction, is
a) create a new entry for your faction, with all the reps of the other factions,
and
b) put an empathy rate for this new faction at all the other factions' entries.
This is a lot of work, and because incorrect entries can trigger a crash, I stronhly advise you to just use a value of 0 for any new entry. Implement your faction as a totally neutral one; you can always change the rep-values afterwards. (But of course, I say this from my own perspective, and I suffer from a tendency to behave disorganized )
Another tip is: if you want to add a couple of factions, do them at the same time. If you add, say, 3 factions at the same time, you will only have to go through initialworld.ini once. But it might not be wise to do this on your first time.
Anyway adding a faction to initialworld.ini will look like this:
Allow me to introduce you to the Vereenigde Omega Compagnie , the reincarnation of the Vereenigde Oost-Indische Compagnie a Dutch trading company from the 17th century which was the first multinational ever (inluding an imperialist, racist attitude towards the locals in the colonies, but wir haben daß nie gewust ). Btw, did you know the Dutch settled New York (called Nieuw Amsterdam) and discovered Tasmania (named after the Dutch explorer Abel Tasman, who himself called this island Van Diemen's land, after his boss). It was only after the British came to the international scene when the world started to become really messy Just kidding of course, the world has always been messy.
Anyway, in my mod the VOC is chartering the unknown Omega systems, and they have the nickname
nf_voc_grp :
--------------------------------------------------------------------------------
[Group
nickname = nf_voc_grp
ids_name = 196902 *
ids_info = 464752 *
ids_short_name = 206902 *
rep = 0, li_n_grp
rep = 0, li_lsf_grp
rep = 0, li_p_grp
rep = 0, br_n_grp
rep = 0, br_p_grp
rep = 0, ku_n_grp
rep = 0, ku_p_grp
rep = 0, rh_n_grp
rep = 0, rh_p_grp
rep = 0, co_alg_grp
rep = 0, co_be_grp
rep = 0, br_m_grp
rep = 0, co_nws_grp
rep = 0, co_hsp_grp
rep = 0, co_ic_grp
rep = 0, co_khc_grp
rep = 0, co_kt_grp
rep = 0, rh_m_grp
rep = 0, co_me_grp
rep = 0, co_ni_grp
rep = 0, co_os_grp
rep = 0, co_rs_grp
rep = 0, co_shi_grp
rep = 0, co_ss_grp
rep = 0, co_ti_grp
rep = 0, co_vr_grp
rep = 0, fc_bd_grp
rep = 0, fc_b_grp
rep = 0, fc_c_grp
rep = 0, fc_fa_grp
rep = 0, fc_g_grp
rep = 0, fc_gc_grp
rep = 0, fc_h_grp
rep = 0, fc_j_grp
rep = 0, fc_lh_grp
rep = 0, fc_lr_grp
rep = 0, fc_lwb_grp
rep = 0, fc_m_grp
rep = 0, fc_ou_grp
rep = 0, fc_rh_grp
rep = 0, fc_or_grp
rep = 0, fc_u_grp
rep = 0, fc_x_grp
rep = 0, gd_gm_grp
rep = 0, fc_uk_grp
rep = 0, fc_n_grp
rep = 0, fc_ln_grp
rep = 0, fc_kn_grp
rep = 0, fc_rn_grp
rep = 0, fc_ouk_grp
rep = 0, fc_q_grp
rep = 0, fc_f_grp
rep = 0, gd_im_grp
rep = 0, gd_z_grp
rep = 0, gd_bh_grp
rep = 0.91, nf_voc_grp <-- The faction likes itself!
--------------------------------------------------------------------------------
And, to any other faction entry, the line
--------------------------------------------------------------------------------
rep = 0, nf_voc_grp
--------------------------------------------------------------------------------
should be added.
* NB Chips recently showed how to re-arrange the faction's short names, so that there could be created place within the original NameResource.dll. so that custom factions' names can be made to show up in bribes and missions - which would be much harder to do when using a custom dll, because there seems to some formula in the game where the names used in bribes and missions, is about 131834 higher than the factions' ids_names. I won't cover that in this version, as that post is still fresh on the forum. I might include it later, of course giving full credits to Chips.
There is also the matter of the Factions that don't show up on the rep_menu, which was fixed by Anton. I also won't address that matter now, as it's not a part of creating a new faction.
=-=-=-=-=-=
3. modding DATA\MISSIONS\Empathy.ini
In Empathy.ini it is arranged how factions have a concern for what happens to their riends and foes. If you make a habit of killing Ageira ships, Deep Space will start to dislike you because Ageira is their ally.
Now, Empathy.ini works much the same as initialworld.ini , as there is an entry for each faction, containing values for the other factions; in this case empathy_rate s.
--------------------------------------------------------------------------------
[RepChangeEffects
group = li_n_grp
event = object_destruction, -0.030000
event = random_mission_success, 0.085900
event = random_mission_failure, -0.045000
event = random_mission_abortion, -0.067500
empathy_rate = li_lsf_grp, 0.400000
empathy_rate = li_p_grp, 0.350000
empathy_rate = br_n_grp, 0
empathy_rate = br_p_grp, 0
empathy_rate = ku_n_grp, 0
empathy_rate = ku_p_grp, 0
empathy_rate = rh_n_grp, 0
empathy_rate = rh_p_grp, 0
empathy_rate = co_shi_grp, 0.050000
empathy_rate = co_khc_grp, 0
empathy_rate = co_kt_grp, 0.050000
empathy_rate = br_m_grp, 0
empathy_rate = co_me_grp, 0.275000
empathy_rate = co_be_grp, 0.050000
empathy_rate = co_rs_grp, 0.050000
empathy_rate = co_vr_grp, 0.250000
empathy_rate = co_ni_grp, 0.300000
empathy_rate = rh_m_grp, 0
empathy_rate = co_ti_grp, 0.050000
empathy_rate = co_ic_grp, 0.250000
empathy_rate = co_ss_grp, 0.300000
empathy_rate = co_hsp_grp, 0.250000
empathy_rate = co_alg_grp, 0.050000
empathy_rate = co_os_grp, 0.200000
empathy_rate = co_nws_grp, 0.050000
empathy_rate = fc_c_grp, 0
empathy_rate = fc_ou_grp, -0.400000
empathy_rate = fc_rh_grp, 0
empathy_rate = fc_bd_grp, 0
empathy_rate = fc_j_grp, -0.050000
empathy_rate = fc_h_grp, 0
empathy_rate = fc_m_grp, 0
empathy_rate = fc_x_grp, -0.450000
empathy_rate = fc_b_grp, 0
empathy_rate = fc_g_grp, 0
empathy_rate = fc_lh_grp, -0.350000
empathy_rate = fc_u_grp, -0.025000
empathy_rate = fc_gc_grp, 0
empathy_rate = fc_lwb_grp, 0
empathy_rate = fc_fa_grp, 0
empathy_rate = fc_lr_grp, -0.250000
empathy_rate = fc_or_grp, 0
empathy_rate = gd_gm_grp, 0
empathy_rate = fc_uk_grp, 0
empathy_rate = fc_n_grp, 0
empathy_rate = fc_ln_grp, 0
empathy_rate = fc_kn_grp, 0
empathy_rate = fc_rn_grp, 0
empathy_rate = fc_ouk_grp, 0
empathy_rate = fc_q_grp, 0
empathy_rate = fc_f_grp, 0
empathy_rate = gd_im_grp, 0
empathy_rate = gd_z_grp, 0
empathy_rate = gd_bh_grp, 0.050000
--------------------------------------------------------------------------------
Now there are two notable differences in Empathy.ini from initialworld.ini :
1. In Empathy.ini a faction does not have an empathy_rate line for itself that looks like the empathy_rates for the other factions. Instead, the netry begins with:
--------------------------------------------------------------------------------
event = object_destruction, -0.030000
event = random_mission_success, 0.085900
event = random_mission_failure, -0.045000
event = random_mission_abortion, -0.067500
--------------------------------------------------------------------------------
which arranges how pissed they like you after finishing, or screwing up, a mission, or blowing up their stuff.
2. The values don't seem to be limited to only 5. It seems to be possible to have any value from -1.000000 to 1.000000. To keep it safe though, use values that the original game also uses. Negative ons for factions they don't like, and positive ones for factions they do like.
Please thinklogically, and rather simple. The game doesn't like ambivalent factions! meaning: a faction can;t be friends with his friend's enemy. That would pose a loyality conflict when those two other factions start killing each other!
It might be smart, just like with initialworld.ini , to set up a faction as being totally neutral in Empathy.ini as well.
=-=-=-=-=-=-=
4. modding DATA\MISSIONS\M13
As I said, this is an exlcusive OpenSp file. The original doesn't look like it, which to me proves Xerxes' genius. (Does he still come to this forum? Can't remember having read one post of him, but his mod saved from that horrible SP stroy line.)
Anyway, as far as I understand it, this file arranges how the player relates to each faction, using the format:
--------------------------------------------------------------------------------
Act_SetRep = Player, li_n_grp, 0.150000
--------------------------------------------------------------------------------
You should create such a line for your custom faction:
--------------------------------------------------------------------------------
Act_SetRep = Player, nf_voc_grp, 0.250000
--------------------------------------------------------------------------------
You can of course change the vallues of each original faction too.
=-=-=-=-=-=-=
5. modding EXE\newplayer.fl and EXE\mpnewcharacter.fl
As mentioned before, newplayer.fl should be editted with the FL Save Editor, and mpnewcharacter.fl with NotePad.
In each file (their contents are much the same) there is a block:
--------------------------------------------------------------------------------
house = 0, li_n_grp
house = 0, li_lsf_grp
house = 0, li_p_grp
house = 0, etc.
etc.
etc.
--------------------------------------------------------------------------------
You should add a similar line for your faction:
--------------------------------------------------------------------------------
house = 0, nf_voc_grp
--------------------------------------------------------------------------------
=-=-=-=-=-=-=
6. modding DATA\MISSIONS\faction_prop.ini
Although there is a lot of important stuff in this file, I think most of it will speak for itself. This is the netry I made for the my VOC faction:
--------------------------------------------------------------------------------
[FactionProps
affiliation = nf_voc_grp
legality = lawful
nickname_plurality = singular
msg_id_prefix = gcs_refer_faction_co_ss
jump_preference = jumpgate
npc_ship = co_alg_ge_fighter_d1 <-- refer to ships in DATA\MISSIONS\npcships.ini; #1
npc_ship = co_alg_ge_fighter_d2
npc_ship = co_alg_ge_fighter_d3
npc_ship = co_alg_ge_fighter2_d4
npc_ship = co_alg_ge_fighter2_d5
npc_ship = co_alg_ge_fighter2_d6
npc_ship = co_alg_ge_fighter2_d7
npc_ship = co_alg_ge_fighter4_d8
npc_ship = co_alg_ge_fighter4_d9
npc_ship = co_alg_ge_fighter4_d10
npc_ship = co_alg_ge_transport_d1
npc_ship = co_alg_ge_transport_d2
npc_ship = co_alg_ge_transport_d3
npc_ship = co_alg_ge_transport_d4
npc_ship = co_alg_ge_transport_d5
npc_ship = co_alg_ge_large_transport_d5
npc_ship = co_alg_ge_large_transport_d6
npc_ship = co_alg_ge_large_transport_d7
npc_ship = co_alg_ge_large_transport_d8
npc_ship = co_alg_ge_large_transport_d9
npc_ship = co_alg_ge_train_d9
npc_ship = co_alg_ge_train_d10
npc_ship = co_alg_ge_train_d11-19
npc_ship = gd_im_ge_large_train_d12
npc_ship = gd_im_ge_large_train_d13
npc_ship = gd_im_ge_large_train_d14-19
npc_ship = gd_im_ge_armored_d1-12
npc_ship = gd_im_ge_armored_d13-19
npc_ship = co_be_ge_fighter4_d11-19
npc_ship = co_hsp_li_freighter_d1
npc_ship = co_hsp_li_freighter_d2-19
npc_ship = co_me_ge_lifter_d1-19
npc_ship = co_me_ge_repair_d1-19
voice = pilot_f_leg_m01
voice = pilot_f_leg_f01
mc_costume = mc_co
space_costume = li_captain_head, voc_male_elite_body, comm_ge_generic2
space_costume = li_rockford_head, voc_male_elite_body, comm_li_hatcher
space_costume = li_sales_head_hat, voc_male_elite_body, comm_ge_generic2
space_costume = pl_male2_head, voc_male_elite_body, comm_li_hatcher
space_costume = pl_male5_head, voc_male_elite_body, comm_ge_generic2
space_costume = pl_male8_head_hat, voc_male_elite_body, comm_li_hatcher
space_costume = rh_newscaster_head_gen_hat, voc_female_elite_body, comm_ge_generic2_female
space_costume = rh_newscaster_head_gen_hat, voc_female_elite_body, comm_li_hatcher_female
space_costume = rh_newscaster_head_gen_hat, voc_female_elite_body, comm_ge_generic2_female
space_costume = pl_female2_head, voc_female_elite_body, comm_li_hatcher_female
space_costume = pl_female2_head, voc_female_elite_body, comm_ge_generic2_female
space_costume = pl_female2_head, voc_female_elite_body, comm_li_hatcher_female
firstname_male = 245184, 245243 <-- surnames for guys, randomly picked from between these values; #2
firstname_female = 245244, 245303 <-- surnames for girls, randomly picked from between these values; #2
lastname = 245303, 245399 <-- family names, randomly picked from between these values; #2
rank_desig = 197065, 197066, 197067, 4, 8/b <-- rank titles, lik Cpt. and Lt. ; #3[b
formation_desig = 197821, 197828
large_ship_desig = 196995
large_ship_names = 462000, 462016 <-- Names for battle ships and/or trains etc., randomly picked from between these values
formation = fighters, fighter_basic <-- defined in DATA\MISSIONS\formations.ini; #4
formation = freighters, freighter_liberty
formation = freighters2, freighter2_liberty
formation = transports, transport_liberty
formation = transports2, transport2_liberty
--------------------------------------------------------------------------------
Notes:
In general, you can of course modify all of these values. Just make sure that you know what you are doing
Some factions, but not all, have scan for lines:
--------------------------------------------------------------------------------
The liberty Navy:
scan_for_cargo = commodity_alien_artifacts, 1
scan_for_cargo = commodity_cardamine, 2
scan_announce = true
scan_chance = 0.300000
The Outcasts:
scan_for_cargo = commodity_vips, 2
scan_for_cargo = commodity_troops, 2
scan_for_cargo = commodity_recruits, 2
scan_for_cargo = commodity_pow, 2
scan_for_cargo = commodity_prisoners, 2
scan_for_cargo = commodity_clenacid, 2
scan_for_cargo = commodity_syncard, 2
scan_for_cargo = commodity_alien_organisms, 2
scan_for_cargo = commodity_basic_alloys, 2
scan_for_cargo = commodity_construction_machinery, 2
scan_for_cargo = commodity_consumer_goods, 1
scan_for_cargo = commodity_engine_components, 2
scan_for_cargo = commodity_fertilizers, 2
scan_for_cargo = commodity_food, 0
scan_for_cargo = commodity_gold, 2
scan_for_cargo = commodity_H_fuel, 2
scan_for_cargo = commodity_luxury_consumer_goods, 2
scan_for_cargo = commodity_mox_fuel, 2
scan_for_cargo = commodity_optronics, 2
scan_for_cargo = commodity_oxygen, 0
scan_for_cargo = commodity_pharm, 0
scan_for_cargo = commodity_polymers, 2
scan_for_cargo = commodity_scrap_metal, 0
scan_for_cargo = commodity_ship_hull_panels, 2
scan_for_cargo = commodity_sidearms, 2
scan_for_cargo = commodity_water, 0
scan_announce = false
scan_chance = 0.300000
--------------------------------------------------------------------------------
They scan for the commodities listed, and do or do not anounce that they are scanning. In both cases, there is a chance of 0.3 that they'll scan you. The number behind each commodity seems to be a priority number.
#1 When you first make a faction, use existing npc-ships, as defined in DATA\MISSIONS\npcships.ini
You can of course alter a ship's loadout, or a ships statistics, or even add an entirely new ship to the game and use that as an npc_ship, but that is beyond the scope of this tutorial.
Nevertheless, the NPC ships are what makes a faction unique. I won't elaborate on the ship archetypes or statistiscs, but one thing that i should mention, is that the npc_definition includes with a pilot (style, dexterity). See chappter 7 for more info.
#2 Not all factions use all kinds of names. study the various entries in faction_prop.ini
#3 I must admit I dont know where the 4, 8 stands for; probably the level where a higher rank starts.
#4 Eventually you can mod the formations as well, but in the beginning I advise to keep it simple, as anything you will need, will most probably be there.
7. modding DATA\MISSIONS\npcships.ini
My advise is to first set up your faction with npc-ships that already exist. But sooner or later you'll want to have your own. I won't go all the way, but give a short intro.
A typical entry in npcships.ini looks like:
--------------------------------------------------------------------------------
[NPCShipArch
nickname = co_alg_ge_fighter_d1 <-- this nickname should correspon to the npc_ship = line in faction_prop.ini
level = d1 <-- this is the level evoked in encounters!
loadout = co_ge_fighter_loadout01
ship_archetype = ge_fighter
state_graph = FIGHTER
pilot = pilot_company_med <-- the pilot
npc_class = lawful, class_fighter, d1
--------------------------------------------------------------------------------
Now, I won't address the npc_class, as I feel that it speaks itself. Study more entries.
Also, I will leave the ship_archetype and loadout for what they are. Of course you can mod these too.
But I consider the pilot an important facet of a faction. They live in DATA\MISSIONS\pilots_population.ini and in this file it seems thatalso their behaviour can be defined. But I'v never don that, as I'm content with the pilots that are already provided by the game as it is.
There are pilot types (e.g. company pilots, navy pilots, and pirate pilots) each of which seems to be divided in 4 classes of dexterity: easy, med, hard, ace. These characteristics can eaily be read from their nicknames.
=-=-=-=-=-=-=
8. modding DATA\EQUIPMENT\commodities_per_faction.ini
This file entirely speaks for itself. I will only give two examples from the original game:
--------------------------------------------------------------------------------
[FactionGood
faction = rh_p_grp
[FactionGood
faction = co_shi_grp
MarketGood = commodity_alien_organisms, 0, 0
MarketGood = commodity_basic_alloys, 0, 0
MarketGood = commodity_boron, 0, 0
MarketGood = commodity_construction_machinery, 0, 0
MarketGood = commodity_consumer_goods, 0, 0
MarketGood = commodity_diamonds, 0, 0
MarketGood = commodity_engine_components, 0, 0
MarketGood = commodity_fertilizers, 0, 0
MarketGood = commodity_food, 0, 0
MarketGood = commodity_gold, 0, 0
MarketGood = commodity_H_fuel, 0, 0
MarketGood = commodity_high_temp_alloys, 0, 0
MarketGood = commodity_hydrocarbons, 0, 0
MarketGood = commodity_luxury_consumer_goods, 0, 0
MarketGood = commodity_luxury_food, 0, 0
MarketGood = commodity_mining_machinery, 0, 0
MarketGood = commodity_mox_fuel, 0, 0
MarketGood = commodity_niobium, 0, 0
MarketGood = commodity_optical_chips, 0, 0
MarketGood = commodity_optronics, 0, 0
MarketGood = commodity_oxygen, 0, 0
MarketGood = commodity_pharm, 0, 0
MarketGood = commodity_polymers, 0, 0
MarketGood = commodity_scrap_metal, 0, 0
MarketGood = commodity_sidearms, 0, 0
MarketGood = commodity_silver, 0, 0
MarketGood = commodity_super_alloys, 0, 0
MarketGood = commodity_superconductors, 0, 0
MarketGood = commodity_toxic_waste, 0, 0
MarketGood = commodity_water, 0, 0
--------------------------------------------------------------------------------
meaning: the Rheinland plice don't carry anything, while Samura ships can be seen carrying around the commodities mentioned.
=-=-=-=-=-=-=
9. modding DATA\RANDOMMISSIONS\VignetteParams.ini
This file seems to be dealing with random missions, of which I my knowledge is insufficient. But looking at the file, it seems that you can add your new faction's nickname to mission types, so that it will offer that type of missions.
=-=-=-=-=-=-=
Well, that's about it. I will use the edit-function to edit any errors and to add useful stuff people come up with.
=-=-=-=-=-=-=
For the vignette_params mission - its the types of missions that factions hand out. You can use FLED-IDS to find out which mission is what type (by the mission offer text) and then if you add your factions names, it will hand out that type of mission. I have used this in giving the order and LSF missions against the nomads - simply because it was VERY stupid to have "kill these nomads and tractor in the mutagen" missions - so i ONLY choose the "kill the ships" missions - for aesthetic purposes. So adding your factions name there is the type of mission they give out.
I'll explain details later. I will now just mention the files that need to be modded.
The following three files set up the starting values of the factions, how they interact with each other. These files are where adding a new faction begins. There is no particular order, but treat them as a trinity: if you add a faction to one of them, it should also be in the other two. Errors within and between these files, will render desktop crashes even when you just start up the game (You'll probably won't even make it to the starting menu).
# DATA\initialworld.ini
# DATA\MISSIONS\Empathy.ini
# DATA\MISSIONS\M13 <-- this is an OpenSP file that is considerable different from the original file
The following two files need an entry for the new faction too, but they don't trigger a crash if you forgot them. I only discovered them recently, when my new factions where already fying around in Sirius without any apparent problems. Nevertheless, for completeness sake, you need to mod them too:
# EXE\newplayer.fl
# EXE\mpnewcharacter.fl
Note that these are files with the extension .fl You need the FL Save editor to edit newplayer.fl , but, strangely enough, mpnewcharacter.fl needs simply to be editted with notepad.
Now, the above files lay the foundation for a new faction, but to actually set them up, you need to mod:
# DATA\MISSIONS\faction_prop.ini
Each faction uses NPC-ships; in a way this is outside the scope of this -basic- tutorial, but nevertheless I will address this shortly. The NPC-ships are arranged in:
# DATA\MISSIONS\npcships.ini
To arrange what goods they carry around you need to mod:
# DATA\EQUIPMENT\commodities_per_faction.ini
I would almost forget:
# DATA\RANDOMMISSIONS\VignetteParams.ini
Which seems, among other things, to arrange what factions offer which kind of mssions.
In the next chapters I'll elaborate on each of the files mentioned.
2. modding DATA\initialworld.ini
Initialworld.ini starts with an entry [locked_gates which is of no concern for us now.
This file arrange how the factions like each other - and themselves! - at the beginning of the game.
The entry for the Liberty Navy is:
--------------------------------------------------------------------------------
[Group
nickname = li_n_grp
ids_name = 196846
ids_info = 66200
ids_short_name = 196895
rep = 0.91, li_n_grp
rep = 0.91, li_lsf_grp
rep = 0.91, li_p_grp
rep = 0.65, br_n_grp
rep = 0.65, br_p_grp
rep = 0.65, ku_n_grp
rep = 0, ku_p_grp
rep = 0.65, rh_n_grp
rep = 0, rh_p_grp
rep = 0.65, co_alg_grp
rep = 0.65, co_be_grp
rep = 0.65, br_m_grp
rep = 0.65, co_nws_grp
rep = 0.91, co_hsp_grp
rep = 0.91, co_ic_grp
rep = 0, co_khc_grp
rep = 0.65, co_kt_grp
rep = 0, rh_m_grp
rep = 0.91, co_me_grp
rep = 0.91, co_ni_grp
rep = 0.91, co_os_grp
rep = 0.65, co_rs_grp
rep = 0.65, co_shi_grp
rep = 0.91, co_ss_grp
rep = 0.65, co_ti_grp
rep = 0.91, co_vr_grp
rep = 0, fc_bd_grp
rep = 0, fc_b_grp
rep = -0.65, fc_c_grp
rep = 0, fc_fa_grp
rep = 0, fc_g_grp
rep = 0, fc_gc_grp
rep = 0, fc_h_grp
rep = 0, fc_j_grp
rep = -0.65, fc_lh_grp
rep = -0.65, fc_lr_grp
rep = 0, fc_lwb_grp
rep = 0, fc_m_grp
rep = -0.65, fc_ou_grp
rep = 0, fc_rh_grp
rep = 0, fc_or_grp
rep = -0.65, fc_u_grp
rep = -0.65, fc_x_grp
rep = 0, gd_gm_grp
rep = 0, fc_uk_grp
rep = -0.65, fc_n_grp
rep = 0.91, fc_ln_grp
rep = 0.65, fc_kn_grp
rep = 0.65, fc_rn_grp
rep = 0, fc_ouk_grp
rep = 0, fc_q_grp
rep = 0, fc_f_grp
rep = 0, gd_im_grp
rep = 0, gd_z_grp
rep = 0, gd_bh_grp
--------------------------------------------------------------------------------
There are some notable things here:
The game uses obly 5 values, and after some crashes, I decided to stick to these, which is my advide to you (but please let us know if you've successfully used another value in this file). They are:
0.91
0.65
0
-0.3
-0.65
and they express how much the faction likes the other factions.
Note that this value should cross-correspond! So it the Libert Navy (li_n_grp) has a line
--------------------------------------------------------------------------------
rep = 0.65, co_alg_grp
--------------------------------------------------------------------------------
ALG Waste Disposal (co_alg_grp) will have the line:
--------------------------------------------------------------------------------
rep = 0.65, li_n_grp
--------------------------------------------------------------------------------
Note that the faction like itself the best possible: 0.91 .
Note that the order in which the faction-reps are displayed at each faction entry, is always the same. It corresponds to the order of the faction entries themselves. Actually I don't think
that it will matter if you reverse things, but I see no reason to try that out.
Now, what you must do when uyou add a new faction, is
a) create a new entry for your faction, with all the reps of the other factions,
and
b) put an empathy rate for this new faction at all the other factions' entries.
This is a lot of work, and because incorrect entries can trigger a crash, I stronhly advise you to just use a value of 0 for any new entry. Implement your faction as a totally neutral one; you can always change the rep-values afterwards. (But of course, I say this from my own perspective, and I suffer from a tendency to behave disorganized )
Another tip is: if you want to add a couple of factions, do them at the same time. If you add, say, 3 factions at the same time, you will only have to go through initialworld.ini once. But it might not be wise to do this on your first time.
Anyway adding a faction to initialworld.ini will look like this:
Allow me to introduce you to the Vereenigde Omega Compagnie , the reincarnation of the Vereenigde Oost-Indische Compagnie a Dutch trading company from the 17th century which was the first multinational ever (inluding an imperialist, racist attitude towards the locals in the colonies, but wir haben daß nie gewust ). Btw, did you know the Dutch settled New York (called Nieuw Amsterdam) and discovered Tasmania (named after the Dutch explorer Abel Tasman, who himself called this island Van Diemen's land, after his boss). It was only after the British came to the international scene when the world started to become really messy Just kidding of course, the world has always been messy.
Anyway, in my mod the VOC is chartering the unknown Omega systems, and they have the nickname
nf_voc_grp :
--------------------------------------------------------------------------------
[Group
nickname = nf_voc_grp
ids_name = 196902 *
ids_info = 464752 *
ids_short_name = 206902 *
rep = 0, li_n_grp
rep = 0, li_lsf_grp
rep = 0, li_p_grp
rep = 0, br_n_grp
rep = 0, br_p_grp
rep = 0, ku_n_grp
rep = 0, ku_p_grp
rep = 0, rh_n_grp
rep = 0, rh_p_grp
rep = 0, co_alg_grp
rep = 0, co_be_grp
rep = 0, br_m_grp
rep = 0, co_nws_grp
rep = 0, co_hsp_grp
rep = 0, co_ic_grp
rep = 0, co_khc_grp
rep = 0, co_kt_grp
rep = 0, rh_m_grp
rep = 0, co_me_grp
rep = 0, co_ni_grp
rep = 0, co_os_grp
rep = 0, co_rs_grp
rep = 0, co_shi_grp
rep = 0, co_ss_grp
rep = 0, co_ti_grp
rep = 0, co_vr_grp
rep = 0, fc_bd_grp
rep = 0, fc_b_grp
rep = 0, fc_c_grp
rep = 0, fc_fa_grp
rep = 0, fc_g_grp
rep = 0, fc_gc_grp
rep = 0, fc_h_grp
rep = 0, fc_j_grp
rep = 0, fc_lh_grp
rep = 0, fc_lr_grp
rep = 0, fc_lwb_grp
rep = 0, fc_m_grp
rep = 0, fc_ou_grp
rep = 0, fc_rh_grp
rep = 0, fc_or_grp
rep = 0, fc_u_grp
rep = 0, fc_x_grp
rep = 0, gd_gm_grp
rep = 0, fc_uk_grp
rep = 0, fc_n_grp
rep = 0, fc_ln_grp
rep = 0, fc_kn_grp
rep = 0, fc_rn_grp
rep = 0, fc_ouk_grp
rep = 0, fc_q_grp
rep = 0, fc_f_grp
rep = 0, gd_im_grp
rep = 0, gd_z_grp
rep = 0, gd_bh_grp
rep = 0.91, nf_voc_grp <-- The faction likes itself!
--------------------------------------------------------------------------------
And, to any other faction entry, the line
--------------------------------------------------------------------------------
rep = 0, nf_voc_grp
--------------------------------------------------------------------------------
should be added.
* NB Chips recently showed how to re-arrange the faction's short names, so that there could be created place within the original NameResource.dll. so that custom factions' names can be made to show up in bribes and missions - which would be much harder to do when using a custom dll, because there seems to some formula in the game where the names used in bribes and missions, is about 131834 higher than the factions' ids_names. I won't cover that in this version, as that post is still fresh on the forum. I might include it later, of course giving full credits to Chips.
There is also the matter of the Factions that don't show up on the rep_menu, which was fixed by Anton. I also won't address that matter now, as it's not a part of creating a new faction.
=-=-=-=-=-=
3. modding DATA\MISSIONS\Empathy.ini
In Empathy.ini it is arranged how factions have a concern for what happens to their riends and foes. If you make a habit of killing Ageira ships, Deep Space will start to dislike you because Ageira is their ally.
Now, Empathy.ini works much the same as initialworld.ini , as there is an entry for each faction, containing values for the other factions; in this case empathy_rate s.
--------------------------------------------------------------------------------
[RepChangeEffects
group = li_n_grp
event = object_destruction, -0.030000
event = random_mission_success, 0.085900
event = random_mission_failure, -0.045000
event = random_mission_abortion, -0.067500
empathy_rate = li_lsf_grp, 0.400000
empathy_rate = li_p_grp, 0.350000
empathy_rate = br_n_grp, 0
empathy_rate = br_p_grp, 0
empathy_rate = ku_n_grp, 0
empathy_rate = ku_p_grp, 0
empathy_rate = rh_n_grp, 0
empathy_rate = rh_p_grp, 0
empathy_rate = co_shi_grp, 0.050000
empathy_rate = co_khc_grp, 0
empathy_rate = co_kt_grp, 0.050000
empathy_rate = br_m_grp, 0
empathy_rate = co_me_grp, 0.275000
empathy_rate = co_be_grp, 0.050000
empathy_rate = co_rs_grp, 0.050000
empathy_rate = co_vr_grp, 0.250000
empathy_rate = co_ni_grp, 0.300000
empathy_rate = rh_m_grp, 0
empathy_rate = co_ti_grp, 0.050000
empathy_rate = co_ic_grp, 0.250000
empathy_rate = co_ss_grp, 0.300000
empathy_rate = co_hsp_grp, 0.250000
empathy_rate = co_alg_grp, 0.050000
empathy_rate = co_os_grp, 0.200000
empathy_rate = co_nws_grp, 0.050000
empathy_rate = fc_c_grp, 0
empathy_rate = fc_ou_grp, -0.400000
empathy_rate = fc_rh_grp, 0
empathy_rate = fc_bd_grp, 0
empathy_rate = fc_j_grp, -0.050000
empathy_rate = fc_h_grp, 0
empathy_rate = fc_m_grp, 0
empathy_rate = fc_x_grp, -0.450000
empathy_rate = fc_b_grp, 0
empathy_rate = fc_g_grp, 0
empathy_rate = fc_lh_grp, -0.350000
empathy_rate = fc_u_grp, -0.025000
empathy_rate = fc_gc_grp, 0
empathy_rate = fc_lwb_grp, 0
empathy_rate = fc_fa_grp, 0
empathy_rate = fc_lr_grp, -0.250000
empathy_rate = fc_or_grp, 0
empathy_rate = gd_gm_grp, 0
empathy_rate = fc_uk_grp, 0
empathy_rate = fc_n_grp, 0
empathy_rate = fc_ln_grp, 0
empathy_rate = fc_kn_grp, 0
empathy_rate = fc_rn_grp, 0
empathy_rate = fc_ouk_grp, 0
empathy_rate = fc_q_grp, 0
empathy_rate = fc_f_grp, 0
empathy_rate = gd_im_grp, 0
empathy_rate = gd_z_grp, 0
empathy_rate = gd_bh_grp, 0.050000
--------------------------------------------------------------------------------
Now there are two notable differences in Empathy.ini from initialworld.ini :
1. In Empathy.ini a faction does not have an empathy_rate line for itself that looks like the empathy_rates for the other factions. Instead, the netry begins with:
--------------------------------------------------------------------------------
event = object_destruction, -0.030000
event = random_mission_success, 0.085900
event = random_mission_failure, -0.045000
event = random_mission_abortion, -0.067500
--------------------------------------------------------------------------------
which arranges how pissed they like you after finishing, or screwing up, a mission, or blowing up their stuff.
2. The values don't seem to be limited to only 5. It seems to be possible to have any value from -1.000000 to 1.000000. To keep it safe though, use values that the original game also uses. Negative ons for factions they don't like, and positive ones for factions they do like.
Please thinklogically, and rather simple. The game doesn't like ambivalent factions! meaning: a faction can;t be friends with his friend's enemy. That would pose a loyality conflict when those two other factions start killing each other!
It might be smart, just like with initialworld.ini , to set up a faction as being totally neutral in Empathy.ini as well.
=-=-=-=-=-=-=
4. modding DATA\MISSIONS\M13
As I said, this is an exlcusive OpenSp file. The original doesn't look like it, which to me proves Xerxes' genius. (Does he still come to this forum? Can't remember having read one post of him, but his mod saved from that horrible SP stroy line.)
Anyway, as far as I understand it, this file arranges how the player relates to each faction, using the format:
--------------------------------------------------------------------------------
Act_SetRep = Player, li_n_grp, 0.150000
--------------------------------------------------------------------------------
You should create such a line for your custom faction:
--------------------------------------------------------------------------------
Act_SetRep = Player, nf_voc_grp, 0.250000
--------------------------------------------------------------------------------
You can of course change the vallues of each original faction too.
=-=-=-=-=-=-=
5. modding EXE\newplayer.fl and EXE\mpnewcharacter.fl
As mentioned before, newplayer.fl should be editted with the FL Save Editor, and mpnewcharacter.fl with NotePad.
In each file (their contents are much the same) there is a block:
--------------------------------------------------------------------------------
house = 0, li_n_grp
house = 0, li_lsf_grp
house = 0, li_p_grp
house = 0, etc.
etc.
etc.
--------------------------------------------------------------------------------
You should add a similar line for your faction:
--------------------------------------------------------------------------------
house = 0, nf_voc_grp
--------------------------------------------------------------------------------
=-=-=-=-=-=-=
6. modding DATA\MISSIONS\faction_prop.ini
Although there is a lot of important stuff in this file, I think most of it will speak for itself. This is the netry I made for the my VOC faction:
--------------------------------------------------------------------------------
[FactionProps
affiliation = nf_voc_grp
legality = lawful
nickname_plurality = singular
msg_id_prefix = gcs_refer_faction_co_ss
jump_preference = jumpgate
npc_ship = co_alg_ge_fighter_d1 <-- refer to ships in DATA\MISSIONS\npcships.ini; #1
npc_ship = co_alg_ge_fighter_d2
npc_ship = co_alg_ge_fighter_d3
npc_ship = co_alg_ge_fighter2_d4
npc_ship = co_alg_ge_fighter2_d5
npc_ship = co_alg_ge_fighter2_d6
npc_ship = co_alg_ge_fighter2_d7
npc_ship = co_alg_ge_fighter4_d8
npc_ship = co_alg_ge_fighter4_d9
npc_ship = co_alg_ge_fighter4_d10
npc_ship = co_alg_ge_transport_d1
npc_ship = co_alg_ge_transport_d2
npc_ship = co_alg_ge_transport_d3
npc_ship = co_alg_ge_transport_d4
npc_ship = co_alg_ge_transport_d5
npc_ship = co_alg_ge_large_transport_d5
npc_ship = co_alg_ge_large_transport_d6
npc_ship = co_alg_ge_large_transport_d7
npc_ship = co_alg_ge_large_transport_d8
npc_ship = co_alg_ge_large_transport_d9
npc_ship = co_alg_ge_train_d9
npc_ship = co_alg_ge_train_d10
npc_ship = co_alg_ge_train_d11-19
npc_ship = gd_im_ge_large_train_d12
npc_ship = gd_im_ge_large_train_d13
npc_ship = gd_im_ge_large_train_d14-19
npc_ship = gd_im_ge_armored_d1-12
npc_ship = gd_im_ge_armored_d13-19
npc_ship = co_be_ge_fighter4_d11-19
npc_ship = co_hsp_li_freighter_d1
npc_ship = co_hsp_li_freighter_d2-19
npc_ship = co_me_ge_lifter_d1-19
npc_ship = co_me_ge_repair_d1-19
voice = pilot_f_leg_m01
voice = pilot_f_leg_f01
mc_costume = mc_co
space_costume = li_captain_head, voc_male_elite_body, comm_ge_generic2
space_costume = li_rockford_head, voc_male_elite_body, comm_li_hatcher
space_costume = li_sales_head_hat, voc_male_elite_body, comm_ge_generic2
space_costume = pl_male2_head, voc_male_elite_body, comm_li_hatcher
space_costume = pl_male5_head, voc_male_elite_body, comm_ge_generic2
space_costume = pl_male8_head_hat, voc_male_elite_body, comm_li_hatcher
space_costume = rh_newscaster_head_gen_hat, voc_female_elite_body, comm_ge_generic2_female
space_costume = rh_newscaster_head_gen_hat, voc_female_elite_body, comm_li_hatcher_female
space_costume = rh_newscaster_head_gen_hat, voc_female_elite_body, comm_ge_generic2_female
space_costume = pl_female2_head, voc_female_elite_body, comm_li_hatcher_female
space_costume = pl_female2_head, voc_female_elite_body, comm_ge_generic2_female
space_costume = pl_female2_head, voc_female_elite_body, comm_li_hatcher_female
firstname_male = 245184, 245243 <-- surnames for guys, randomly picked from between these values; #2
firstname_female = 245244, 245303 <-- surnames for girls, randomly picked from between these values; #2
lastname = 245303, 245399 <-- family names, randomly picked from between these values; #2
rank_desig = 197065, 197066, 197067, 4, 8/b <-- rank titles, lik Cpt. and Lt. ; #3[b
formation_desig = 197821, 197828
large_ship_desig = 196995
large_ship_names = 462000, 462016 <-- Names for battle ships and/or trains etc., randomly picked from between these values
formation = fighters, fighter_basic <-- defined in DATA\MISSIONS\formations.ini; #4
formation = freighters, freighter_liberty
formation = freighters2, freighter2_liberty
formation = transports, transport_liberty
formation = transports2, transport2_liberty
--------------------------------------------------------------------------------
Notes:
In general, you can of course modify all of these values. Just make sure that you know what you are doing
Some factions, but not all, have scan for lines:
--------------------------------------------------------------------------------
The liberty Navy:
scan_for_cargo = commodity_alien_artifacts, 1
scan_for_cargo = commodity_cardamine, 2
scan_announce = true
scan_chance = 0.300000
The Outcasts:
scan_for_cargo = commodity_vips, 2
scan_for_cargo = commodity_troops, 2
scan_for_cargo = commodity_recruits, 2
scan_for_cargo = commodity_pow, 2
scan_for_cargo = commodity_prisoners, 2
scan_for_cargo = commodity_clenacid, 2
scan_for_cargo = commodity_syncard, 2
scan_for_cargo = commodity_alien_organisms, 2
scan_for_cargo = commodity_basic_alloys, 2
scan_for_cargo = commodity_construction_machinery, 2
scan_for_cargo = commodity_consumer_goods, 1
scan_for_cargo = commodity_engine_components, 2
scan_for_cargo = commodity_fertilizers, 2
scan_for_cargo = commodity_food, 0
scan_for_cargo = commodity_gold, 2
scan_for_cargo = commodity_H_fuel, 2
scan_for_cargo = commodity_luxury_consumer_goods, 2
scan_for_cargo = commodity_mox_fuel, 2
scan_for_cargo = commodity_optronics, 2
scan_for_cargo = commodity_oxygen, 0
scan_for_cargo = commodity_pharm, 0
scan_for_cargo = commodity_polymers, 2
scan_for_cargo = commodity_scrap_metal, 0
scan_for_cargo = commodity_ship_hull_panels, 2
scan_for_cargo = commodity_sidearms, 2
scan_for_cargo = commodity_water, 0
scan_announce = false
scan_chance = 0.300000
--------------------------------------------------------------------------------
They scan for the commodities listed, and do or do not anounce that they are scanning. In both cases, there is a chance of 0.3 that they'll scan you. The number behind each commodity seems to be a priority number.
#1 When you first make a faction, use existing npc-ships, as defined in DATA\MISSIONS\npcships.ini
You can of course alter a ship's loadout, or a ships statistics, or even add an entirely new ship to the game and use that as an npc_ship, but that is beyond the scope of this tutorial.
Nevertheless, the NPC ships are what makes a faction unique. I won't elaborate on the ship archetypes or statistiscs, but one thing that i should mention, is that the npc_definition includes with a pilot (style, dexterity). See chappter 7 for more info.
#2 Not all factions use all kinds of names. study the various entries in faction_prop.ini
#3 I must admit I dont know where the 4, 8 stands for; probably the level where a higher rank starts.
#4 Eventually you can mod the formations as well, but in the beginning I advise to keep it simple, as anything you will need, will most probably be there.
7. modding DATA\MISSIONS\npcships.ini
My advise is to first set up your faction with npc-ships that already exist. But sooner or later you'll want to have your own. I won't go all the way, but give a short intro.
A typical entry in npcships.ini looks like:
--------------------------------------------------------------------------------
[NPCShipArch
nickname = co_alg_ge_fighter_d1 <-- this nickname should correspon to the npc_ship = line in faction_prop.ini
level = d1 <-- this is the level evoked in encounters!
loadout = co_ge_fighter_loadout01
ship_archetype = ge_fighter
state_graph = FIGHTER
pilot = pilot_company_med <-- the pilot
npc_class = lawful, class_fighter, d1
--------------------------------------------------------------------------------
Now, I won't address the npc_class, as I feel that it speaks itself. Study more entries.
Also, I will leave the ship_archetype and loadout for what they are. Of course you can mod these too.
But I consider the pilot an important facet of a faction. They live in DATA\MISSIONS\pilots_population.ini and in this file it seems thatalso their behaviour can be defined. But I'v never don that, as I'm content with the pilots that are already provided by the game as it is.
There are pilot types (e.g. company pilots, navy pilots, and pirate pilots) each of which seems to be divided in 4 classes of dexterity: easy, med, hard, ace. These characteristics can eaily be read from their nicknames.
=-=-=-=-=-=-=
8. modding DATA\EQUIPMENT\commodities_per_faction.ini
This file entirely speaks for itself. I will only give two examples from the original game:
--------------------------------------------------------------------------------
[FactionGood
faction = rh_p_grp
[FactionGood
faction = co_shi_grp
MarketGood = commodity_alien_organisms, 0, 0
MarketGood = commodity_basic_alloys, 0, 0
MarketGood = commodity_boron, 0, 0
MarketGood = commodity_construction_machinery, 0, 0
MarketGood = commodity_consumer_goods, 0, 0
MarketGood = commodity_diamonds, 0, 0
MarketGood = commodity_engine_components, 0, 0
MarketGood = commodity_fertilizers, 0, 0
MarketGood = commodity_food, 0, 0
MarketGood = commodity_gold, 0, 0
MarketGood = commodity_H_fuel, 0, 0
MarketGood = commodity_high_temp_alloys, 0, 0
MarketGood = commodity_hydrocarbons, 0, 0
MarketGood = commodity_luxury_consumer_goods, 0, 0
MarketGood = commodity_luxury_food, 0, 0
MarketGood = commodity_mining_machinery, 0, 0
MarketGood = commodity_mox_fuel, 0, 0
MarketGood = commodity_niobium, 0, 0
MarketGood = commodity_optical_chips, 0, 0
MarketGood = commodity_optronics, 0, 0
MarketGood = commodity_oxygen, 0, 0
MarketGood = commodity_pharm, 0, 0
MarketGood = commodity_polymers, 0, 0
MarketGood = commodity_scrap_metal, 0, 0
MarketGood = commodity_sidearms, 0, 0
MarketGood = commodity_silver, 0, 0
MarketGood = commodity_super_alloys, 0, 0
MarketGood = commodity_superconductors, 0, 0
MarketGood = commodity_toxic_waste, 0, 0
MarketGood = commodity_water, 0, 0
--------------------------------------------------------------------------------
meaning: the Rheinland plice don't carry anything, while Samura ships can be seen carrying around the commodities mentioned.
=-=-=-=-=-=-=
9. modding DATA\RANDOMMISSIONS\VignetteParams.ini
This file seems to be dealing with random missions, of which I my knowledge is insufficient. But looking at the file, it seems that you can add your new faction's nickname to mission types, so that it will offer that type of missions.
=-=-=-=-=-=-=
Well, that's about it. I will use the edit-function to edit any errors and to add useful stuff people come up with.
=-=-=-=-=-=-=
For the vignette_params mission - its the types of missions that factions hand out. You can use FLED-IDS to find out which mission is what type (by the mission offer text) and then if you add your factions names, it will hand out that type of mission. I have used this in giving the order and LSF missions against the nomads - simply because it was VERY stupid to have "kill these nomads and tractor in the mutagen" missions - so i ONLY choose the "kill the ships" missions - for aesthetic purposes. So adding your factions name there is the type of mission they give out.