Sitting Behaviour for AI

From The DarkMod Wiki
Revision as of 23:58, 16 April 2010 by Springheel (talk | contribs)
Jump to navigationJump to search

Sitting at Map Start

Just set the spawnarg "sitting" "1" on the AI, and the AI will be sitting at map start. They will also get up when alerted and go back and sit down again after ramping down.

Sitting During Patrol

It is now possible to have the AI sitting down and getting up during patrolling, using a path_sit entity. You can set "wait" and/or "wait_max" to let the AI wait and get up after that time. "Wait" is a minimum wait time, so if you set "wait" to 5 seconds and "wait_max" to 10 seconds, the AI will wait between 5 and 10 seconds every time. If you only set "wait", the AI will always wait exactly 5 seconds. If you only set "wait_max", the AI will wait between 0 and 10 seconds.

If you don't set either one, the AI will stay seated and you can also do path_anims and path_waits for example (they'll play that animation on the torso channel while sitting).

The AI will get up if alerted to searching state or if it has to move to another position.

AI will now always use the sit down and get up anims.


Example: If you want an AI to sit, and then play a warm hands after 20 seconds, you would use a path_sit without a wait spawnarg (AI sits down, the path_sit task is terminated and the AI stays seated), then a path_wait for 20 seconds, then a path_anim, then another path_wait, and then a path_corner or something (AI gets up and walks to path_corner).

If you have any path problems, eg, with AI clipping into Monsterclip on chair, then make the chair a moveable and add frobable 0 and notPushable 1 and remove the monsterclip. It is effectively static but the AI will path it correctly without monsterclip.

Sitting Angles

Mappers may want control over where AI face after sitting down. By default, AI stand directly in front of the chain when sitting or standing. This doesn't work well if you want AI to sit close to a table, however. The solution is to use a sitting_angles (what is the actual name?) spawnarg on the AI. This will cause the AI to spin in the chair after sitting until they face the direction listed. They will turn back when it is time to stand up.

Note that the angles are relative to the world, not the AI.

Other sitting spawnargs include:

"sit_down_slide_dist", which is currently 8; controls how far AI slide back onto the chair when sitting down.