Jump to content

Facility and its Staff


pasmon79

Recommended Posts

While experimenting with watch tower facility, I have realised that the âfacilityâ file is merely cosmetic in assigning the guard duty(it merely assigns label), while the actual assignment takes place in âtasksâ and âinteractiondefâ.
Link to comment
Share on other sites

Some are purely informational, such as the command center, but most are advisors... these require someone with a specific skill, but they are not necessarily at the facility. These usually enable a specific bonus.

 

For the watchtower, a specific person is assigned as staff, and given the ActorTask="Task.StaffWatchtower":
<Character ActorFlags="" ActorName="" ActorTask="Task.StaffWatchtower" ActorTraits="Trait.Voice.Playable, !Trait.Status.Injury, !Trait.Status.Wound, !Trait.Status.Sick,!Trait.Status.OnMission,!Trait.Status.Away" FunctionTags="Home, Npc, HasGun" HideWarnings="True" Optional="" TargetEnclave="">
While assigned, the bonus range for the safe zone is active.

 

However, the physical presence of someone at the watchtower is not set by the staff being assigned. When the danger level is high enough, the staff character will usually enter the watchtower.

 

There will only be someone physically standing in the watchtower at higher danger levels, essentially PriorityGroup Name="High" Value="5" or higher. This is assigned via tasks. However, these are purely cosmetic, and don't have any effect on actual stats or actions. It is only at the PriorityGroup Name="Very High Threat" Value="6" level or higher where characters will engage zombies.

Edited by qmjs
Link to comment
Share on other sites

Ok thanks.

 

The game does two things

 

(I) Assign tasks without any restriction of character

(2) Moves the task assigned character to respective location, there are some actions defined in âAnimâ, but not all of them especially related to watchtower.

Edited by pasmon79
Link to comment
Share on other sites

I need to clarify one point. A character with no task will be assigned one, starting from the top of the list and moving down until one is found that is available. However, the defensive tasks are only available at the higher danger levels.

 

Each facility has specific points and animations to use for each task, so if there is a task without an available interaction point (interactiondefs) that specific task won't be available... this can be because the facility doesn't exist in base, or because someone else is assigned to that point (or multiple people when there are multiple available points). They start at the highest priority level, assign those tasks for each available interaction point, and then move down to the next lowest level.

 

So tasks with a higher value number will be assigned first, but some are not available unless in danger level conditions.

Link to comment
Share on other sites

The BehaviorTask is a flag defined in the AI part of the exe for an AI action. Barricade is the boarding up of windows, Vigilant is standing with weapon out, DefendGroup is actual combat when someone nearby is engaged.

 

The only place you really see these is in the interactiondefs, which define points in each base where they will go when expecting attack, and missions, where a few are set to vigilant during the mission, as in

<Mission_ActorAiSet ActorIndex="1" Behavior="Vigilant" />

 

Essentially it changes their behavior, as opposed to just setting the idle animations like regular tasks.

Link to comment
Share on other sites

  • 4 weeks later...

For the animations:

In Stand_Bored, there is standing while eating apple or can of beans.
In Stand_Wall, there is leaning (against a wall) while eating apple or can of beans, drinking from bottle, or reading journal.
In Sit_Bored, there is sitting in a chair while eating apple or can of beans, drinking from bottle, or reading journal.
In SitGround, there is stiing on the ground while eating apple or can of beans, drinking from bottle, or reading journal.

 

These are the tasks where those are possible:

AnimSet="Sit_Bored" TaskName="Task.Relax"
AnimSet="SitGround" TaskName="Task.Sleep"
AnimSet="SitGround" TaskName="Task.Relax"
AnimSet="SitGround" TaskName="Task.Rest"
AnimSet="Stand_Bored" TaskName="Task.Relax"
AnimSet="Stand_Bored" TaskName="Task.Sleep"
AnimSet="Stand_Bored" TaskName="Task.WC"
AnimSet="Stand_Bored" TaskName="Task.Defend"
AnimSet="Stand_Bored" TaskName="Task.Relax"
AnimSet="Stand_Bored" TaskName="Task.Staff"
AnimSet="Stand_Wall" TaskName="Task.Rest"
AnimSet="Stand_Wall" TaskName="Task.Sleep"
AnimSet="Stand_Wall" TaskName="Task.Relax"

Edited by qmjs
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...