[SAIN] Twitch Players 1.5.3

Please do not ask when mod authors will update their mods to 3.10 or if they can upload older versions of their mods.
Bothering mod authors will lead to warnings and repeat offenses will lead to eventual bans.

Game feels too easy? Fear it or not, Twitch Streamers are now in your game. They won't have mercy on you. Comes with SAIN preset.

REQUIRES LATEST SAIN AND BotCallsigns!


Introduction


This mod by default adds streamers and by that I mean, really! These PMCs with TTV or Twitch in their names are now going to be nasty and sometimes really good that you may have a struggle dealing with them. But on the other hand, this mod can do much more when it comes to personalities. Read Configuration File section down below!


Compatible with Fika*
*Only if you are, or, someone else being the host and you're not using a dedicated server since this mod won't be able to make changes to SAIN file. This mod works with Client Side of the mod


Installing and setting up


Drag the root folder inside the archive you downloaded and drop it in your SPT game folder. Tada! Mod will be working once NicknamePersonalities.json will be generated if you just updated your SAIN to the latest version. Recommended to double-check if you have latest SAIN with Bot Callsigns installed!

Mod Suggestions


That's Lit - Tweaks how bots see you in the dark, on the bright spot, in the bushes or foliage.


ABPS (Acid's Bot Progressive system) - Generates great PMC gear and loadouts.


Built-In SAIN Preset


While this mod not only provides you a way with settings personalities and names however you want as well as adding Twitch Streamers into the game, it also comes with SAIN Preset which installs and updates automatically.

For better experience I suggest using built-in SAIN preset (Death Wish [Twitch Players]) that will pop up in your F6 SAIN menu after installing this mod!
- But.. What's the purpose? I have my own preset I play with!
It is recommended but not entirely required to use this preset. Its purpose is to bring balance between hardcore and fair play while maintaining live-like behavior of SCAVs and Rogues. Try it and give me feedback in the comments or SPT Official Server!

Configuration File


"globalMode" - Can be true or false. If enabled, will ignore your_names.json but will make use of personalitiesToUse, assigning personalities you have there randomly based on weighting you put to ALL OF THE NAMES. Want everyone to be a GigaChad? Enable Global mode and set "GigaChad": 100 in your personalitiesToUse - And you're good to go! Want everyone to be a rat or balance this out? It's all up to you now! Wanna have random personalities all the time? Just put them all in and give the weightings you need while leaving globalMode enabled- You'll never know what hit ya!

"useCustomNamesAndPersonalities" - Can be true or false. If set to true, will ALSO use your names and personalities set in your_names.json file. This does not work with Global Mode.

"personalitiesToUse" - Can be Rat, SnappingTurtle, Chad, GigaChad, Wreckless, Timmy. This is useful if you wanna force all Twitch players to other personality or randomize these personalities you set (look randomisePersonalitiesOnServerStart). The structure of this is now changed, it looks like this - "Personality": 50 <--- This is weighting, ranging from 0 to 100.


"randomizePersonalitiesOnServerStart" - Will randomize personalities every server start up. Useful if you have more personalities added in personalitiesToUse than one. Uses weightings since 1.5.0 version.

"autoUpdateSAINPreset" - Will check and update existing custom SAIN preset if it's out of date, if it doesn't exist it will install it inside your right away!


Adding your own personalities by name


Now, if you wanna use your custom names and personalities - Don't worry!
All you gotta do is make sure these names exist in Bot Callsigns mod in any of these files located at:
YOUR_SPT\user\mods\BotCallsigns\names\bear.json
YOUR_SPT\user\mods\BotCallsigns\names\usec.json
Now that you've added them, locate the next file of the original mod you've installed:
YOUR_SPT\user\mods\TTV-Players\names\your_names.json
Open it and you'll be greeted by already existing custom names there but I will leave one example here if you plan on adding more:
"yourName":"GigaChad",
"myName":"Chad",
"ILoveSPT":"Wreckless"

Save and close the file once you're done and set useCustomNamesAndPersonalities to true in the config, located at:
TTV-Players\cfg\config.json

Live Mode


Live mode purpose is to purely refresh the temporary names and refresh its own storage file for the names for next use in real time.
Here's how it works if you enable it (in Bot Callsigns config file!!!):
1) Bot Callsigns mod checks for all valid names and creates a temporary file at Twitch Players mod directory containing all BEAR and USEC names.
2) Twitch Players mod reads the file and filters it into its own file called ttv_names.json while also catching your_names.json if that is enabled.
3) If personality was changed in the config, it will also change it in its generated file.
4) Pushes updated names to the SAIN file.

