mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-16 01:23:41 +01:00
Persistent data saves at round end instead of server restart (#21199)
* sm counter go up * AA review * aa review 2
This commit is contained in:
@@ -596,6 +596,9 @@ SUBSYSTEM_DEF(ticker)
|
||||
//Ask the event manager to print round end information
|
||||
SSevents.RoundEnd()
|
||||
|
||||
// Save the data before end of the round griefing
|
||||
SSpersistent_data.save()
|
||||
|
||||
//make big obvious note in game logs that round ended
|
||||
log_game("///////////////////////////////////////////////////////")
|
||||
log_game("///////////////////// ROUND ENDED /////////////////////")
|
||||
|
||||
@@ -13,6 +13,8 @@ SUBSYSTEM_DEF(persistent_data)
|
||||
flags = SS_NO_FIRE
|
||||
/// List of atoms registered into the subsystem for persistent data storage. Can be anything at all
|
||||
var/list/registered_atoms = list()
|
||||
/// Set to true after a the end of the round to prevent griefing being saved
|
||||
var/data_saved = FALSE
|
||||
|
||||
/datum/controller/subsystem/persistent_data/Initialize()
|
||||
// Load all the data of registered atoms
|
||||
@@ -20,6 +22,14 @@ SUBSYSTEM_DEF(persistent_data)
|
||||
A.persistent_load()
|
||||
|
||||
/datum/controller/subsystem/persistent_data/Shutdown()
|
||||
save()
|
||||
|
||||
/datum/controller/subsystem/persistent_data/proc/save()
|
||||
// Stops data from being saved twice
|
||||
if(data_saved)
|
||||
return
|
||||
data_saved = TRUE
|
||||
|
||||
// Save all the data of registered atoms
|
||||
for(var/atom/A in registered_atoms)
|
||||
A.persistent_save()
|
||||
|
||||
Reference in New Issue
Block a user