Seems like doors are still pretty bugged. They almost never open when hearthlings go through them, or they will open and close randomly sometimes.
Normally not a real issue, but in my current village i made a nice wall on one side to make defending easier, and one of my doors is just stuck open. Tried everything i could think of to get it to fix, but nothing is working and now it’s just an express path for undead to get my loot :c
Doors don’t actually stop the bad guys yet. Only gates do (which is kind of wierd, but whatever). It would be nice if someone could figure ouy why the doors don’t always open and close right though.
are you sure the bad guys aren’t stop by doors ? cause I build walls with doors and they seems effective to stop’em
same here, in my last village i made a smaller wall like this and nothing came in, even when i had enemies right outside for an extended amount of time.
Late reply, but as far as I know doors don’t stop bad guys. I’ve had multiple baddies sneak in through my doors, and it’s never stopped them. Maybe a glitch? Not sure.
I’ve come across this issue too and can get a bit more technical.
The issue is related to Stonehearth’s sensor system (which is used in doors to detect incoming/outgoing entities, i.e. hearthlings). The bug can be reproduced this way:
- Unit will trigger the sensor (
trace_contents:on_added
,trace_contents:on_removed
,trace_contents:push_object_state
) as expected - Unit sleeps in a bed or sits in a chair
- No sensor trace events are fired for this unit anymore; neither
on_added
noron_removed
. Doingpush_object_state
will not yield the object either, but will yield any other object within sensor range just fine, including unaffected (i.e. those that haven’t slept/sat yet) units that happen to be nearby.
I’ve tried manually setting the parent of the unit to something else (the bed, for example) and then after a few seconds back, but then the bug did not occur.
The bug does not persist through save/load.
@RepeatPan - Thanks for the technical analysis! I will take a look at it.
Ok, fixed for the next build.
@RepeatPan’s - Thanks again for repro details! You made it easy to track down. We basically lose track of the entity when the mount component changes the MobCollisionType. You can work around it in lua, but the correct fix is in C++, which I just made.