FS#21994 - Solution: Companions repeat their random dialogue non-stop once dismissed
When a companion is dismissed anywhere, they are found at that location repeating all their random voice lines non-stop. This is because an error in FollowersScript sets the values of both IdleChatterTimeMin and IdleChatterTimeMax to zero, causing constant firing. The source of the error appears to be that a variable is being used in a function that only accepts a float as a parameter, resulting in NONE.
The intent seemed to be: the companions have an interval to say their lines - when they are picked up as a companion, store those values and swap in a different pair of values - then when they are dismissed, swap back to restore original values. Except this did not work, zero is cached, None is set when the invalid parameter is passed in; and that’s that, Min and Max are zero forever.
I’ve fixed this in a patch but since it’s FollowersScript, it is incompatible with anything. This fix should be made baseline.
The relevant lines in FollowersScript are:
Around line 606 - gets the HARDCODED values from the CK, and sets up two values to “cache the current value.” Actor in-game seems to get these values at this stage.
Around line 1070 - this is where the values get swapped on acquire / dismiss.
Line 1102: I believe the function
— ;IDLE CHATTER - set them back
— does not accept variables. It seems to set companions to 0 at this stage, going by getting values from actors in-game at various points before and after dismissal. I commented out this call entirely since I can’t think of any good reason to change this interval.
At line 1084 (companion acquire), instead of blindly cacheing what we assume is a valid value with no sanity checks, I just set:
— CompanionActor.SetValue(IdleChatterTimeMin, 600)
and then they STAY QUIET when dismissed, for at least 10 minutes and possibly up to 15 :P
I am attaching the copy of FollowersScript that I edited and commented.
At launch, the interval values were Min 600 and Max 900: 10-15 minutes between random lines. This seems rational. It remained at these values until Nuka-World, which for some ungodly reason set Min and Max to 240 and 300 - meaning even if it worked, 4-5 minutes between the five random lines they say. If you fix this, I implore you to go with the original intended Vanilla default :).