Bug: NPCs, parties, marriages: everyone freezes, just stands there

Started by LWM, July 26, 2016, 03:00:48 PM

Previous topic - Next topic

LWM

Two bugs going on here, maybe related:

1.  NPCs.

They'll enter map as normal.  Then they stand.  And stand.  If they have a mental break, they'll wander about until it's ended.  And stand there.  Until exposure and/or starvation and/or hostiles take them down.  If I capture someone, they'll wander about their cell until converted and then act normal.  If I rescue someone, once well they'll walk off the map (no grateful tribemembers deciding to join the group?)




2.  Marriages and Parties:

Two colonists decide to get married.  The marriage starts.  Everyone is "standing: attending the ceremony" (or whatever).  They stand.  And stand.  And stand.

I can use Draft or short close jobs to get them to move a tiny bit, and I can see that they have a place they WANT to walk to, but if they are undrafted, as soon as they start walkign towards it....they stop.  And stand, attending the ceremony.  Wherever they are.

Similar for parties.

Except with parties, the party takes place and then ends.  With the marriage, eventually someone has a psychotic break, there's bloodshed, and then everyone goes back to standing, gore-soaked, attending the ceremony.




I am attaching a marriage save-game.  No idea where your logs actually are on a windows machine.

BTW, your forum software lost my post twice.  If the attachment is too big, you shouldn't lose everything you said.  So this is a bit briefer.

--LWM

[attachment deleted by admin - too old]

LWM

Debug log has this to say:

(the entries stack up super quickly - this is after I cleared the screen and let it go for as short a time as I could)


[attachment deleted by admin - too old]

Jey123456

I had that same issue but with a trader group.

A quick and dirty fix for it can be done by adding

if (this.dutyDefToSubNode == null)
            {
                Log.Error(pawn + " doing ThinkNode_DutyConstant with null dutyDefToSubNode.");
                ResolveSubnodes();
            }

to ThinkNode_DutyConstant but the proper fix would be to figure why resolvereference was never called on it (resolvereference end up calling ResolveSubnodes which initialise dutyDefToSubNode).

heres a link to a small mod source included that implement that fix
www.jeypc.com/dl/ThinkNode_DutyConstant_fix.zip

I forgot to specify, that mod rely on CCL to detour the function so youll also need CCL loaded first.
It can be obtained here https://ludeon.com/forums/index.php?topic=16599.0

whenever the source of the error happen, you will still get a log about it, but the game will recover and continue normally after.

LWM

Quote from: Jey123456 on July 26, 2016, 07:12:17 PM
heres a link to a small mod source included that implement that fix
www.jeypc.com/dl/ThinkNode_DutyConstant_fix.zip

I forgot to specify, that mod rely on CCL to detour the function so youll also need CCL loaded first.
It can be obtained here https://ludeon.com/forums/index.php?topic=16599.0

whenever the source of the error happen, you will still get a log about it, but the game will recover and continue normally after.

Thanks so much for that little fix!  And as for logs about errors...well, I was getting them before anyway ;)

Ooooooo, look, raids are dangerous now!

--LWM

Tynan

Thanks for the report LWM and the extra info Jey. I've implemented that mitigation in the main game as well.

Will have to look more carefully later about why this happens in the first place.

Also strange is that I'm not getting this bug. No issue, no warning. It's odd.
Tynan Sylvester - @TynanSylvester - Tynan's Blog