[Mod] Chromiumboy's agent mods


Recommended Posts

Hello everyone,

 

I've seen a lot of discussion on the forum over tweaking the augments some of the agents (notably Shalem and Decker). I agree that these augments are a little lackluster, so I decided to do some modding and share them with you guys.

 

To begin, I've done two mods which each change Shalem's augment in some way.

 

Shalem mod 1: This mod replaces Shalem's +1 armor piecing bonus augment with an augment that automatically tag targets that Shalem uses the 'observe' ability on (it costs two PWR to tag the target). 

 

shalems_tag_augment.zip

 

Shalem mod 2: On top of the +1 armor piecing bonus, Shalem's augment also automatically stops basic heart monitors from triggering when he kills a guard (costs two PWR to do so).

 

shalems_silent_kill_augment.zip

 

I've also have a mod that changes Decker's augment to reduce the noise generated when Decker sprints to a radius of one (i.e. he has to sprint through a square adjacent to a guard or sound bug to alert them).

 

deckers_quiet_running_augment.zip

 

Please note that modding for Invisible Inc. is currently not supported by Klei and these mods are to be used at your own risk. Only of one these mods can be used at a time and they are not compatible with any other mod (unless you use the advanced method of installation detailed below). These mods will cease to function if the game is updated.

 

Install instructions

- Exit the game

- Locate your Invisible Inc. folder

- Locate the 'scripts' zip file

- Rename this zip file as 'backup_scripts' or similar

- Place the mod zip file in the Invisible Inc. folder and rename the mod zip file as 'scripts'

- Boot up the game. The agent's augment will be replaced with the modded version automatically

 

Advanced installation (requires LUA coding)

Shalem mod 1:

- Locate 'observePath.lua' (/sim/abilities/)

- Locate the 'excuteAbility' function within this file (line 134)

- Add the following code to the function


if target and unit and unit:countAugments("augment_shalem") > 0 and unit:getPlayerOwner():getCpus() > 2 and not target:getTraits().tagged then 
target:setTagged()
 
local x1, y1 = unit:getLocation()
unit:getPlayerOwner():addCPUs(-2, sim, x1, y1)
end
 
- Locate 'itemdefs.lua' (sim\unitdefs\)
- Locate the 'augment_shalem' entry (line 438)
- Delete 'addArmorPiercingRanged = 1,'
- Flavour text for the augment is located under 'SHALEMS' in the 'strings.lua' file (in the client folder)

 

Shalem mod 2:

- Locate 'engine.lua' (/sim/abilities/)

- Locate the 'simengine:hitUnit' function within this file (line 1201)

- Replace the first 'if elseif end' statement with


if targetUnit:getTraits().improved_heart_monitor then
self:dispatchEvent( simdefs.EV_UNIT_FLOAT_TXT, {txt= STRINGS.UI.FLY_TXT.IMPROVED_HEART_MONITOR,x=x1,y=y1,color={r=1,g=1,b=41/255,a=1}} ) 
elseif sourceUnit and sourceUnit:countAugments("augment_anatomy_analysis") > 0 and sourceUnit:getPlayerOwner():getCpus() > 3 then 
if targetUnit:getTraits().heartMonitor and ( not dmgt.ko or self:getParams().difficultyOptions.alarmRaisedOnKO ) and not dmgt.noTargetAlert then  
targetUnit:getTraits().heartMonitor = "disabled"
local x1, y1 = sourceUnit:getLocation()
sourceUnit:getPlayerOwner():addCPUs(-3, self, x1, y1)
end
elseif sourceUnit and sourceUnit:countAugments("augment_shalem") > 0 and sourceUnit:getPlayerOwner():getCpus() > 2 then 
if targetUnit:getTraits().heartMonitor and ( not dmgt.ko or self:getParams().difficultyOptions.alarmRaisedOnKO ) and not dmgt.noTargetAlert then  
targetUnit:getTraits().heartMonitor = "disabled"
local x1, y1 = sourceUnit:getLocation()
sourceUnit:getPlayerOwner():addCPUs(-2, self, x1, y1)
end
end
 
