Fallout New Vegas
0 of 0

File information

Last updated

Original upload

Created by

Asterra

Uploaded by

Asterra

Virus scan

Safe to use

Tags for this mod

About this mod

Forces an internal variable, GameDaysPassed, to obey the true game days passed, which it inherently fails to do. This fixes many timing issues, particularly for those who have tweaked their Timescale.

Permissions and credits
Changelogs
Timescale Pacemaker

Forces an internal variable, GameDaysPassed, to obey the true game days passed, which it inherently fails to do.  This fixes many timing issues, particularly for those who have tweaked their Timescale.

Note that as of JIP LN NVSE Plugin version 51.60 (yes, less than a week after I finalized this mod), the same idea was incorporated into said plugin.  If you use NVSE and the newest JIP, you do not need this mod.  Using both together won't break anything, but would be entirely redundant.  This mod remains useful for anyone who can't or won't use NVSE.


The problem
There is an internal variable called GameDaysPassed which is ostensibly meant to serve as a single-variable resource for keeping tabs on how many game days the player character has lived through since the start of the game.  In reality, this variable fails to keep pace with the passage of time.  Waiting or sleeping increments GameDaysPassed accurately, but playing the game does not.  The actual nature of the discrepancy is extremely difficult to pin down.  Sometimes it lags behind the true game days passed.  Sometimes it goes a bit too fast.

Here's the real problem: Timescale is the variable which dictates how quickly game days pass in realtime.  The default Timescale, 30, causes a game day to last 1/30th of a real day, or 48 minutes.  Lowering the Timescale in order to achieve a more realistic day/night duration is a popular tweak.  But it turns out that lowering Timescale can dramatically exacerbate the GameDaysPassed discrepancy.  At timescales below 10, there can even be extended moments (many hours) when GameDaysPassed does not increment whatsoever!

What does this affect?  Any script which references the GameDaysPassed variable in order to reckon timings, such as in quests.  Here are some that I have personally experienced, with Timescale set to 5:

  • During I Could Make You Care, you are required to wait a day before returning to the Followers outpost.  This "day" got extended to basically infinity.
  • During Wang Dang Atomic Tango, you are required to wait a couple of days for Ralph to create a holotape.  This also got extended to basically infinity.
  • Implant GRX is meant to replenish every day.  It never replenished.
  • The whole world essentially never respawned.

It bears repeating that waiting and sleeping both increment GameDaysPassed normally, and thus doing so effectively disguises the GameDaysPassed bug, since the time passage requirements for the various scripts get met eventually -- after enough sleeping and waiting -- if not quite on time.


The solution

This mod keeps tabs on the true passage of time from the player character's perspective, and tweaks the GameDaysPassed variable accordingly.  Things will respawn when they're supposed to, scripts will reckon days accurately and not get stuck, and low Timescale settings will no longer carry timing drawbacks related to this variable.  Although the benefit of this fix is minimal for anyone using the default Timescale, it nonetheless is a fix for a legitimate bug.


New in version 1.1
I needed to throw in checks against possible travel to and from the Honest Hearts and Lonesome Road DLCs, which tack on days or weeks to the internal date without dinging GameDaysPassed whatsoever.  Since this fact unavoidably renders meaningless any purpose in forcing GameDaysPassed to strictly adhere to the internal date and time, I have dispensed with that mandate, and so there is no longer any need to maintain two versions of the mod.

New in version 1.2
Overhauled the system so that drastic deviations from the vanilla date, such as mods which set the world years earlier, will not cause everything to go out of whack.  Strictly speaking, if one doesn't intend to make use of such a mod, there is no reason to use v1.2.


Old notices relevant to the first version of the mod:
Spoiler:  
Show

Keep in mind
No matter what Timescale you choose to use -- default or otherwise -- if you've been playing the game for a while and suddenly plug this mod in, there will almost certainly be a drastic total discrepancy between the internal GameDaysPassed variable and the true passage of time (as detailed by the Pip-boy's date and time).  In my case, for example, my GameDaysPassed jumped from 33 to over 80.  As one might imagine, this caused everything to respawn immediately.  You can expect a similar phenomenon if not starting a new game.  (Or you can get the Non-New-Game Edition of the mod.)


A note for Hardcore players
If you are playing Hardcore, this mod may kill you.  There are two options available to you.

  • Use Imps Timescale Adjuster, which tweaks needs rates based on the Timescale, and, as a side effect of how it achieves this, drastically reduces the impact of suddenly having weeks added to GameDaysPassed, making it almost inconsequential.
  • Use the Non-New-Game Edition of this mod.  It will base all calculations on whatever GameDaysPassed discrepancy exists the first time you play the game with the mod enabled, thus avoiding any instantaneous effects, including death by starvation.




Notes:
  • I cannot account for other mods that may make tweaks to the GameDaysPassed variable, not that I know of any.  It should normally not be modified, since doing so can obviously have an effect on anything that relies upon it.  While I consider fixing a pretty drastic bug to be a legitimate justification for making changes to the variable, this is still somewhat uncharted territory, and I will be keeping my eyes peeled for anything unexpected.


Other New Vegas mods I made: