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: Investigating
Issue Type: Bug Report
Project: Unofficial Starfield Patch
Component: Starfield: Vanilla
Category: Quests & Dialogue
Assigned To: Nobody
Platform: All
Severity: Very Low
Votes: 0
Watching: N/A
Opened By DayDreamer on Feb 19, 2025 1:53 pm
Last Edited By Arthmoor on Apr 5, 2025 4:01 pm

Issue #34909: Stoneroot Inn objective never clears

 
The objective to visit your room has not cleared. I'd only rented for 1 day. It's days later. I've left Akila, and visited 4 planets, and am now in the Lodge.

Related Issues: 34362  34910  

Comments

2 comment(s)
Arthmoor said:
 
Having looked into this, all of the standard bed rental people use the same quest: SQ_Hoteliers.

This quest is very simple and straightforward. It has 2 aliases defined. PrimaryAliasHotelier, which we are not concerned with, and RentedBeds, which may be of some use here.

When the player asks to rent a room, the hotel vendor runs a call on SQ_HoteliersActorScript to the RentRoom() function, either for daily or for weekly rent. This sets up a link between them and the room trigger where the actual bed is. An expiration timer is set during this process, which has the ability to extend the amount of time on the room rental. Once that is done, the function calls on UpdateBedsAliasAndObjective() to set the objective to "Visit your rented room". All of this seems fine.

The problem is that the actual check to see if you are or are not near the bed is on a separate trigger object in the room the bed is placed in. This is nothing more than a simple set of trigger events to see whether or not you're in the room. That's all done on SQ_HotelierTriggerScript. There's one for OnLoad, OnTriggerEnter, and OnTriggerLeave. Each of these calls an Update function. That Update function starts a 3 second timer. Among other things, at the end it calls UpdateBedsAliasAndObjective() to update the bed's status. This is the ONLY time rental status on the room is checked. The expiration timer which should have been used for the overall check on the objective is never used as far as I can see.

The obvious result is that once you've left the rented room, the status of the bed is never checked again until you go back to the cell where the room is located and it calls the OnLoad() event. So you could be 3 years in game time into things and it will never update this objective. Whoever set up this system overlooked checking the expiration time value in any way.

There is an additional complication from this as well. If you go somewhere else to rent a room, like Hotel Volii in Neon, it will run all of the above checks against a different hotel vendor. If Stoneroot Inn has never cleared out, then it appears as though the reference collection which holds the rented beds will never be able to fully clear itself which will result in this objective becoming permanently stuck.

In order to fix this it appears as though there will need to be logic added to this set of scripts to actually check the expiry time on the room rental so that this objective will be silently removed from your log. The quest itself can not be shut down or no room rentals will work anywhere ever again.

DayDreamer said:
 
Thanks. I'd looked at the scripts, and couldn't figure out what was happening with the quest and triggers. What a mess.

I've also checked my older report about Hotel Volii (now marked duplicate). It checks for the room rental being over only as you are about to enter the room after getting off the elevator, the door swings shut, and you have to take the loading door elevator back downstairs to rent again. Terrible design. Really annoying slow loading doors, too.

Better that the triggers be only used for marking how to get to the room (similar to Skyrim "I'll show you to your room";), and then the objective goes away.

The underlying assumption that you can only use one hotellier at a time is another problem. What about renting in Stoneroot for a week, and Volii for a week, and also Sleepcrates for a day? How does this setup work?

Showing Comments 1 - 2 of 2