Well i was experimenting with Task.Sleep, when promoted to higher level, the sleep/awake cycle that occurs after day/night only occurs after restart of game. I was wondering if it is due to the "9999"(for ever) or something else?
Facility and its Staff
Posted 21 June 2020 - 03:01 AM
That should mean that they continue that activity until something interupts them or forces a change, such as a zombie horde approaching base.
I'm not sure what you mean by promoted to higher level... do you mean moving it into a higher priority group?
What you are seeing is probably interaction with rtsevents and the Trait.Behavior.SleepWhenRelaxed in Event Id="Event.Activated"
Posted 30 September 2020 - 05:29 PM
In many facility build commands, i have discovered this.
<Input InputAmount="2" InputFlags="" InputId="Capacity.Labor" />
It seems to be different in contrast to
<Check InputAmount="1" InputFlags="" InputId="Capacity.Labor" />
which checks for available labor capacity in the community as in Foraging example.
What could be its purpose?
Edited by pasmon79, 30 September 2020 - 08:21 PM.
Posted 30 September 2020 - 08:35 PM
Check is used in rtsevents when they want to evaluate how many people are not currently busy, as in being available to forage. These typically are evaluated in the daily events, and do not assign tired status or reduce labor available for tasks initiated by the player as it is assumed to have already happened during the daily reset period. Check is evaluated as true/false.
Input is used when an action requires people who are not busy or tired (available labor), and in the outputs of the action they will be assigned a tired status and labor is reduced for a period of time:
<Output ActorIndex="" DurationCancellable="" NonstackingCategory="" OutputAmount="-2" OutputDuration="0.334" OutputFlags="" OutputId="Capacity.Labor" PauseWhenOffline="" />
<Scene_ScenePlay Scene="Construction_Complete" SceneReason="Chatter" />
<Actor_EvolveTraits ActorIndex="0" Event="TIRED" EventLogOutput="General" />
<Actor_EvolveTraits ActorIndex="1" Event="TIRED" EventLogOutput="General" />
These are used to limit how much survivors are capable of in a given timeframe, as they can't carry out a bunch of tasks at the same time.
input is similar to spend, but spend is a permanent reduction. Using Input and then setting the labor reduction period with the OutputDuration makes it temporary.
Edited by qmjs, 30 September 2020 - 08:39 PM.
Posted 11 October 2020 - 09:50 PM
In command center facility, when broadcast for survivors, the code involves
<RTSStat_SetBool DurationCancellable="" OutputAmount="true" OutputDuration="1h" OutputId="Status.Recent.BroadcastShelter" PauseWhenOffline="" />
<EventTrigger Event="fsEvent.BroadcastSurvivors" />
elsewhere in home-enclave.xml hidden and repeating after 1s. It executes after checking the initialization of variable Status.Recent.BroadcastShelter
Why was not the above line placed along with the initializing code present in the command center to have much more simpler form with one executing after the other(or this will not work)?
<RTSStat_SetBool DurationCancellable="" OutputAmount="true" OutputDuration="1h" OutputId="Status.Recent.BroadcastShelter" PauseWhenOffline="" /> <EventTrigger Event="fsEvent.BroadcastSurvivors" />
Posted 11 October 2020 - 10:50 PM
Some of those are just wasted space left over from copy-paste actions when creating different home enclave states. Before a command center exists you can't use Radio_Survivors, because there is no command center facility. Because of this, the actions in <State Alertness="Defending" Id="Arrive">, <State Alertness="Defending" Id="Sandbox_LoneWolf_FindCommunity"> are impossible. While available, I don't think <State Alertness="Defending" Id="Sandbox_BustedRV_FindHome">,<State Alertness="Defending" Id="Sandbox_LoadUp"> are actually generally used at that state.
So <State Alertness="Relax" Id="Sandbox_Core"> is typically the event that would get called. All it does is call the event once the variable is set.
There is no direct reason why you could not remove the five Actions from Enclaves, and put the fsEvent.BroadcastSurvivors into the facility action.
However, it is likely tied to Status.Recent.Broadcast, as that is generally set by the exe itself (it is checked in a number of places, but not set anywhere in the xml files), and the blackout system, which limits the number of active missions and the type of active missions on the map. You might end up with more than the normal number (+1) if you do it that way, but I am not really certain.
Edited by qmjs, 11 October 2020 - 10:51 PM.