Welcome to the AFK Mods bug tracker. In order to report an issue, you need to have a VALIDATED account to post one. Once you have followed the link the registration email sent you, please select a project from the drop down menu below. Select “Open New Issue” and fill out the form with as many details as possible.

Please also consider sending your bug report to Bethesda if you are reporting on an issue with Skyrim Special Edition, Fallout 4, or Starfield. Doing so will help everyone on all platforms.

Issue Data
Status: Closed
Issue Type: Bug Report
Project: Unofficial Fallout 4 Patch
Component: Fallout 4: Automatron DLC
Category: Papyrus
Assigned To: Sclerocephalus
Platform: All
Severity: Low
Votes: 0
Watching: N/A
Opened By Sclerocephalus on Mar 12, 2017 3:37 am
Last Edited By Sclerocephalus on Sep 28, 2018 3:56 pm
Closed By Sclerocephalus on Dec 3, 2018 12:52 am
Resolution: Fixed
Comment: Fixed for UFO4P 2.0.6

Issue #22122: Ada is missing a mandatory property on her CompanionActorScript

 
[03/11/2017 - 01:59:43PM] error: Cannot call GetValue() on a None object, aborting function call
stack:
[ (0100FF12)].companionactorscript.OnInit() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 339
[03/11/2017 - 01:59:43PM] warning: Assigning None to a non-object variable named "::temp17"
stack:
[ (0100FF12)].companionactorscript.OnInit() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 339


What's missing is the global that defines a follower's starting affinity. Maybe this was omitted on purpose because she's not a human follower, but even then it would have been better to fill that property with a bogus global - because the script is constantly processing that global and will continue to throw errors!

UPDATE:
It turns out that there are pretty much all companion-specific properties missing on Ada's script, and that the globals etc. that should be filled in these properties do not exist!
The base game defines a set of globals for each companion, but in the Automatorn DLC, a matching set for Ada is nowhere to be found.

Comments

5 comment(s) [Closed]
Lonewanderer said:
 
I think I can add something, which fits: Ada behaves different in every game, I think!

Ada at start has Protectron legs, and looks clumsy and is slow. So the first thing I always did in several playthroughs is parking her somewhere and continuing to play, until I find Assaultron legs in a robot encounter. Then I mount these on Ada, and she moves well. Sometimes too well...

Ada seems sometimes fast, but civilized, in my current game she is nearly unbearable, permanently walking around and talking without pause, always running in my line of fire, walking through dialog sequences, and so on. She is worse than Dogmeat. This was not always so. In other games she is fast, but behaves normal.

Could it be, that her combat parameters and behavior is uninitialized and random because of this? She is and was always very strong and deadly, this never changes. But her behavior changes.

I tried a mod, where you can set the distance of a companion. The mod just uses existing routines in the game to set these - it just was never implemented in the dialogues. But Piper and Cait behave completely different in this respect, so there are different combat behaviors.

Since I used the mod to set Adas distance to far, she behaves normally, even when I reset it to medium (which should be default) or even near.

This is not the reported bug, where you cannot talk to Ada after the first caravan battle, where you get to know her! This worked in all my games.

Also it is my impression, that working on Ada in the robot workbench can slightly change her behavior in combat and outside combat. But I may be mistaken...

BlackPete said:
 
I got the same error as in the original report, but also with line 340 (not just 339):

[12/19/2017 - 11:39:33PM] error: Cannot call GetValue() on a None object, aborting function call
stack:
[ (0100FF12)].companionactorscript.OnInit() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 340
[12/19/2017 - 11:39:33PM] warning: Assigning None to a non-object variable named "::temp17"
stack:
[ (0100FF12)].companionactorscript.OnInit() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 340

BlackPete said:
 
