pasmon79 Posted June 20, 2020 Author Share Posted June 20, 2020 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? Link to comment Share on other sites More sharing options...
qmjs Posted June 21, 2020 Share Posted June 21, 2020 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" Link to comment Share on other sites More sharing options...
pasmon79 Posted June 21, 2020 Author Share Posted June 21, 2020 Yes I promoted at a higher priority group even higher than CC-Radio TALK Link to comment Share on other sites More sharing options...
qmjs Posted June 21, 2020 Share Posted June 21, 2020 Some of the higher level groups are not always available, because they are based on danger levels. I probably wouldn't expect it to work properly above Medium. Link to comment Share on other sites More sharing options...
pasmon79 Posted June 21, 2020 Author Share Posted June 21, 2020 (edited) I checked placement of task.sleep between task.sick and task. Radiotalk, anyway I will try different task approach according to my goal. Edited June 21, 2020 by pasmon79 Link to comment Share on other sites More sharing options...
pasmon79 Posted September 30, 2020 Author Share Posted September 30, 2020 (edited) 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 September 30, 2020 by pasmon79 Link to comment Share on other sites More sharing options...
qmjs Posted September 30, 2020 Share Posted September 30, 2020 (edited) 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 September 30, 2020 by qmjs Link to comment Share on other sites More sharing options...
pasmon79 Posted September 30, 2020 Author Share Posted September 30, 2020 Thanks for explaining this stuff. Link to comment Share on other sites More sharing options...
pasmon79 Posted October 11, 2020 Author Share Posted October 11, 2020 In command center facility, when broadcast for survivors, the code involves <RTSStat_SetBool DurationCancellable="" OutputAmount="true" OutputDuration="1h" OutputId="Status.Recent.BroadcastShelter" PauseWhenOffline="" /> and executes <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" /> Link to comment Share on other sites More sharing options...
qmjs Posted October 11, 2020 Share Posted October 11, 2020 (edited) 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 October 11, 2020 by qmjs Link to comment Share on other sites More sharing options...
Recommended Posts