mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 18:02:57 +00:00
okay
This commit is contained in:
@@ -29,6 +29,11 @@
|
|||||||
allowed_z_cache[num2text(z)] = TRUE
|
allowed_z_cache[num2text(z)] = TRUE
|
||||||
var/list/data = json_decode(file2text("[get_map_persistence_path()]/debris.json"))
|
var/list/data = json_decode(file2text("[get_map_persistence_path()]/debris.json"))
|
||||||
var/list/z_lookup = list()
|
var/list/z_lookup = list()
|
||||||
|
var/loaded = 0
|
||||||
|
var/list/loaded_by_type = list()
|
||||||
|
var/nopath = 0
|
||||||
|
var/badloc = 0
|
||||||
|
var/noturf = 0
|
||||||
/// reverse it
|
/// reverse it
|
||||||
for(var/z in SSmapping.z_to_station_z_index)
|
for(var/z in SSmapping.z_to_station_z_index)
|
||||||
var/sz = SSmapping.z_to_station_z_index[z]
|
var/sz = SSmapping.z_to_station_z_index[z]
|
||||||
@@ -41,6 +46,7 @@
|
|||||||
for(var/y in L2)
|
for(var/y in L2)
|
||||||
var/turf/tile = locate(text2num(x), text2num(y), actual_z)
|
var/turf/tile = locate(text2num(x), text2num(y), actual_z)
|
||||||
if(!tile)
|
if(!tile)
|
||||||
|
noturf++
|
||||||
continue
|
continue
|
||||||
var/list/objects = data[z][x][y]
|
var/list/objects = data[z][x][y]
|
||||||
for(var/_L in objects)
|
for(var/_L in objects)
|
||||||
@@ -53,12 +59,29 @@
|
|||||||
path = text2path(_L)
|
path = text2path(_L)
|
||||||
objdata = objects[_L]
|
objdata = objects[_L]
|
||||||
if(!path)
|
if(!path)
|
||||||
|
nopath++
|
||||||
continue
|
continue
|
||||||
if(!IsValidDebrisLocation(tile, allowed_turf_typecache, allowed_z_cache, path, TRUE))
|
if(!IsValidDebrisLocation(tile, allowed_turf_typecache, allowed_z_cache, path, TRUE))
|
||||||
|
badloc++
|
||||||
continue
|
continue
|
||||||
var/obj/effect/decal/cleanable/instantiated = new path(tile)
|
var/obj/effect/decal/cleanable/instantiated = new path(tile)
|
||||||
|
loaded_by_type[path] += 1
|
||||||
|
loaded++
|
||||||
if(objdata)
|
if(objdata)
|
||||||
instantiated.PersistenceLoad(objdata)
|
instantiated.PersistenceLoad(objdata)
|
||||||
|
var/list/bytype = list()
|
||||||
|
for(var/path in loaded_by_type)
|
||||||
|
bytype += "[path] - [loaded_by_type[path]]"
|
||||||
|
subsystem_log(
|
||||||
|
{"Debris loading completed:
|
||||||
|
Errors:
|
||||||
|
No path: [nopath]
|
||||||
|
Invalid location: [badloc]
|
||||||
|
No turf on map: [noturf]
|
||||||
|
Total loaded: [loaded]
|
||||||
|
By type:
|
||||||
|
[bytype.Join("\n")]"}
|
||||||
|
)
|
||||||
|
|
||||||
/datum/controller/subsystem/persistence/proc/SaveMapDebris()
|
/datum/controller/subsystem/persistence/proc/SaveMapDebris()
|
||||||
if(fexists("[get_map_persistence_path()]/debris.json"))
|
if(fexists("[get_map_persistence_path()]/debris.json"))
|
||||||
@@ -89,7 +112,7 @@
|
|||||||
LAZYINITLIST(data[text_z][text_x][text_y])
|
LAZYINITLIST(data[text_z][text_x][text_y])
|
||||||
if(saving.persistence_allow_stacking)
|
if(saving.persistence_allow_stacking)
|
||||||
serializing["__PATH__"] = path
|
serializing["__PATH__"] = path
|
||||||
data[text_z][text_x][text_y] += serializing
|
data[text_z][text_x][text_y] += list(serializing)
|
||||||
else
|
else
|
||||||
data[text_z][text_x][text_y][path] = serializing
|
data[text_z][text_x][text_y][path] = serializing
|
||||||
stored++
|
stored++
|
||||||
|
|||||||
@@ -33,13 +33,15 @@
|
|||||||
/obj/effect/decal/cleanable/blood/PersistenceSave(list/data)
|
/obj/effect/decal/cleanable/blood/PersistenceSave(list/data)
|
||||||
. = ..()
|
. = ..()
|
||||||
data["color"] = color
|
data["color"] = color
|
||||||
return /obj/effect/decal/cleanable/blood/old
|
|
||||||
|
|
||||||
/obj/effect/decal/cleanable/blood/PersistenceLoad(list/data)
|
/obj/effect/decal/cleanable/blood/PersistenceLoad(list/data)
|
||||||
. = ..()
|
. = ..()
|
||||||
if(data["color"])
|
if(data["color"])
|
||||||
fixed_color = TRUE
|
fixed_color = TRUE
|
||||||
add_atom_colour(data["color"], FIXED_COLOUR_PRIORITY)
|
add_atom_colour(data["color"], FIXED_COLOUR_PRIORITY)
|
||||||
|
name = "dried blood"
|
||||||
|
desc = "Looks like it's been here a while. Eew"
|
||||||
|
bloodiness = 0
|
||||||
|
|
||||||
/obj/effect/decal/cleanable/blood/old
|
/obj/effect/decal/cleanable/blood/old
|
||||||
name = "dried blood"
|
name = "dried blood"
|
||||||
|
|||||||
Reference in New Issue
Block a user