Jump to content

Photo

Facility and its Staff


19 replies to this topic

#11
pasmon79

pasmon79

    Enthusiast

  • Members
  • PipPip
  • 224 posts

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?



#12
qmjs

qmjs

    Faithful poster

  • Members
  • PipPipPipPip
  • 1,764 posts

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"



#13
pasmon79

pasmon79

    Enthusiast

  • Members
  • PipPip
  • 224 posts
Yes I promoted at a higher priority group even higher than CC-Radio TALK

#14
qmjs

qmjs

    Faithful poster

  • Members
  • PipPipPipPip
  • 1,764 posts

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.



#15
pasmon79

pasmon79

    Enthusiast

  • Members
  • PipPip
  • 224 posts
I checked placement of task.sleep between task.sick and task. Radiotalk, anyway I will try different task approach according to my goal.

Edited by pasmon79, 21 June 2020 - 10:38 AM.


#16
pasmon79

pasmon79

    Enthusiast

  • Members
  • PipPip
  • 224 posts

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.


#17
qmjs

qmjs

    Faithful poster

  • Members
  • PipPipPipPip
  • 1,764 posts

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.


#18
pasmon79

pasmon79

    Enthusiast

  • Members
  • PipPip
  • 224 posts
Thanks for explaining this stuff.

#19
pasmon79

pasmon79

    Enthusiast

  • Members
  • PipPip
  • 224 posts

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" />

 

 



 



#20
qmjs

qmjs

    Faithful poster

  • Members
  • PipPipPipPip
  • 1,764 posts

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.




Reply to this topic



  


IPB skins by Skinbox
Page loaded in: 1.220 seconds