LethalIntelligenceExperimental
[V68][EXPERIMENTAL]Improved AI in Lethal Company, Currently only improved AI for the masked, but other vanilla entities will get new features once masked is in a stable place.
Date uploaded | a day ago |
Version | 0.3.2 |
Download link | VirusTLNR-LethalIntelligenceExperimental-0.3.2.zip |
Downloads | 1928 |
Dependency string | VirusTLNR-LethalIntelligenceExperimental-0.3.2 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2100xilophor-LethalNetworkAPI
A library/API to allow developers to easily add networking to their mods.
Preferred version: 3.3.1README
LethalIntelligence
Information
A mod aiming to tweak all AI in the game to have improved flavour and perhaps be more intelligent
This mod is built upon Piggy's "MaskedAiRevamp v0.2.1" (https://thunderstore.io/c/lethal-company/p/Piggy/MaskedAIRevamp/). (github located here.. https://github.com/Piggy3590/MaskedAIRevamp)
Serious FPS drops may occur, even on high end PCs, do report them to me if they occur and I will look into them.
Also... There may be tons of bugs. (please do report them to me, either via github or the Lethal Company Modding Community on discord!)
Note re:DebugMode
There is now a setting in config for debug mode, while this is experimental, this will be turned on by default, if you are getting performance issues (low fps i mean) then feel free to turn it off, or just increase the delay between reports. It shouldent be causing an issue, but does give me vital information for fixing your issues. (if you were using this mod before v0.1.5 this will not be on by default, and if you are using this since before v0.1.8 then the delay will be 100, the lower the better though.)
if this is on.. OR Imperium is installed.. debug mode will be turned on, this will provide more logs (potentially more spammy), if debug mode is on, regular "status" reports will be logged for every masked, so if you are having issues, feel free to turn this mode on, replicate the issue, then send me the log.
Mod Features
Masked Behaviour (spoiler?):
-
Aggressive
- If you have a dropped shotgun, pick it up and shoot people. (currently bugged - fixing soon)
- If there is a player with a shotgun, attack with a shovel type item. (currently bugged - fixing soon)
- will almost always target a detected player. (also has a player focus where they 100% focus on chasing you til you are dead)
-
Stealthy
- Will mimic players
- will hide from players
- very unlikely to target players
- Can pick up and use WalkieTalkies
-
Cunning
- Stealing items in the area around the ship and hiding them in bushes (max 5 items)
- Call a fake dropship using the terminal
- Tampers with the breaker box to turn off the lights, will keep turning the lights off while they are alive and the lights are turned on.
-
Deceiving
- Uses terminal codes to make you think someone is in the ship and help/hinder you.
- will tend to ignore (not attack) you in favour of making you beleive they are a player.
- Can pick up and use WalkieTalkies
-
Insane
- Uses signal translator to make you think someone is in the ship and help/hinder you.
- can "sabotage" the apparatus (after 2pm only)
- will make the ship take off after it has completed sabotaging the apparatus.. fair warning will occur as long as you own a signal translator.
- will tend to target players more than most other personalities
- Can pick up and use WalkieTalkies
Known Issues
- masked "ignoring players" is sometimes way too much, and sometimes way too little, a rework of the system will occur soon.
- pathing to objects behind doors/walls will cause "stuck motion" (as does any route to which the masked cannot reach the destination) - working on a solution to this
- if you despawn a masked (using a mod to remove them from the game) while it is on the terminal, the terminal is unusable and the lobby must be restarted - not planning to fix as shouldent occur in an actual game. (if you kill them before you despawn them, this wont happen).
If you have any of the above issues, or any other issue, dont hesitate to send me the full log file after your session has ended (either on discord, or as an issue on github)
Mods
100% Compatible:
- 'MaskedEnemyOverhaulFork' mod by Coppertiel
- 'Skinwalkers' by RedbugRedfern
- 'Mirage' by qwbarch
- 'Wendigos_Voice_Cloning' by Tim_Shaw
- 'SignalTranslatorUpgrade' by Fredolx
- 'AlwaysHearActiveWalkies' by Suskitech
- 'Remnants' by KawaiiBone
- '2StoryShip' by MelanieMelanicious
Not 100% Compatible (and how to get the best compatibility with these mods.. feel free to suggest other things that need adding to this list as i dont use every mod!):
- General Improvements - Disable all settings related to the masked, if you turn some on and get no issues, do let me know which ones so i can add them here as "fine". The "map dot" should be a 100% turn off as its part of this mod too.
- TooManyEmotes - Turn off "stop and stare duration override"? on, or off, one or the other, this may make masked look weird!
- Welcome to Ooblaterra - the ghost masked on this moon are seemingly causing errors.. i d k why yet.
- ProblematicPilotry - masked cannot path into the ship unless a mod like 2story ship regenerates the ship navmesh.
- WiderShipMod - this might require 2StoryShip being installed for the navmesh regen.
Thanks to...
- Piggy for the original Masked AI Revamp to which this mod is built on and inspired me to do more, and for the permission to use your code as a base point.
- TestAccount666 for the signal translator code from AutomaticSignals.
- MattyMatty for the LobbyCompatibility softdependency class as well as helping resolve the bad masked<->terminal positioning due to hardcoded positioning previously.
- Kite (on discord) for the Masked joining/leaving terminal fixes.
- WhiteSpike (on discord) for help and suggestions regarding the breaker box.
- Tim_Shaw for help on trying to make their mod compatible and integrated.
- XuXiaolan for help/advice/tips with spawning items as well as many other things (soon to be too many things to mention).
- Szumi57 for inspiration on how to fix EntranceTeleports.
- qwbarch for all the help on integrating Mirage and LethalIntelligence!
- Fandovec03 for suggesting LOS as a fix to "distance related issues" I was having.
- darmuh for help with "synced audios" for the terminal audio improvements
CHANGELOG
Changelog
0.3.2
- (dev/debug) fixed and modified Visualisers for masked when using imperium
- fixed item dropping when masked die carrying an item
- added some null checks to masked using entrances passivly
- disabled vanilla "random turning" for masked so they hopefully look more "player" like in how they move. (this should also reduce instances of them "looking upwards".. maybe even prevents it)
- updated entranceteleport filters to mitigate against masked using "unusable" entrances due to missing navmesh/offnavmeshlinks from how moons/interiors are designed.
- prevented a softlock if you pull the ships lever while a masked is using the terminal
- fixed an error where no obj codes were found when deceiving was using the terminal
0.3.1 - Hotfix
- fixed issues with routing to the Apparatus
- fixed issues with routing to the BreakerBox
- fixed issues with routing to the MainEntrance and FireExits
0.3.0 - Hotfix
- fixed an issue with moons/interiors that dont use the actual door as the EntranceTeleport game object leading to masked standing at the doors.
0.2.9 - Hotfix
- changed Main Entrance/Fire Exit usage by the LI masked to be like vanilla masked usage (passive, used when the masked are at the door itself) so even if they bug out and stand at the entrance, they should use the entrance and change what they are doing to stop them lingering there too long.
0.2.8
- prevented softlocks relating to masked using the terminal (if you find yourself unable to use the terminal when no masked is there or similar, do let me know! shouldent happen though as i have tested all live game scenarios i think..)
- added audio cues for when masked is typing on the terminal keyboard, as well as an audio cue for cunning "purchasing items"
- improved walking to the terminal so it looks a bit less "snappy" when the masked turns.
- (for debugging only) modified some start variables which were previously wrong. (didnt affect anything luckily but nice to get them correct :))
0.2.7 - Hotfix
- fixed the issue with masked routing to and getting stuck at the main entrance
- 99% fixed masked positioning when using the terminal (may see some levitation with 2story ship and may see some sinking in the vanilla ship, this is down to the navmesh, not my mod), but at least masked should be at the terminal now. - please do send pictures of bad positions/levitating/sinking/etc though so I can maybe look into making a fix.
0.2.6
- temporarily fixed an issue with the main entrance when using the "LiminalPools" interior (v1.0.12) as this causes masked to bug out due to a missing NavMeshLink, once LiminalPools is updated, this issue should be resolved. Please note, this fix ignores the main entrance in this scenario.
- improved how masked "react" to arriving at their destination for some focus's (breakerbox/apparatus) to hopefully prevent them from bugging out due to bad configuration.
- lowered the proximity requirement for masked activities (breaker/apparatus) to potentially stop them bugging out when they cant reach close enough. (this may need revisiting as im not sure it has fixed it and is most likely the reason they bug out now)
0.2.5
- Potentially fixed routing problems which led to them standing at the main entrance (or in the ship) weirdly. (again x.x)
- fixed an issue with "randomitem" function throwing errors
- improved some logging for debugging purposes
0.2.4
- Fixed routing problems when Insane is doing "Sabotage/Escape" focus which led to them standing at the main entrance (or in the ship) weirdly.
- Fixed "findRandomItem" invalid cast exception
- removed some spammy debug logs
- (debug)improved some "masked goal" messages in the status reports
- force updated some distances that were causing delayed responses when masked performed certain actions.
0.2.3
- Improved the walkie talkie audio so that only the person holding the walkie hears the voice of the masked
- Added support for 'AlwaysHearActiveWalkies' mod when masked use walkies. (having "AlwaysHearActiveWalkies" installed makes the masked voice play out loud to all those around the walkie)
- Fixed Insane when they Sabotage the Apparatus and Escape. (they were seemingly running between main entrance and fire exits due to badly modified logic)
0.2.2
- Potentially fixed a null reference exception when the masked sabotage the apparatus (only seen once on Liminal Pools (i think) so far, hopefully never again :))
- potentially fixed masked standing at the main entrance and fire exits, as well as standing in the ship staring at the monitors (thanks vanilla code for not doing as expected)
- potentially fixed a null reference exception when a walkie is picked up
- added new Activity (findRandomItem)
- fixed some null reference errors in the masked status report
0.2.1 - Mirage Integration Patch (Hotfix 2)
- Fixed an issue where Mirage was considered a hard dependency and so would break the mod (and potentially the game) if mirage was disabled/not installed.
0.2.0 - Mirage Integration Patch (Hotfix)
- Fixed the NullReferenceException relating to PlayerAnimationEvents.UnlockArmsFromCamera when masked hold 1 handed items (generic 1 handers, including walkie talkies and flashlights too)
0.1.9 - Mirage Integration Patch
- Fixed Masked Picking up WalkieTalkies (previously they would not pick them up)
- Added integration with Mirage, masked will now play mirage audio through walkies to trick you (Stealthy/Deceiving/Insane only), audio will only play through walkies if someone has an active walkie far enough away from the masked, the starting rate is 50% chance, more far players with walkies will increase that chance)
- Fixed an issue regarding a conflict with "SignalTranslatorUpgrade" mod.
- Fixed a softlock from where a masked dies while using the terminal.
0.1.8
- Fixed masked "double teleporting" at the main entrance leading to them getting stuck thinking they are outside when they are inside, and vica versa.
- Added auto removal of config entries that are no longer being used in the Lethal Intelligence config file. (for the future where I see many settings being added, then later removed :))
- Changed the default configuration of "debug mode delay" to 0 as that provides the most information, and I dont think status reports provide any lag. if you refresh your config and start getting lag after this update, then turn off debug mode, or increase the delay.
0.1.7
- Focus, Activity, and whether the masked is Running or not should now be synced from host to client, if you see different things from host to client, do let me know.
- Fixed a null reference exception relating to the breakerbox that was previously missed.
0.1.6 - Fixing Entrances/Exits + Implementing FireExit usage
- Masked can now use fire exits,
- Masked getting stuck at the entrances/exits should now be fixed. If a masked has recently used an entrance/exit, they will now either.. do something else, or wait a short period and do some idle actions while they wait.
0.1.5 - Hotfix
- Potentially fixes the masked getting stuck at the main entrance on modded moons (i beleive due to a null reference exception, we shall see.)
0.1.4
- Fixed the bug where clients get an error saying the masked has no personality.
0.1.3 - the Masked "Insane" Escape Patch
- added MIT License (same as MaskedAIRevamp used)
- added the breakerbox powerboxdoor is now opened before it is used by a masked.
- added "sabotaging the apparatus" to Insane's focuses which then leads to another Focus (Escape), Apparatus focus can only happen after 2pm ingame time as it is the start of a "day ending" event.
- added "escape" focus to insane's focuses, this can only occur if the masked has completed the "Apparatus" focus.
- added variables to Imperium (v0.2.0) visualisers for the masked
- changed ai "update" timing from invoke (heavy reqs, 1 update per 0.1s) to "FixedUpdate" (light, but 1 update per 0.02s) in a bid to reduce fps losses even more.
0.1.2
- switched from FPS based timing to a fixed update timing of 0.1s and fixed all relevent timing issues related to this change.
- fixed some variables not updating since v0.1.1 leading to masked being unable to perform some tasks.
- fixed masked "sight" parameters to correct the sight they have so they are not seeing through the back of their skulls (well almost..)
- fixed a bug where a masked dying on the terminal prevented all other masked from using the terminal for the rest of the round
0.1.1
- attempted to improve the pathing to the breaker box
- prevented "Stealthy" from focusing on items as they have no logic for items.
- potentially fixed an issue with fps drops due to heavy calculations, hopefully this fix doesnt cause other issues :)
0.1.0
- fixed null reference exception regarding to MaskedAggressive Focus.Player when player escapes the masked.
0.0.9
- Added some basic background coding to help debug issues quicker while using Imperium. (for my benefit really).
- Potentially fixed an issue with item log spam due to errors with the list when a masked spawns (usually due to items being "removed" from the game completely i think))
- Made it so personalities can be turned on/off, if you turn off all personalities, the whole "Masked AI" functionality will automatically be disabled.
0.0.8 - Masked AI Revamp Coding Re-Write patch
- Rewritten a big chunk of the Masked AI Revamp original code, we have gone from "Personalities" only, to include "Focuses" and when there is no focus.. "Activities"
- Potentially added integration with Wendigos_Voice_Cloning by Tim_Shaw (please do test and let me know how it goes :))
- Removed some code branches which I could not fit into the new code logic branches of Personality/Focus/Activity.
- Fixed masked loving to linger at the main entrance, they should now "reposition" themselves between the MainEntrance, The ShipLocker and the BreakerBox.. I plan to add the "Apparatus" and the "FireExits" as other options in the future.
- Potentially fixed a bug where more than 1 masked will use the terminal.
- Masked now have a random chance to change focus to a nearby detected player (depends on the personality what the chance is, from something like 20% to near 100%)
- Fixed an issue where the mod would flag up as a virus on some Anti-Virus scanners due to having the word "Virus" in the AssemblyName.
0.0.7 - the Masked "Cunning" major fix patch
- Masked "Cunning" will now successfully steal 1 item from the ship and will no longer bring items to the ship, the stolen item will be hidden in a 'bush' on moons that have 'bushes'. may steal more items as well.
- Masked "Cunning" will tamper with the breaker box (turn it off), they may be able to turn it on if its already off.. then turn it off later.. but this doesnt 100% work yet.
- added a check to fix an issue with Masked<->Player collision that caused incompatibility with DramaMask
- Fixed the list of items which "Cunning" can use to take items from the ship
- Modified some animation selection logic to hopefully stop the masked using incorrect animations.
0.0.6
- Potentially fixed masked "aimbot" by stopping them look at you if they visually cant see you
- potentially fixed an issue causing masked to run slowly
0.0.5
- Fixing masked terminal interactions (hopefully) (joining/leaving mostly)
- Prevented a null exception related to masked picking up items
0.0.4
- Added more words to the selection of words for the insane to use.
0.0.3
- Fixed "SoftDependency" with BMX.LobbyCompatibility
0.0.2
- Added a new masked Personality (Insane) - may rename this later, but for now this is what it is called, the Insane will enter randomised signal translator messages to confuse/help/kill you. More functionality will come soon.
- Fixed the "Deceiving" Personality where in it seemed like it didnt actually do anything at the terminal, it will now enter terminal codes at the terminal for a period of time (a set amount of codes), there is a randomised time delay between codes.
0.0.1
- Initial release version number, there is no actual release, if you want this version, please head over to Piggy's MaskedAIRevamp and use version 0.2.1 -> https://thunderstore.io/c/lethal-company/p/Piggy/MaskedAIRevamp/.