Also getting the errors below (something is obviously very wrong with Ada's companion script). If I should move this to a different ticket, let me know.

[01/17/2018 - 12:13:46AM] error: Cannot access an element of a None array
stack:
[ (0100FF12)].companionactorscript.GetNextThreshold() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 1207
[ (0100FF12)].companionactorscript.TestValueForAffinityBump() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 1655
[ (0100FF12)].companionactorscript.GetWithPlayerAffinityGain() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 300
[ (0100FF12)].companionactorscript.HandleWithPlayer() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 684
[ (0100FF12)].companionactorscript.OnTimer() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 426
[01/17/2018 - 12:13:46AM] error: Cannot access a variable of a None struct
stack:
[ (0100FF12)].companionactorscript.GetNextThreshold() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 1207
[ (0100FF12)].companionactorscript.TestValueForAffinityBump() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 1655
[ (0100FF12)].companionactorscript.GetWithPlayerAffinityGain() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 300
[ (0100FF12)].companionactorscript.HandleWithPlayer() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 684
[ (0100FF12)].companionactorscript.OnTimer() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 426
[01/17/2018 - 12:13:46AM] error: Cannot call GetValue() on a None object, aborting function call
stack:
[ (0100FF12)].companionactorscript.GetNextThreshold() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 1207
[ (0100FF12)].companionactorscript.TestValueForAffinityBump() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 1655
[ (0100FF12)].companionactorscript.GetWithPlayerAffinityGain() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 300
[ (0100FF12)].companionactorscript.HandleWithPlayer() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 684
[ (0100FF12)].companionactorscript.OnTimer() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 426
[01/17/2018 - 12:13:46AM] warning: Assigning None to a non-object variable named "::temp372"
stack:
[ (0100FF12)].companionactorscript.GetNextThreshold() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 1207
[ (0100FF12)].companionactorscript.TestValueForAffinityBump() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 1655
[ (0100FF12)].companionactorscript.GetWithPlayerAffinityGain() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 300
[ (0100FF12)].companionactorscript.HandleWithPlayer() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 684
[ (0100FF12)].companionactorscript.OnTimer() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 426
[01/17/2018 - 12:13:46AM] error: Cannot access an element of a None array
stack:
[ (0100FF12)].companionactorscript.GetNextThreshold() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 1209
[ (0100FF12)].companionactorscript.TestValueForAffinityBump() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 1655
[ (0100FF12)].companionactorscript.GetWithPlayerAffinityGain() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 300
[ (0100FF12)].companionactorscript.HandleWithPlayer() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 684
[ (0100FF12)].companionactorscript.OnTimer() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 426
[01/17/2018 - 12:13:46AM] error: Cannot access a variable of a None struct
stack:
[ (0100FF12)].companionactorscript.TestValueForAffinityBump() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 1655
[ (0100FF12)].companionactorscript.GetWithPlayerAffinityGain() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 300
[ (0100FF12)].companionactorscript.HandleWithPlayer() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 684
[ (0100FF12)].companionactorscript.OnTimer() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 426
[01/17/2018 - 12:13:46AM] error: Cannot call GetValue() on a None object, aborting function call
stack:
[ (0100FF12)].companionactorscript.TestValueForAffinityBump() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 1660
[ (0100FF12)].companionactorscript.GetWithPlayerAffinityGain() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 300
[ (0100FF12)].companionactorscript.HandleWithPlayer() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 684
[ (0100FF12)].companionactorscript.OnTimer() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 426
[01/17/2018 - 12:13:46AM] warning: Assigning None to a non-object variable named "ThresholdValue"
stack:
[ (0100FF12)].companionactorscript.TestValueForAffinityBump() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 1660
[ (0100FF12)].companionactorscript.GetWithPlayerAffinityGain() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 300
[ (0100FF12)].companionactorscript.HandleWithPlayer() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 684
[ (0100FF12)].companionactorscript.OnTimer() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\companionactorscript.psc" Line 426

Comment #3 Jan 18, 2018 2:06 am  Edited by BlackPete on Jan 18, 2018 2:09 am
Arthmoor said:
 
As with the other Ada ticket like this, we have no idea what values are appropriate so we can't come up with proper substitutions. We'd be guessing at best and have no idea what the intent ever was with her.

Sclerocephalus said:
 
A close inspection of the errors show that > 95% of the log spam comes from the TestValueForAffinityBump() and GetNextThreshold() functions. If i an error occurs in the latter function, it has always been called by the former function. Not a big surprise because TestValueForAffinityBump() tries to access an array that holds structs with all the globals that are missing on Ada. To put it short, Ada's ThresholdData_Array does not exist.

These functions run on a timer event, so are called in regular intervals and make the log spam pretty annoying. But there's also a fair bit of unnecessary script activity involved because all of the operations lead nowhere if the array doesn't exist.

Adding a check to the beginning of the TestValueForAffinityBump() function to bail out and return 'false' if said array does not exist This both eliminates the log spam and saves a fair bit of unnecessary script activity.

Showing Comments 1 - 5 of 5