mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-12 08:27:13 +01:00
fa7214de3c
Revives https://github.com/Aurorastation/Aurora.3/pull/17215 with the needed species changes. As I said last time this was tried, the key issue is that our walkspeed is a lot lower than any other server's. Even if we add atom gliding as is, it would just look like gliding through molasses and would give you motion sickness, because it takes a half-second to finish a glide to another tile. Meaning that to compensate the movement speed has now been significantly buffed for everyone. Yes, even dionae, G2, simple mobs, everyone. As compensation, m'sai/bishop/unathi sprint were especially nerfed because otherwise they'd go lightspeed. https://github.com/user-attachments/assets/7ba07389-b874-4a7d-8dd5-b5d3bfe611e4 --------- Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it> Co-authored-by: Matt Atlas <liermattia@gmail.com> Co-authored-by: VMSolidus <evilexecutive@gmail.com> Co-authored-by: Batrachophreno <Batrochophreno@gmail.com>
41 lines
1.3 KiB
Plaintext
41 lines
1.3 KiB
Plaintext
SUBSYSTEM_DEF(time_track)
|
|
name = "Time Tracking"
|
|
wait = 100
|
|
runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT
|
|
|
|
var/time_dilation_current = 0
|
|
|
|
var/time_dilation_avg_fast = 0
|
|
var/time_dilation_avg = 0
|
|
var/time_dilation_avg_slow = 0
|
|
|
|
var/first_run = TRUE
|
|
|
|
var/last_tick_realtime = 0
|
|
var/last_tick_byond_time = 0
|
|
var/last_tick_tickcount = 0
|
|
|
|
/datum/controller/subsystem/time_track/Initialize()
|
|
return SS_INIT_SUCCESS
|
|
|
|
/datum/controller/subsystem/time_track/fire()
|
|
|
|
var/current_realtime = REALTIMEOFDAY
|
|
var/current_byondtime = world.time
|
|
var/current_tickcount = world.time/world.tick_lag
|
|
|
|
if (!first_run)
|
|
var/tick_drift = max(0, (((current_realtime - last_tick_realtime) - (current_byondtime - last_tick_byond_time)) / world.tick_lag))
|
|
|
|
time_dilation_current = tick_drift / (current_tickcount - last_tick_tickcount) * 100
|
|
|
|
time_dilation_avg_fast = MC_AVERAGE_FAST(time_dilation_avg_fast, time_dilation_current)
|
|
time_dilation_avg = MC_AVERAGE(time_dilation_avg, time_dilation_avg_fast)
|
|
time_dilation_avg_slow = MC_AVERAGE_SLOW(time_dilation_avg_slow, time_dilation_avg)
|
|
GLOB.glide_size_multiplier = (current_byondtime - last_tick_byond_time) / (current_realtime - last_tick_realtime)
|
|
else
|
|
first_run = FALSE
|
|
last_tick_realtime = current_realtime
|
|
last_tick_byond_time = current_byondtime
|
|
last_tick_tickcount = current_tickcount
|