hereami Posted August 21, 2022 Share Posted August 21, 2022 (edited) Hi.It is said that settlement beds should be under roofs, but does the game really care, and if does then how? Workshop script is a total mess, but anyway i doubt if can see anything relevant there.Let's say buildable Vault structures may have acoustic space attached, meaning they have some primitive integrated into model to apply aspc object to (or whatever other way it's done), why can't be "weather shelter primitive" then embedded into roofs and prefabs, especially when procedures can process volumes as Package location. Settlers certainly don't care about weather, unlike as in some games like Witcher, don't know what's going on in Skyrim, is that behaviour fully absent in CE or just discarded exactly for Fallout as another "excessive" feature (hm, like bendable trees, negative PushAway() and whatever else good i don't know about)? Edited August 21, 2022 by hereami Link to comment Share on other sites More sharing options...
StormWolf01 Posted August 21, 2022 Share Posted August 21, 2022 Heyas HereAmI. :)Ummmm... some of what you're talking about is over my head, and is greek to me. So I apologize that I can only answer the simple question.Beds under roofs. That's a negative. No, the game doesn't care. The settlers don't care. That quest in Sanctuary... doesn't care. I've literally completed that quest by throwing sleeping bags down in the street ;)Beds for the most part, are only a part of the settlement system. You have to have an equal number of beds to number of settlers. Or you can't recruit more settlers. There's mods that have options to say, use a power generator that provides 30 beds to the settlement rating. But, provides no actual beds. Sorry that I can't answer the heavier stuff, but there's what I can give you ;) Link to comment Share on other sites More sharing options...
niston Posted August 22, 2022 Share Posted August 22, 2022 There's the "shelter" mechanic.I speculate it works by raycasting upwards from a bed, to see if there's something above it that is -at least- not transparent. Theoretically, sheltered beds provide more happiness than unsheltered ones.In practice, the mechanic is broken AF, which is why mods like Workshop Framework (or was it Workshop Plus) offer an option to disable this mechanic entirely. Link to comment Share on other sites More sharing options...
SKKmods Posted August 22, 2022 Share Posted August 22, 2022 Workshop Ownership Utilities can identify and mark unsheltered beds: A sheltered bed HasKeyword IsSleepFurniture, IsLinkedTo Workshop:WorkshopItemKeyword, ActorValue Bed (aka WorkshopRatingBeds) == 1 An unsheltered bed HasKeyword IsSleepFurniture, IsLinkedTo Workshop:WorkshopItemKeyword , ActorValue Bed (aka WorkshopRatingBeds) == 0 You will see in WorkshopObjectScript function IsBed() which gets the bed ActorValue attached to the object. So may think no problem I'll just add AV bed value 1 to the base form. But, not so fast, as it is updated SOMEWHERE ... if you move a bed from shelter to unsheltered the actor value is updated by SOMETHING probably a game engine function as ObjectReference.SetValue(Bed or WorkshopRatingBeds) is not findable in the scripts. Also to add confusion WorkshopParentScript only counts beds that are sheltered with ActorValue Bed == 1 for happiness, but of course the workshop UI shows the total bed count regardless of bde shelter value in the status bar. LOLs all 'round. Link to comment Share on other sites More sharing options...
hereami Posted August 23, 2022 Author Share Posted August 23, 2022 (edited) Thanks all ! Well, now i've looked more focused, thanks again, and indeed there's "sheltered" thing. Trail ends at GetWorkshopResourceObjects(), which is native and obscured, so that exact detection method remains unknown, raycast toward occlusion material sounds plausible, yes. Handled by Workshop mode even when building a roof after bed (but if you MoveTo() a bed from under a roof manually it stays "sheltered", so, Workshop mode is the only processor, no hopes for Actor knowing about roof by himself). Bed AV is Hardcoded and there is GetBaseValue vs GetValue, that's how game differentiates bed quality and maintains amount simultaneously, unsheltered beds return BaseValue=1, and GetValue=0, pretty clever i'd say. But i didn't test what happens for BedAV>1, either Workshop decrements by 1 or by total, curious, but doesn't matter much for me. Actually did, but for a MSTT, and no, MSTT doesn't hook into "sheltered" concept at all, no AV change, suppose there should be a fake furniture then, if some tiny marker is wanted. Not sure what's broken there, detection seems be working and script uses that extra info for some bonus happiness exclusively, but i would rather made non-roofed beds to not count as valid altogether instead. Now that's great to know and can be exploited for some modding purposes. But what i was ranting about dispraising, is that NPC don't search for a roofed area in rain by default, and cannot become aware about exact shape of rain-occlusion areas or identify them from distance even if that's a workshop structure, at least there seems be no obvious interface for that. ps.niston, haha, now i see. Anything what has AVs Bed + WorkshopResourceObject always counts as sheltered bed, but only a sleep-enabled furniture (having Unknown31 flag as third mandatory element nah, just AV + Unk31) can receive the "open sky" penalty. Bit exaggerated requirements, i think, but anyway technical part works, which is good.pps.Hah, that's pretty useless anyway, pointless to find a fool-proof shelter spot when you're sitting under a roof, and actors have no idea if they are in open space or not to properly control procedures flow. Edited August 24, 2022 by hereami Link to comment Share on other sites More sharing options...
Recommended Posts