Unable to sleep in Astronomy Observatory
Describe the bug
- Both Santiago and Ioana are trapped and unable to sleep or leave the observatory
- They were both assigned a bed in zone 0.
- However, now they are in zone 1. The logic won't allow them to sleep.
Expected and unexpected behavior
- Even if a settler occupies a bed in zone 1, if he's in zone 1, he should be able to sleep in a guest or a makeshift bed in zone 1.
Java classes involved
- LivingAccommodation, Sleep
To Reproduce (Please provide steps)
- Use the Hub Base settlement template where a separate Astronomy Observatory is present.
Screenshots
-
Two persons are trapped in the observatory, unable to egress due to high fatigue.
-
The very last time he slept was in sol 10. Now in sol 14.
Stacktrace
01-Adir-01:000.000 (Info) LivingAccommodation : [Heritage - Residential Quarters 3] Ioana Ciobanu - Given a permanent bed at (-172.5, 102.2)(Bed #11).
...
01-Adir-12:805.994 (Info) ExitAirlock [x288] : [Heritage - EVA Airlock 3] Ioana Ciobanu - Not EVA fit to request egress. Current task: Relaxing.
...
01-Adir-12:930.131 (Info) EVAOperation : [Heritage] Ioana Ciobanu - EVA Loading Vehicle by EVA aborted: Super unfit.
...
01-Adir-12:960.522 (Info) ExitAirlock [x192] : [Heritage - EVA Airlock 3] Ioana Ciobanu - Not EVA fit to request egress. Current task: Tending crops.
...
01-Adir-13:011.414 (Warning) RoverMission : [Heritage] Ioana Ciobanu - Unable to start walking to Desert Fox.
...
01-Adir-15:959.152 (Info) ExitAirlock [x893] : [Heritage - EVA Airlock 3] Ioana Ciobanu - Not EVA fit to request egress. Current task: Listening to Music.
Specifications
- post 3.7.0 build 9207
Additional context
- Q: is it by design that ZERO tasks are available after a certain high value of fatigue ?
01-Adir-08:280.592 (Config) LivingAccommodation : [Hartmann Base] Ivaan Uddin - Cannot find a bed.
01-Adir-08:280.754 (Info) EVAOperation : [22.2000 N 23.4001 W - Dust Storm] Ryan Carter - EVA Mining a Site aborted: EVA ended.
01-Adir-08:281.242 (Info) EVAOperation : [22.2000 N 23.4001 W - Dust Storm] Ryan Carter - EVA Mining a Site aborted: EVA ended.
01-Adir-08:281.242 (Config) LivingAccommodation : [Hartmann Base] Ivaan Uddin - Cannot find a bed.
01-Adir-08:281.569 (Config) LivingAccommodation : [Hartmann Base] Ivaan Uddin - Cannot find a bed.
-
The first commit earlier didn't work as intended yet.
-
It's sol 8:285 now. He hasn't been able to fall asleep in the observatory on sol 8.
-
At least he has tried but the logics wouldn't let him yet.
I've found out why a person cannot sleep in the observatory.
01-Adir-07:363.716 (Config) LivingAccommodation : [Hartmann Base] Tereza Němec - Cannot find a bed.
01-Adir-07:363.716 (Warning) Sleep : [Hartmann Base] Tereza Němec - No bed can be found; sleeping rough at Spot #3 @ Astronomy Observatory 1
Will commit in a second
Is there another bug to resolve to incorporate into 3.7.1 ?
Fixed.
@bevans2000,
Even though now it's able to sleep in Astronomy Observatory, it still may not be the best way of handling it. See the stacktrace below :
01-Adir-02:449.896 (Info) Sleep : [Terminus] Ray Bradbury - Sleep adjusted for shift starts at 470. Duration: 20
01-Adir-02:449.896 (Config) LivingAccommodation : [Terminus] Ray Bradbury - No bed assigned.
01-Adir-02:449.896 (Warning) Sleep : [Terminus] Ray Bradbury - No bed found. Sleeping at 'S #6 @ Astronomy Observatory 1'.
In case of Ray Bradbury, he has already been in the observatory for a short while and was about to go to sleep.
However, since the observatory was not in zone 0 but was an isolated building in zone 1, he couldn't find a bed there.
Essentially, it was reported that he had to find a place somewhere inside the observatory to rest inside a sleeping bag.
So, how do we model a makeshift bed, or even a sleeping bag in this case a traveller like Ray Bradbury ?
Astronomy Observatory doesn't have beds, as seen below,
<building type="Astronomy Observatory" width="7.0" length="7.0" north-south-alignment="length" base-level="0"
wear-lifetime="3340000" maintenance-time="250" room-temperature="22.5" base-mass="3000">
<description> The Astronomy Observatory is a small self-contained observatory building
furnished with an optical telescope, research workbenches and laboratory equipment.
</description>
<power-required base-power="2.0" base-power-down-power="0.2" />
<functions>
<astronomical-observation tech-level="4" capacity="8" power-required="4.0">
<activity>
<!-- Near the center core -->
<!-- Left side -->
<activity-spot xloc="0.5" yloc="0.7" />
<activity-spot xloc="0.8" yloc="0.4" />
<activity-spot xloc="0.8" yloc="-0.4" />
<activity-spot xloc="0.5" yloc="-0.7" />
<!-- Right side -->
<activity-spot xloc="-0.5" yloc="0.7" />
<activity-spot xloc="-0.8" yloc="0.4" />
<activity-spot xloc="-0.8" yloc="-0.4" />
<activity-spot xloc="-0.5" yloc="-0.7" />
</activity>
</astronomical-observation>
<computation computing-unit="2.0" power-demand="1.0">
<activity>
<!-- Left side -->
<activity-spot xloc="-2.0" yloc="1.6" />
<activity-spot xloc="-2.0" yloc="-1.6" />
<activity-spot xloc="-2.15" yloc="1.35" />
<activity-spot xloc="-2.15" yloc="-1.35" />
<!-- Right side -->
<activity-spot xloc="2.0" yloc="1.6" />
<activity-spot xloc="2.0" yloc="-1.6" />
<activity-spot xloc="2.15" yloc="1.35" />
<activity-spot xloc="2.15" yloc="-1.35" />
</activity>
</computation>
<!-- The building has facilities for eating meals. -->
<dining capacity="2">
<activity>
<activity-spot xloc="0.5" yloc="1.85" />
<activity-spot xloc="-0.5" yloc="1.85" />
</activity>
</dining>
<life-support capacity="8" power-required="0.4" />
<power-storage capacity="40" discharge-rate="1.25"/>
<research tech-level="4" capacity="3">
<research-specialty name="ASTRONOMY" />
<research-specialty name="COMPUTING" />
<research-specialty name="PHYSICS" />
<activity>
<activity-spot xloc="1.45" yloc="1.45" />
<activity-spot xloc="-1.45" yloc="1.45" />
<activity-spot xloc="1.45" yloc="-1.45" />
<activity-spot xloc="-1.45" yloc="-1.45" />
</activity>
</research>
<robotic-station capacity="2">
<activity>
<activity-spot xloc="-1.6" yloc="0" />
<activity-spot xloc="1.6" yloc="0" />
</activity>
</robotic-station>
<storage capacity="10000">
<resource-capacity type="methane" amount="2000.0" />
</storage>
<therma
Do we want to add bed in the astronomy observatory at all ?
To me, it makes more sense to use some kind of relocatable or temporary bed, which takes a short time to put together for anyone to crash there. When done, fold it back into a box or something for stowage.
Any ideas how to proceed ?
Currently, we have this tag for both Compact Quarters and Residential Quarters
<living-accommodation capacity="11" guesthouse="true">
It means 11 beds are for permanent assignment, 1 bed is for guest.
I don't exactly like the way it's presented by this tag.
Should we change it to
<living-accommodation capacity="11" guest="1">
or something similar ?
<building type="Residential Quarters" width="7.0" length="9.0" north-south-alignment="length" base-level="0"
wear-lifetime="3340000" maintenance-time="150" room-temperature="22.5" base-mass="2000">
<description> The Residential Quarters is the first full living accommodation building
that is configured to house as many as 12 beds. It also provides storage space
for critical rate resources. It is furnished with a solar panel rooftop.
</description>
<power-required base-power="2.0" base-power-down-power="0.2" />
<functions>
<life-support capacity="18" power-required="0.9" />
<living-accommodation capacity="11" guesthouse="true">
<activity>
<activity-spot xloc="2.2" yloc="3.15" />
<activity-spot xloc="2.2" yloc="1.7" />
<activity-spot xloc="2.2" yloc="0.38" />
<activity-spot xloc="2.2" yloc="-0.2" />
<activity-spot xloc="2.2" yloc="-1.95" />
<activity-spot xloc="2.2" yloc="-3.35" />
<activity-spot xloc="-2.2" yloc="3.15" />
<activity-spot xloc="-2.2" yloc="1.7" />
<activity-spot xloc="-2.2" yloc="0.38" />
<activity-spot xloc="-2.2" yloc="-0.2" />
<activity-spot xloc="-2.2" yloc="-1.95" />
<activity-spot xloc="-2.2" yloc="-3.35" />
</activity>
</living-accommodation>
Well with any activity spot list the capacity is redundant because the capacity is driven by the number of spots defined. The capacity can be derived from the number of spots declared. So I would drop the capacity field altogether and just keep guests. This defines how many of the beds can be used for guests