Without Live Mode it looks like this:
1) Twitch Players use already existing ttv_names.json and pushes that file into SAIN's file.

This is usually recommended to enable when you have your own names that don't go by default in Bot Callsigns mod. This setting must be enabled in both BotCallsigns config file to start working. See the SPT console for more info when enabling this - and report any errors if you see! <3

  • Version 1.5.3

    - Minor mod bug fixes

    - Added more TTV names (from BotCallsigns) as well as removed older ones - thanks S3NN0M0!

  • Version 1.5.2-EXPERIMENTAL

    Before updating to this version, I kindly ask you to please read what exactly this update does. It will take you around ~3 minutes.
    SAIN Preset Update
    - Recoil changes: PMCs now will take less time recovering from recoil, as well as find the "shootable" ammo more "shootable". What does this mean? The ammo like 9x19PARA that is usually used for weapons like Vector (you'll meet PMCs carrying these on higher levels) or Glocks and weapons that use 9x39 like VSS/VSK WILL have less recoil impact on PMC bots. The closer you are, the higher the chance of a bot to spray you down. Although more feedback needed, this is how it feels for me:



    - PMCs take cover if you're really far away and if the cover is really close instead of running faaar away. This is done to prevent them to start running to cover when you're already dumping a mag into them in close quarters.
    - Rogues are now less aimbotty, although their vanilla AI is turned on. Their FoV turned down to 100 (180-->100).
    - Chads no longer frequently taunt.
    - Wreckless, GigaChad and SnappingTurtle no longer shifting to covers.
    - For Wreckless personality slightly increased Accuracy, Gain Sight and Precision coefficients.

  • Version 1.5.1

    Hotfix

    - Fixed auto updater failing to install custom SAIN preset when detecting first mod setup.

  • Version 1.5.0

    Mod + SAIN Preset Update. Your existing custom SAIN preset will be automatically installed/updated.

    - Slightly increased minimum cover distance.
    - Minimum loot value exception to extract was lowered to 1mil (1,5mil-->1mil).
    - PMCs aim for head chance was decreased to 30% (33%-->30%).
    - Bots hearing you go prone was reduced to 40 (50-->40).
    - Increased vision distance multiplier for the following maps by 20% - Lighthouse, Shoreline, Woods, Interchange (10%).
    Feel free to post any feedback on this!

    Mod changes
    - Fixed global mode and possibly all cases working wrong.
    - Now mod uses weightings in any scenario. By default Wreckless is set 60, Gigachad is set to 20.
    - Updated names

  • Version 1.4.1

    Preset Update
    - Doors are disabled. But you can still enable them back if map surroundings feel a little bit off.
    - Enabled vanilla AI for the following - SCAVs, Rogues, Bosses, Followers. Only Goons, Cultists and PMCs are up for a challenge against you. This is done for more live-like feel and a bit of game-relief when fighting against SCAVs as it's now not a big deal (because they're dumb as hell).
    - All AIvsAI limits are enabled.
    - GigaChad personality no longer can be randomly assigned. Only if it exists in ttv_names.json or
    global_names.json.
    -
    Slightly reduced vision speed for some personalities.

    After updating to this version it'll automatically update/install custom SAIN preset into presets folder!

  • Version 1.4.0

    "They're... They're everywhere.. This can't be happening!"

    More functionality and more squashed bugs! Introducing Global Mode - Now in your config file you can enable it and use weightings to add personalities you'd like to see in the game. This will utilize ALL of the names and randomize based on the number you put (from 0 to 100). Find out more about the mode down below!

    What's New

    Config changes
    - randomisePersonalitiesOnServerStart was renamed to randomizePersonalitiesOnServerStart

    - deployCustomSAINPreset was renamed to autoUpdateSAINPreset (enabled by default!)
    - Changed structure of personalitiesToUse, now it has weightings (chances to get assigned) that work ONLY with globalMode enabled. Now it looks like this:
    "personalitiesToUse": {
    "Wreckless": 10, <----- chance for this personality to be assigned to bot
    "GigaChad": 40 <----- chance for this personality to be assigned to bot
    ...add more here...

    }

    - Added global mode. When enabled will use ALL names and the weightings assigned to personality at personalitiesToUse (look above)


    Overall changes
    Updated SAIN preset
    - Now using SAIN extracts
    - LimitAIvsAIGlobal was enabled back to prevent loss in performance
    - Wreckless personality can't be assigned randomly anymore
    Code changes
    - Got rid of checking for first.run flag, now everything is automatic

    - Improved functions and it's interaction
    - Improved logging, more comments added
    - Added SAIN preset auto-updater
    - Now mod uses getRandomPersonalityForGlobalMode() and getRandomPersonalityIgnoreWeights() when Global Mode is disabled.

    This is the last update for this year, gotta somehow celebrate the end of this year and
    that's why I added something in this mod that some people needed! Let New Year bring us peace! <3

  • Version 1.3.1

    "Besides bots having almost no scatter, low recoil and deadly fast reactions, we made Gigachads and Wreckless even more dangerous. You WILL die."

    Now comes with custom SAIN preset! It will be automatically installed into your SAIN presets but your choice still stands - use it or not.
    On the other note..
    - Fixed package.json containing wrong version
    - On first mod run it will install custom SAIN Preset, you'll find it in your F6 menu!

    - New config option deployCustomSAINPreset - Basically just resets the custom preset if you edited it yourself later on! You don't need to turn this on otherwise

    - Updated Twitch names and the regex formula. Now it also searches for _TV names
    - Doesn't have Live Mode option anymore. The mod will use BotCallsigns config options to detect if it was enabled.

    - Names were updated. You may want to update Bot Callsigns mod as well to prevent any unexpected errors!

  • Version 1.3.0.2

    🎄 Happy Upcoming New Year Update! 🎄

    Requires latest Bot Callsigns mod (v1.4.0) installed!


    What's new
    - Complete code overhaul. Wow!
    - Config changes. useIncludedNames was renamed to useCustomNamesAndPersonalities and is now enabled by default.
    - personalityLiveMode was renamed to personalitiesToUse and now can contain any personality available at SAIN. Will be used when randomisePersonalitiesOnServerStart or Live Mode is enabled.
    - New config option randomisePersonalitiesOnServerStart. Every server start will randomize the name's personalities using personalitiesToUse. Enabled by default!
    - Fixed all possible conflicting cases with Live Mode and randomisePersonalitiesOnServerStart
    - Added missing logging to provide more information for user
    - Updated all names!
    - Now your_names.json shows how it's properly done by having pre-made custom names and personalities! Watch out - There's LVNDMARK too ;)

    Enjoy, love, be happy. I'll see you later <3

  • Version 1.2.1

    What's new

    - Updated names from latest BotCallsigns update

    Upcoming
    - Ability to spread more than one personality over names resulting in more variety (you'll be the one choosing)

  • Version 1.2.0

    Previous versions of this mod paired with BotCallsigns will not work if you update to this version. Make sure you update BotCallsigns to version 1.3.1.


    Make sure you backup your_names.json to avoid overwriting if you made changes before this update!

    What's new


    Fixed liveMode errors. Now mod waits for readiness of other mod finishing generating names file and only then proceeds
    liveMode logging was improved. If there are any errors left, please let me know.

    Added missing personalities that were listed in your_names.json initially.

    Thanks for the comments. SPT community, you're all the best <3

  • 非常棒的模组。但是我遇到了一些疑惑。在游戏里我遇到的PMC和BOSS往往更强了 这非常符合我的预期。

    但是我所遇到的SCAV却变得比以往更笨了(相比SAIN默认)他们往往只会朝一个方向走,甚至我离他不到10米了他却还是只会照常行走(尽管我攻击他了)。

    请问有什么方法可以改进这个问题吗?因为我想让SCAV保持一定的威慑……

    • Yes, I can work on buffing SCAVs a little! Stay tuned!

  • Hello, this is a great mod. However, after using the mod, the game shuts down too often. Is there any problem if I extract and use only the presets separately?

    • I need more clarification on this. This shouldn't happen as the mod runs once and I haven't had any issues with SAIN preset, however, please rephrase your question, what presets you wanna use separately? Like switching them or?

    • Can I only use the death wish (twich player) preset included in the mod?

    • No, totally not! It's just recommended so, but it is entirely up to you, use it or not. Use whatever you like!

    • Thank you for your kind reply!

      Heart 1
  • It would be great to be able to extend the functionality to allow a database of callsigns, each with an individual personality (brain type) and difficulty setting. So far, closest I've found was to assign personalities, and then customize the global personality difficulty settings. Really cool idea though!

    Heart 1
    • Oh, actually great suggestion! And by that you mean, make the mod working with all the names from Callsigns?

    • That would be great. Basically, allow you to curate a list of names (callsigns), with personalities and skill (SAIN difficulties) per name.

    • I will definitely take a look! Might take me some time to implement this so stay tuned ;)

      Thumbs Up 1
  • Just a heads up! Version 1.3.0.2 is missing an invalid version string in the package.json.

    Crying 1
    • Change it to 1.3.2 and the error will be fixed

    • Whoops, my bad! Fixed now! You can re-download v1.3.0.2 now :)

      Thumbs Up 1 Heart 1
  • Cool idea but looks like this just make PMC's instance headshot you the moment you peak.

    Tested after 5 raids and theyll headshot you no matter the distance, and I was using default SAIN settings.

    • I am not sure about this but I have encountered a couple of them in my raids. They're extremely aggressive but I wasn't getting hs'd from them really. You might wanna lower the chance bots aim for your head in SAIN settings. Considering I am using the hardest preset possible with this mod, I never saw them insta headshot me. But thanks for the feedback!

      Ooor.. Open the config file and change their personality to a lower one :) (Chad, GigaChad, etc)

      Hope this helps with your experience! <3

    • Thank you for the reply :) I will definitely mess more with this and thank you for your work!

      Heart 1
  • Since you said "Can be Rat, SnappingTurtle, Chad, GigaChad, Wreckless (let me know if I missed some)" I should probably ask, does this mod also include the Normal, and Timmy personalities? Thanks in advance if you respond!

    Heart 1
    • Whoops, missed that, yes you're right it can be any personality that SAIN has!

      Heart 1
    • Thank you, just making sure! Great mod btw, I've already been testing it, and it works very well so far. I've got a massive list of characters from movies, TV, games, and my buddies names lmao, so it's cool to put a real playstyle to their names.

      Heart 1
    • Neat! I'm glad this can expand freedom for your imagination a little :)

  • This does not seem like it would work with FIKA or anyone running the SPT server separate from the client install? (With how it has to write to the sain personalities file)

    • Tested with Fika. The only requirement really is to have the mod installed on the host, since these sain settings and personalities would be used. But I'd still suggest to have the mod for everyone else playing

    • However, I am not sure if other person hosts the raid. That needs to be tested

    • Ya so the host/dedi/whoever needs to be on the same machine as the server. Which will rule out a decent amount of people.

      Heart 1
    • Yep

    • I imagine ModSync could do this, given it syncs client mods from the server to clients. You set up your configs as standard/defaults, and put them on the server, and ModSync downloads that to the clients. They can then edit things on their own if they want, with the caveat that if the standard/default on the server is updated, ModSync will want to overwrite the local copy.

  • hey out of context but by any chance do u have a preset for sain as well which is close to live like, easy scavs and great pmc players

    Heart 1
    • I use death wish preset with vanilla SCAV behaviour to make them stupid as hell. That's all I did, hope this helps!

    • I will try that, thank u

    • By the way, it comes with a SAIN preset now! You may want to try it out :)

  • cant wait to get shot to pieces by lvndmark in pve now

    Happy 1
    • You're lucky he's not there.. But that's only the matter of time ;)

  • This is pretty neat. Good job!

    Heart 1