Jump to content

Dead Enclaves


pasmon79

Recommended Posts

  • 1 month later...

I could not figure out the real purpose of relocate command accomplish in Enclaves? It happens after you play for one full day in story-mode and seems to displace one of NPC enclave to a new place.

<Action ActionFlags="WaitForNoMission, Repeats" ActionId="Relocate"

 


Link to comment
Share on other sites

  • 1 month later...

"Status.DailySummary.TimePlayedToday" reaches the cutoff point required to block "dailyreset" in "SandboxCore" after 10 seconds of gametime each time after it is reset by "Dailyreset" and is updated continuously till 17hrs.

 

 

Does it and all other variables(not protected by outputdauration) get reset to the value defined by "rtsdata" everytime we exit and reload the game, otherwise there is no second mechanism for resetting it to allow "DailyReset" after it is initialized at the start of level?

 

In the following code, Dailyreset plays only if Alt fails.

 <Action ActionFlags="" ActionId="DailyResetIfPlayedYesterday" ActionType="Action.Passive" ExecuteTimeStandard="0.0" OutputDelayTime="0.0" PauseWhenOffline="">
          <RTSActionIcon Name="" Id="" />
          <NameText Flags="" Notes="" Text="" />
          <Actors />
          <Alts>
            <Alt AltId="IncrementDaysOffline" AltOdds="100.0" />
          </Alts>
          <Effects />
          <Inputs />
          <Outputs>
            <EventTrigger Event="SandboxEvent_Home_DailyReset" />
          </Outputs>
        </Action>
        <Action ActionFlags="Alt" ActionId="IncrementDaysOffline" ActionType="Action.Passive" ExecuteTimeStandard="0.0" OutputDelayTime="0.0" PauseWhenOffline="">
          <RTSActionIcon Name="" Id="" />
          <NameText Flags="" Notes="" Text="" />
          <Actors />
          <Alts />
          <Effects />
          <Inputs>
           <Check InputAmount="10" InputFlags="" InputId="!Status.DailySummary.TimePlayedToday" />
          </Inputs>
          <Outputs>
            <EventTrigger Event="fsEvent.Home_IncrementDaysOffline" />
          </Outputs>
        </Action>

Edited by pasmon79
Link to comment
Share on other sites

Most variables are not reset when exiting and restarting the game, but a few things are. Fatecards timers restart at 0, hordes events are all removed and restarted, and zombie densities are recalculated.

 

The actual daily reset is called by the <OnNextDay> process found at the beginning of the enclave state module.

IncrementDaysOffline is used to check to see if the daily reset processes one day or two (maximum), with the action CallNextDayEvent starting EventTrigger Event="SandboxEvent_Home_DailyReset".

The <Check InputAmount="10" InputFlags="" InputId="Status.DailySummary.TimePlayedToday" /> baiscally is simply used to initiate the process when starting the game, so it is the first thing that occurs.

 

After the reset runs, ClearCounters sets these to 0:
<RTSStat_Set DurationCancellable="" OutputAmount="0" OutputDuration="" OutputId="Status.DailySummary.TimePlayedToday" PauseWhenOffline="" />
<RTSStat_Set DurationCancellable="" OutputAmount="0" OutputDuration="" OutputId="Status.DailySummary.DaysOffline" PauseWhenOffline="" />

 

If the reset is not yet ready, this runs repeatedly:
<Action ActionFlags="Hidden, Repeats" ActionId="UpdatePlayedToday" ActionType="Action.Passive" ExecuteTimeStandard="1s" OutputDelayTime="0.0" PauseWhenOffline="True">
<RTSActionIcon Name="" Id="" />
<NameText Flags="" Notes="" Text="" />
<Actors />
<Alts />
<Effects />
<Inputs />
<Outputs>
<EventTrigger Event="fsEvent.UpdatePlayedToday" />
</Outputs>
</Action>

 

Which does this:
<Inputs>
<Check InputAmount="<60000" InputFlags="" InputId="Status.DailySummary.TimePlayedToday" />
</Inputs>
<Outputs>
<RTSStat_Add DurationCancellable="" OutputAmount="1" OutputDuration="" OutputId="Status.DailySummary.TimePlayedToday" PauseWhenOffline="" />
</Outputs>

 

The actual daily reset itself is a 14 hour cycle (rtsdata <Value Default="50400" Name="NextDayTime">)

 

So essentially this is the process:
New game, time is set to 0, or when the daily reset is done, the time is set to 0. This value is saved when exiting. (It is also calculated from the save game time difference.)
You may enter and exit the game any number of times before Status.DailySummary.TimePlayedToday reaches 50400 or more and it will be the same day.
If you are playing and it counts up to 60000, the time stops counting. Continuing to count up is essentially pointless, for the next reason. As long as you continue to play, the next game process doesn't run.
When loading a game, if the timer is 50400 or more, OR if the actual save game date/time difference is over 50400, the next day process is initiated upon loading.

 

A couple of observations: you could reset the 50400 to a different value as long as the 60000 is a larger number. The way it is set up now, you will only get one daily reset per day no matter how much you are playing.

In the original game (one of the first patch changes made) the game did not stop counting days offline at 2. You could go a week without playing and come back to a total mess... everyone sick or dead, all resources used up, and so on.

Edited by qmjs
Link to comment
Share on other sites

Thanks. I misunderstood

            <Check InputAmount="10" InputFlags="" InputId="!Status.DailySummary.TimePlayedToday" />

NextDayTime is used nowhere in game(probably by exe).

 

So the game actually stores the result of our manipulation of the variable defined by rtsdata.xml.

Link to comment
Share on other sites

  • 8 months later...

So in "Breakdown" "nextday" events and their limit of counting days offline is strictly handled by "exe" via calculating the time difference of "savegame" date and time difference".

 

I have checked that Lifeline has its own way of running nextday events, which are not controllable and are called by "Lifeline.AdvanceAfterSiege" and "Lifeline.NextDayEventOnly".

 

Further In "Lifeline", <OnNextDay> at the start of "Siege State" is totally irrelevant as it applies to "Enclave.Home_Sandbox", which does not exist in the game.

Edited by pasmon79
Link to comment
Share on other sites

Yeah, there is a lot of stuff in each mode that doesn't need to be there... Breakdown has a massive amount of holdover junk from the story mode, and Lifeline has holdover stuff from story and Breakdown.

 

If I recall correctly, the tactics option with Thin the Herd affects the time between seiges, so you may find some more information in there.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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