Overview
This is a guide to what you can do in your save games to change the way your agents look, what gender they have, how much money you have and other things that might make the game easier or harder for you.
Editting save games
I have been looking into modding this game and it seems most that can be done is editing the clones and changing what items you can buy, you are researching or got prototypes for.
What you can change about your clones is their bonuses, their gender, their name and what they wear when not having a specific agent types outfit. I think you can actually wear the headgear that the clone used to wear, so that might add a bit more customization.
You find the savegame files in the folder found here:
users*your windows user name*AppDataLocalSatelliteReignusers*user name ingame*
I have managed to find a list of all possible clone names and I put them in a sheet here:
[link]
Here is an example of clone data in the savegame file:
<CloneableData><m_ID>1</m_ID><m_Sex>Male</m_Sex><m_WardrobeType>CorpCommander</m_WardrobeType><m_Modifiers><CloneableModifier><m_ModifierData><m_Type>HealthRegenRate</m_Type><m_Ammount>3.25</m_Ammount><m_TimeOut>0</m_TimeOut><m_AmountModifier>NONE</m_AmountModifier></m_ModifierData><m_DegradationPerClone>0.07</m_DegradationPerClone><m_MinimumValue>0</m_MinimumValue></CloneableModifier><CloneableModifier><m_ModifierData><m_Type>SpeedOffset</m_Type><m_Ammount>3.07</m_Ammount><m_TimeOut>0</m_TimeOut><m_AmountModifier>NONE</m_AmountModifier></m_ModifierData><m_DegradationPerClone>0.05</m_DegradationPerClone><m_MinimumValue>0</m_MinimumValue></CloneableModifier><CloneableModifier><m_ModifierData><m_Type>HealthOffset</m_Type><m_Ammount>235</m_Ammount><m_TimeOut>0</m_TimeOut><m_AmountModifier>NONE</m_AmountModifier></m_ModifierData><m_DegradationPerClone>15</m_DegradationPerClone><m_MinimumValue>0</m_MinimumValue></CloneableModifier><CloneableModifier><m_ModifierData><m_Type>EnergyMaxOffset</m_Type><m_Ammount>230</m_Ammount><m_TimeOut>0</m_TimeOut><m_AmountModifier>NONE</m_AmountModifier></m_ModifierData><m_DegradationPerClone>5</m_DegradationPerClone><m_MinimumValue>0</m_MinimumValue></CloneableModifier><CloneableModifier><m_ModifierData><m_Type>EnergyRegenRate</m_Type><m_Ammount>3.3</m_Ammount><m_TimeOut>0</m_TimeOut><m_AmountModifier>NONE</m_AmountModifier></m_ModifierData><m_DegradationPerClone>0.15</m_DegradationPerClone><m_MinimumValue>0</m_MinimumValue></CloneableModifier><CloneableModifier><m_ModifierData><m_Type>AccuracyOffset</m_Type><m_Ammount>3</m_Ammount><m_TimeOut>0</m_TimeOut><m_AmountModifier>NONE</m_AmountModifier></m_ModifierData><m_DegradationPerClone>0.02</m_DegradationPerClone><m_MinimumValue>0</m_MinimumValue></CloneableModifier></m_Modifiers><m_IdentityID>1469</m_IdentityID><m_WardrobeIndex>-1</m_WardrobeIndex><m_RandomSeed>1785156864</m_RandomSeed><RandomSeed>1785156864</RandomSeed><Id>1</Id><Sex>Male</Sex><WardrobeType>CorpCommander</WardrobeType><IdentityId>1469</IdentityId></CloneableData>
The IDs have to be unique. I am pretty sure the data types that begins with m_ have to match the data type that has the same name but no m_ at the beginning. Like m_ID and Id. It does seem possible to make them not match, and while it might not crash the game as it tries to load, it still just seems to make these two fields match again after loading. Not sure which of the two fields takes precedence though. The sex changes the gender and the RandomSeed is a random seed that decides how the clone looks. Being a random seed it has no logic to it. I tried figuring out if the first number was haircolor or something like that, but that is now how it works, its just random. I have thought about how we could make a list of random seeds alongside a sex and a description of how the clone looks, hair color, hairstyle and so on. But so far it just makes it possible to take the looks of one clone, and give it to another. Or try new random seeds. But there seems to always be the chance that changing a random seed might crash the game when you try loading the changed save game.
The example data I just showed gives bonus to every possible modifier I know of. Usually clones made by the game has a max of 5 modifiers, but there are 6 total. The SpeedOffset multiplayer is in no danger of being too high. It seems to have an ingame max for each agent type anyway. So you cannot make an agent move 10x speed or something crazy and uncontrollable like that. It does seem very possible to set other offsets and regenrates very high though, making the agents practically immortal. Like giving them 5000 health and 500 or more healthregen every second and the same with energy. Not sure about accuracy, but I think you can give your agents a 100% hit rate / accuracy with any weapon. Not sure what weapon becomes much better due to this though. Even shotguns still seems not so useful even with a high accuracy.
If you want to have ALL possible items available to buy then you can do a find and replace all searching for this:
<m_PlayerHasBlueprints>false</m_PlayerHasBlueprints>
and change it to:
<m_PlayerHasBlueprints>true</m_PlayerHasBlueprints>
You can also change data on VIPs and missions but I have not found much useful to do with them. Maybe its possible to make them available again if they for some reason stopped appearing since there seems to be a setting for that.
Editting save games continued
You can also change the skill levels your agents have:
<m_SkillManager><m_Agents><AgentData><m_XP>0</m_XP><m_CurrentLevel>67</m_CurrentLevel><m_AvailableSkillPoints>1</m_AvailableSkillPoints><m_SkillPointsAcknowledged>true</m_SkillPointsAcknowledged></AgentData><AgentData><m_XP>0</m_XP><m_CurrentLevel>67</m_CurrentLevel><m_AvailableSkillPoints>1</m_AvailableSkillPoints><m_SkillPointsAcknowledged>true</m_SkillPointsAcknowledged></AgentData><AgentData><m_XP>0</m_XP><m_CurrentLevel>67</m_CurrentLevel><m_AvailableSkillPoints>0</m_AvailableSkillPoints><m_SkillPointsAcknowledged>true</m_SkillPointsAcknowledged></AgentData><AgentData><m_XP>0</m_XP><m_CurrentLevel>67</m_CurrentLevel><m_AvailableSkillPoints>0</m_AvailableSkillPoints><m_SkillPointsAcknowledged>true</m_SkillPointsAcknowledged></AgentData><AgentData><m_XP>6298.36133</m_XP><m_CurrentLevel>47</m_CurrentLevel><m_AvailableSkillPoints>47</m_AvailableSkillPoints><m_SkillPointsAcknowledged>true</m_SkillPointsAcknowledged></AgentData></m_Agents><m_Skills><SaveSkillData><m_ID>18</m_ID><m_Level>4</m_Level></SaveSkillData><SaveSkillData><m_ID>19</m_ID><m_Level>4</m_Level></SaveSkillData><SaveSkillData><m_ID>20</m_ID><m_Level>4</m_Level></SaveSkillData><SaveSkillData><m_ID>21</m_ID><m_Level>4</m_Level></SaveSkillData><SaveSkillData><m_ID>23</m_ID><m_Level>4</m_Level></SaveSkillData><SaveSkillData><m_ID>24</m_ID><m_Level>3</m_Level></SaveSkillData><SaveSkillData><m_ID>25</m_ID><m_Level>3</m_Level></SaveSkillData><SaveSkillData><m_ID>26</m_ID><m_Level>3</m_Level></SaveSkillData><SaveSkillData><m_ID>49</m_ID><m_Level>3</m_Level></SaveSkillData><SaveSkillData><m_ID>50</m_ID><m_Level>3</m_Level></SaveSkillData><SaveSkillData><m_ID>51</m_ID><m_Level>3</m_Level></SaveSkillData><SaveSkillData><m_ID>52</m_ID><m_Level>3</m_Level></SaveSkillData><SaveSkillData><m_ID>37</m_ID><m_Level>4</m_Level></SaveSkillData><SaveSkillData><m_ID>27</m_ID><m_Level>3</m_Level></SaveSkillData><SaveSkillData><m_ID>46</m_ID><m_Level>2</m_Level></SaveSkillData><SaveSkillData><m_ID>39</m_ID><m_Level>3</m_Level></SaveSkillData><SaveSkillData><m_ID>45</m_ID><m_Level>3</m_Level></SaveSkillData><SaveSkillData><m_ID>15</m_ID><m_Level>3</m_Level></SaveSkillData><SaveSkillData><m_ID>16</m_ID><m_Level>4</m_Level></SaveSkillData><SaveSkillData><m_ID>32</m_ID><m_Level>4</m_Level></SaveSkillData><SaveSkillData><m_ID>33</m_ID><m_Level>4</m_Level></SaveSkillData><SaveSkillData><m_ID>31</m_ID><m_Level>4</m_Level></SaveSkillData><SaveSkillData><m_ID>17</m_ID><m_Level>4</m_Level></SaveSkillData><SaveSkillData><m_ID>11</m_ID><m_Level>4</m_Level></SaveSkillData><SaveSkillData><m_ID>22</m_ID><m_Level>4</m_Level></SaveSkillData><SaveSkillData><m_ID>35</m_ID><m_Level>4</m_Level></SaveSkillData><SaveSkillData><m_ID>34</m_ID><m_Level>5</m_Level></SaveSkillData><SaveSkillData><m_ID>36</m_ID><m_Level>5</m_Level></SaveSkillData><SaveSkillData><m_ID>43</m_ID><m_Level>5</m_Level></SaveSkillData><SaveSkillData><m_ID>44</m_ID><m_Level>3</m_Level></SaveSkillData></m_Skills></m_SkillManager>
But since it is hard to figure out which skills are which, it seems the easy way to max all skills if that is what you want, is to change these:
<m_AvailableSkillPoints>1</m_AvailableSkillPoints>
So they are all 99 or something, and all your agents should be able to just max everything after you load the game with those 99 new skill points available.
When it comes to quests, I am not sure what useful things you can change there. Only thing I can think of is maybe changing all text that is:
<m_HasBeenPurchased>false</m_HasBeenPurchased>
to:
<m_HasBeenPurchased>true</m_HasBeenPurchased>
Which should give you access to all districts.
If you want more money you can just change this:
<m_PlayersCurrentFunds>198554.891</m_PlayersCurrentFunds>
to have a few more zeros. Remember the number might not be a whole number, so adding zeros after the . wont help much.
Want all ATMs?
Find the place where it says: <m_HackedATMs> and copy paste this onto everything from that to </m_HackedATMs>:
<m_HackedATMs><int>100</int><int>18</int><int>107</int><int>105</int><int>130</int><int>27</int><int>11</int><int>126</int><int>93</int><int>87</int><int>114</int><int>37</int><int>123</int><int>115</int><int>103</int><int>89</int><int>90</int><int>40</int><int>129</int><int>113</int><int>44</int><int>101</int><int>112</int><int>122</int><int>134</int><int>23</int><int>38</int><int>32</int><int>85</int><int>117</int><int>121</int><int>84</int><int>22</int><int>125</int><int>88</int><int>25</int><int>19</int><int>48</int><int>135</int><int>102</int><int>128</int><int>99</int><int>13</int><int>29</int><int>33</int><int>91</int><int>104</int><int>127</int></m_HackedATMs>
And all ATMs should now be hacked.
Last thing I guess you could change in the save game is what relay beacons you have activated.
If you find and replace all these:
<m_IsActive>false</m_IsActive><m_IsRespawnBeacon>
to this:
<m_IsActive>true</m_IsActive><m_IsRespawnBeacon>
You should be able to fast travel to all of them.
I added the <m_IsRespawnBeacon> to the search because I think there might be other things in the save that has a <m_IsActive> parameter.
That is just about all you can change in the savegame I think. Most of it seems to be being able to cheat in the game, rather than actually modding it, but the part with being able to change the random seeds and the genders of your clones, that makes for some modding options, which is being able to customize your clones a bit more and giving them a name of your choice.
It might also be possible to change the level0 file to change stuff in the city. But extracting all in it does not seem easy with the tools I have found, so doing any real change is probably very hard if it even is possible.
That should sum up all possible modding I have found so far.
Some extra tips
ChuckDM posted some tips, and I decided to add them here.
– You can have all 4 of your agents in-game use the same clone. This way you can delete every clone except 2 (you need to keep 1 other so you can swap your agents back and fourth to update the edited values) and have much less trouble figuring out which clone ID is the one you want to edit.
– The “m_DegradationPerClone” value is how much the associated stat degrades each time the agent dies and gets cloned. You can set this value to 0 (in my case, I did 0.00 just to be sure it was a valid float) and when your agents die you’ll no longer lose any stats when they get re-cloned. This includes respawning via FRED drops. This is a cool trick you can use even if you are trying to keep the game fair and balanced if you just dislike the way clones degrade.
– A potential alternative to this is to change the “m_MinimumValue” to a number you can live with. This is the minimum value that a stat will never go below no matter how many times they die. Using this, you can let them continue to degrade upon death, with a safety net of sorts that, if they do, you know they won’t degrade all the way down to 0 stat civilians.
– While most abilities only drain energy when triggered, cloaking is an exception. Therefore, if you only modify EnergyRegenRate and don’t modify EnergyMaxOffset, your cloak’s maximum potential duration will still be very short. On the other hand, perhaps you’d prefer this, again for balance reasons. Setting a reasonable value for EnergyMaxOffset (like, say, 100) and then a rather high value for EnergyRegenRate, like 25 or 50, gives you an energy reserve for cloaking that drains pretty fast, but also recharges in 4 or 2 seconds.
– Unlike energy, setting HealthRegenRate to a very high value, like 50 or more, will makes your agents nigh-immortal because health DOES regenerate while actively in combat. You can use this similar to the energy values by setting a massive health pool and very little regen, relying on ability use to heal, or you could do it the other way around by modding your agent to have only a 50 health bonus but with 50 regeneration, essentially making grenades lethal to your agent but making them all but immune to normal gunfire.
– The Flamethrower is actually the most powerful weapon in the game. By bypassing both armor and shields, it is effectively doing double damage against all enemies. While the Rocket Launcher/Plasma Cannon/etc DOES do more one-shot damage, the lengthy reload and inability to bypass armor or shields actually gives it lower DPS. Acquire the Flamethrower early (or mod it in) and you will find it more and more useful as the game progresses!
– Finally, if you give your Soldier a clone with tons of energy and health, and then equip him with the Iron Lung and the high vent legs, along with a Zip Claw, Stealth Generator Mark II, and Proxy Hacker, he becomes a one-man team who can literally do anything in the game. The soldier works best for this because he is the only character who can Hardwire reliably, and while hacking and cloaking can be granted to any agent, only the Soldier gets Hardwire. If you find a full team is a bit much to manage, simply mod a clone for your soldier that has this setup and use him for everything.
8bit Ninja also posted some extra information:
A little late to the party, but I compiled an ID chart and decided to share.
1 = Soldier
2 = Support
3 = Infiltrator
4 = Hacker
* = 1 point starting skill
ID 18 – Health (1)
ID 19 – Health (2)
ID 20 – Health (3)
ID 21 – Health (4)
ID 23 – Weapon Specialist (1)
ID 24 – Weapon Specialist (2)
ID 25 – Weapon Specialist (3)
ID 26 – Weapon Specialist (4)
ID 49 – Pack Mule (1)
ID 50 – Pack Mule (2)
ID 51 – Pack Mule (3)
ID 52 – Pack Mule (4)
ID 37 – Hardwiring (1)
ID 27 – Rage (1)
ID 46 – Draw Fire (1)
ID 39 – Harden (1)
ID 45 – Explosive Specialist (1)
ID 15 – World Scan (2) *
ID 16 – Field Medic (2)
ID 32 – Mark Target (2)
ID 33 – Team Stims (2) *”Realtime with pause” 4 point starting skill*
ID 31 – Leadership (2)
ID 17 – Melee Attack (3)
ID 11 – Cloak (3)
ID 22 – Master Assassin (3)
ID 35 – Master Thief (3)
ID 34 – Hacking (4) *
ID 36 – Hijacking (4) *
ID 43 – Drone Puppeteer (4)
ID 44 – Master Technician (4)
Some extra information by Luke. Item IDs in case you want to research all items, or otherwise change which items are researched, except for items that dont work:
Giving blueprints without prototypes means you wont have info displayed in your research screen. If you are an OCD nutjob like me, you might want to give the prototype and complete research (or just edit the research start/complete flags).
uz1 (m_ID 71), p97 (64), and silencer (50) are all starting items, and you should not give prototypes for these, nor remove blueprints.
item ID 111 is the holo decoy, and does not work. Item 110 is an illegal torso mod, does not work.
57-61 are all non-implemented ammo types. I think they are mostly redundant or non-working.
115, 116, 117, 118, and 120 are unknown and unimplemented items. Dont seem to show up.