Add TIME_IGNORE_DOWNTIMES to allow for true 1:1 time ratios. Implements #1545
This commit is contained in:
parent
a342353fd6
commit
1b9a083b19
2 changed files with 12 additions and 2 deletions
|
|
@ -490,8 +490,13 @@ TIME_FACTOR = 2.0
|
||||||
# The starting point of your game time (the epoch), in seconds.
|
# The starting point of your game time (the epoch), in seconds.
|
||||||
# In Python a value of 0 means Jan 1 1970 (use negatives for earlier
|
# In Python a value of 0 means Jan 1 1970 (use negatives for earlier
|
||||||
# start date). This will affect the returns from the utils.gametime
|
# start date). This will affect the returns from the utils.gametime
|
||||||
# module.
|
# module. If None, the server's first start-time is used as the epoch.
|
||||||
TIME_GAME_EPOCH = None
|
TIME_GAME_EPOCH = None
|
||||||
|
# Normally, game time will only increase when the server runs. If this is True,
|
||||||
|
# game time will not pause when the server reloads or goes offline. This setting
|
||||||
|
# together with a time factor of 1 should keep the game in sync with
|
||||||
|
# the real time (add a different epoch to shift time)
|
||||||
|
TIME_IGNORE_DOWNTIMES = False
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
# Inlinefunc
|
# Inlinefunc
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,8 @@ from evennia.utils.create import create_script
|
||||||
# to real time.
|
# to real time.
|
||||||
|
|
||||||
TIMEFACTOR = settings.TIME_FACTOR
|
TIMEFACTOR = settings.TIME_FACTOR
|
||||||
|
IGNORE_DOWNTIMES = settings.TIME_IGNORE_DOWNTIMES
|
||||||
|
|
||||||
|
|
||||||
# Only set if gametime_reset was called at some point.
|
# Only set if gametime_reset was called at some point.
|
||||||
GAME_TIME_OFFSET = ServerConfig.objects.conf("gametime_offset", default=0)
|
GAME_TIME_OFFSET = ServerConfig.objects.conf("gametime_offset", default=0)
|
||||||
|
|
@ -133,7 +135,10 @@ def gametime(absolute=False):
|
||||||
|
|
||||||
"""
|
"""
|
||||||
epoch = game_epoch() if absolute else 0
|
epoch = game_epoch() if absolute else 0
|
||||||
gtime = epoch + (runtime() - GAME_TIME_OFFSET) * TIMEFACTOR
|
if IGNORE_DOWNTIMES:
|
||||||
|
gtime = epoch + (time.time() - server_epoch()) * TIMEFACTOR
|
||||||
|
else:
|
||||||
|
gtime = epoch + (runtime() - GAME_TIME_OFFSET) * TIMEFACTOR
|
||||||
return gtime
|
return gtime
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue