the Sim Settlements forums!

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Suggestion Issues with ownership settings on pre-placed beds

Sclerocephalus

New Member
Messages
3
Last year I ran extensive tests on the vanilla workshop script bed assignment procedures for UFO4P 2.0.4, and it turned out that there is a specific issue with pre-existing (i.e. editor placed, NOT player built) beds that have a specific actor owner (i.e. an editor placed workshop NPC) assigned.

The workshop scripts assign a bed to a settler by calling SetActorRefOwner() on the bed with the respective settler passed in. To clear ownership again, the same function is called with 'none' passed in. The workshop scripts will never unassign a bed from a settler unless the player assigns that settler to another bed. From this point of view,, beds assigned to settlers in the editor should actually not affect the bed assignment procedures. In fact, the logs generated by the workshop resets show that the scripts properly detect the ownership and they report the respective bed as assigned.

Nonetheless, something was still wrong. Going into workshop mode and looking at the beds that had an owner set in the editor, they always showed red (i.e. as unassigned), even ithough the workshop logs told the opposite. Likewise, the workshop stats that are displayed on the logs when the daily updates run their happiness recalculations will show all settlers as unassigned to any bed. Which means that the assignment of in-game constructed beds fails too: in fact, in-game created beds will be assigned by workshop resets (and they subsequently show green in workshop mode), but the assignment will be lost as soon as the player leaves the affected workshop, and the next workshop reset shows all these beds as unassigned again.

Now, if the player assigns a settler to a bed, the workshop scripts first check whether that settler already has a bed assigned and if so, will unassign that bed before they assign him to a new one. When I do this to a settler who had ownership of a bed assigned in the editor (e.g. Blake Abernathy), the next workshop reset will show him as having two beds assigned!

To put it short: Overriding an editor set actor ownership by papyrus script commands DOES NOT work [Note: funnily enough, clearing an editor set faction ownership by papyrus script commands DOES work].

Because the issue could not be solved by script modifications. UFO4P 2.0.4 manually removed actor ownership from all affected beds. Since the vanilla scripts run workshop resets also on unowned workshops, the pre-placed actors will get one of the pre-placed beds assigned as soon as the workshop loads for the first time. The only downside of this fix is that the pre-placed actors cannot have specific beds assigned: they'll use a different one in every new playthrough, but that's only a minor flaw and was thus deemed acceptable.

However, this fix still raises several issues for WSFW users:
1) Users who don't run UFO4P at the same time remain affected by the bug and have to expect that bed assignment at Abernathy Farm, Finch Farm, The Slog and Warwick Homestead remains broken. To solve this, WSFW would need to distribute an extra esp with the bed ownership overrides, for use if UFO4P is not installed.
2) As previously explained, trying to assign a pre-placed NPC to another bed could result in unwanted multiple bed ownership. Since the vanilla workshop scripts do not allow multiple bed ownership, UFO4P added a simple script modification to remove them. WSFW however does allow multiple bed ownership - but there's no simple way to discern whether multiple ownership is wanted (i.e. whether all of the beds were assigned to an actor by the player) or not (i.e. a result of the aforementioned bug). Fixing this is likely a tough nut to crack.
 
Personally, I disable/ mark for delete the preset owner beds to avoid just this issue.
 
Top