- Locate 'itemdefs.lua' (sim\unitdefs\)
- Locate the 'augment_shalem' entry (line 438)
- Delete 'addArmorPiercingRanged = 1,'
- Flavour text for the augment is located under 'SHALEMS' in the 'strings.lua' file (client folder)

 

Decker mod:

- Locate 'sprint.lua' (/sim/abilities/)

- Locate the 'executeAbility' function within this file (line 85)

- Under the line that reads 'if unit:getTraits().sneaking then' (line 87) add the following code


if unit and unit:countAugments("augment_deckard") > 0 then 
unit:getTraits().dashSoundRange = 1
end
 
- Locate 'itemdefs.lua' (sim\unitdefs\)
- Locate the 'augment_deckard' entry (line 383)
- Delete 'addAbilities = "scandevice",'
- Flavour text for the augment is located under 'DECKARDS' in the 'strings.lua' file (client folder)

 

Uninstall instructions

- Exit the game

- Delete the modified script file

- Rename the backup scripts file to 'scripts'

- Boot up the game. The agent's augment will be returned to its original version automatically.

 

 

Link to comment
Share on other sites

I didn't have any problem editing engine.lua. It was actually easier than editing observePath.lua :p All I can see from that error is that there is a symbol that shouldn't be there on the first line of the engine.lua but I'm not sure why that would be the case.

Link to comment
Share on other sites

Well, I just wasted an afternoon.

Btw, how did you edit engine.lua? When I try to change anything it just chrashes.

 

error loading module 'game/sim/engine.lua:1: unexpected symbol near '´'

 

I think this is a good time to point out that NO ONE should ever use Microsoft Word to edit any text file containing code. Word uses "magic quotes" that screws with just about everything. This might not be your problem but if people understand this we will get a lot less users posting errors with modding.

Link to comment
Share on other sites

Is there a way to keep Shalem's +1 armor piercing with the tagging? I mean, as much as I do like the idea of tagging, removing his +1 armor piercing augment really reduces his effectiveness. I mean, Nika's augment used to only be two attacks per turn, but then they added the +3 Action Points per attack, turning Nika into a truly amazing agent.

Link to comment
Share on other sites

Is there a way to keep Shalem's +1 armor piercing with the tagging? I mean, as much as I do like the idea of tagging, removing his +1 armor piercing augment really reduces his effectiveness. I mean, Nika's augment used to only be two attacks per turn, but then they added the +3 Action Points per attack, turning Nika into a truly amazing agent.

 

Skip this part:

 

 

-Locate 'itemdefs.lua' (sim\unitdefs\)

 

-Locate the 'augment_shalem' entry (line 438)

 

-Delete 'addArmorPiercingRanged = 1,

 

 

 

If you have already removed it, add it back again.

Link to comment
Share on other sites

I use notepad. Could that be the problem? It has never been a problem with anything else and I can't see any difference when I open the file.

 

Notepad should be good. This is just one of those things that has to keep being repeated from time to time just in case. :-D

Link to comment
Share on other sites

I'm testing the mod right and and wow, adding the tagging ability to Shalem's augment is very game-changing. Maybe I messed around with what you modded as well, but perhaps I just like keeping Shalem's +1 armor piercing ability even with the tagging.

 

Maybe we should just stack all the overpowered augments into Shalem's optic and just turn him into a death machine of overpoweredness.

 

Like giving Desert Wind 6 ammo.

Link to comment
Share on other sites

Love this mod. Is there any chance that we might see a change to other agents augments? (EX: Decker)

Thanks, glad you enjoy it :)

I was thinking of looking at Decker, offering a different custom augment to the one Cyberboy has made. I was thinking of a 'quiet running' augment that significantly reduces the loud noise radius when sprinting. I'm happy to take suggestions, providing they don't significantly alter the current game mechanics (at least while mods are unsupported).

Link to comment
Share on other sites

Added a mod to the original post that replaces Decker's augment with one that allows him to sprint quietly (the noise radius due to sprinting has been reduced from 5 to 1).

Interesting! I'll try it out later today.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.