Jump to content

Dismissed Custom Companion Returns to Spawn Point


FlashyJoer

Recommended Posts

Hi all,

 

Ive got a vexing problem I am pulling hair out trying to resolve. I have a custom companion I am working on. I have mimic'd the settings from Piper and cross verified with Cait and Curie also, in attempts to resolve the issue of a dismissed companion not sandboxing in the selected settlement. They dismiss fine, per FollowersScript, are added to the settlement population count - heck I can even enter workshop mode and assign them to a job and it shows the assignment and modifies the settlement resource count. I can even send them to another settlement. All to the same outcome - the NPC walks back to their original editor location (in this case Vault 111) and never goes to the actual settlement they have been assigned to.

 

For whatever reason, the packaging to sandbox them in the settlement is not taking, almost as if the AddPermenantActorToWorkshop function of the WorkshopParent script is not updating the Home Location values on the NPC (if that is the script that is - Ive been trolling through WSParent, CompanionActor, WorkshopNPC and FollowersScript all night trying to find the issue - so pardons if I got the script name wrong for the function in question).

 

What I need to do is ensure the NPC updates home location on dismiss or settlement reassignment.

 

As stated, all script properties on companionactorscript and workshpNPCscript all match existing companions - I cannot see any discrepancy. I know the NPC is filling the companion alias on Followers simply due to the fact that they follow and open up the usual dialogues for trade, dismiss, talk, etc. Just the FollowerScript.DismissCompanion() function is not assigning a new editor location to sandbox in. I have tried to change script property for companionactorscript to have home location as Vault 111 AND changed it to Sanctuary HIlls, both to same outcome - the companion takes the long elevator ride down...

 

This NPC does not have any default packaging on their actor record, if this assists in helping me to narrow down a possible issue. And I thank anyone in advance for some pointers or a solution.

 

Thanks!

Edited by joerqc
Link to comment
Share on other sites

Could be a dumb question to ask, but did you tried it in a game save where you didn't loaded this mod yet?

 

Oh yeah. Brand new game each time I start it, where the mod has never been in place.

 

I just tried adding a default sandbox package for 1024 units around editor location directly to the actor record, to no avail. No matter what, upon dismissal and selection of Sanctuary as home, she goes to Vault 111.

 

SQV on Followers clearly shows the actor filling the companion alias. So I am at a complete loss... but as near as I can figure, for some unfathomable reason, the Home Location on companionactorscript is not getting updated.

Edited by joerqc
Link to comment
Share on other sites

The CompanionActorScript that is attached to the base actor has a property in which you set a dismiss scene, at the end of this scene it changes to another stage of the quest of this scene, this stage has a fragment which calls a function:

FollowersScript.GetScript().DismissCompanion(Alias_CompanionName.GetActorReference())

Did you configured a dismiss dialogue properly so this function is called at some point?

Edited by DieFeM
Link to comment
Share on other sites

The CompanionActorScript that is attached to the base actor has a property in which you set a dismiss scene, at the end of this scene it changes the stage of the quest containing this scene, this stage has a fragment which calls a function:

FollowersScript.GetScript().DismissCompanion(Alias_CompanionName.GetActorReference())

Did you configured a dismiss dialogue properly so this function is called at some point?

 

yeah, that exact fragment runs at end of dialogue for dismissal. She is dismissed and no longer inhabits the companion alias per sqv followers. Its dismissing her fine and I can pick her back up as a companion immediately after and she follows along as usual, with full access to the top level menu when activated. Also she refills the companion slot in followers.

 

I simply wonder if the companionactorscript is failing to run on this actor record and thus the home location never gets updated.

Link to comment
Share on other sites

Your base actor have the companion factions that the other companions have? That's the last question I had, if this is not the problem I would recommend you to try it again after sleeping. You'll find out for sure.

Link to comment
Share on other sites

Had similar symptoms with a couple of base game companions using my unlock all companions mod.

 

What happened is another quest with a higher priority than Workshops.PermanentActorAliases had a sandbox at location package set to the editor location. Or the quest/package was in force before mine kicked in ... not sure how priority is forced.

 

In these cases, rather than thrash around debug.trace GetCurrentPackage() and see who has control.
Edited by SKK50
Link to comment
Share on other sites

Thanks SKK50! That was precisely it.

 

I was trying to mimic how Llama was doing Heather, with a quest running a custom Follower Package, but the thing is, there is no alias on that quest to receive the new settlement location, which is likely why the Go Home editor location was not updating and using the default spawn location. If I want to continue going this route, it appears I need to add some aliases to that quest to house the workshop ID from workshopparent - likely using a linked external alias...

 

At any rate, by not using that alias package, as a test, I was able to dismiss my companion and have them take up residence in the settlement in question, as well as work the plants they'd auto-assigned themselves to.

 

Genius! :smile:

Edited by joerqc
Link to comment
Share on other sites

You can keep doing it your way, just pop a condition on your sandbox package to only run / or not run if the actor is / not in the PermanentActorAliases alias (or something, don't remember if IsAlias or IsInAlias is a condition).

 

The only trick then is to call valuatePackage() so the switch happens as FollowersScript doesn't do this, assuming the package stack clears when the actor is removed from the Companion alias.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...