saving is back

This commit is contained in:
Putnam
2020-01-01 19:24:13 -08:00
parent 00bc8dbc97
commit 21fc6d1d2b
2 changed files with 26 additions and 23 deletions

View File

@@ -34,7 +34,8 @@ SUBSYSTEM_DEF(persistence)
LoadRecentRulesets()
LoadRecentMaps()
LoadPhotoPersistence()
LoadSavedVotes()
for(var/client/C in GLOB.clients)
LoadSavedVote(C.ckey)
if(CONFIG_GET(flag/use_antag_rep))
LoadAntagReputation()
LoadRandomizedRecipes()
@@ -209,14 +210,14 @@ SUBSYSTEM_DEF(persistence)
return
antag_rep = json_decode(json)
/datum/controller/subsystem/persistence/proc/LoadSavedVotes()
var/json_file = file("data/SavedVotes.json")
/datum/controller/subsystem/persistence/proc/LoadSavedVote(var/ckey)
var/json_file = file("data/player_saves/[copytext(ckey,1,2)]/[ckey]/SavedVotes.json")
if(!fexists(json_file))
return
var/list/json = json_decode(file2text(json_file))
if(!json)
return
saved_votes = json["data"]
saved_votes[ckey] = json["data"]
/datum/controller/subsystem/persistence/proc/SetUpTrophies(list/trophy_items)
for(var/A in GLOB.trophy_cases)
@@ -500,8 +501,9 @@ SUBSYSTEM_DEF(persistence)
WRITE_FILE(json_file, json_encode(file_data))
/datum/controller/subsystem/persistence/proc/SaveSavedVotes()
var/json_file = file("data/SavedVotes.json")
var/list/file_data = list()
file_data["data"] = saved_votes
fdel(json_file)
WRITE_FILE(json_file, json_encode(file_data))
for(var/ckey in saved_votes)
var/json_file = file("data/player_saves/[copytext(ckey,1,2)]/[ckey]/SavedVotes.json")
var/list/file_data = list()
file_data["data"] = saved_votes[ckey]
fdel(json_file)
WRITE_FILE(json_file, json_encode(file_data))

View File

@@ -485,14 +485,11 @@ SUBSYSTEM_DEF(vote)
if(choice_descs.len >= i)
. += "<li>[choice_descs[i]]</li>"
. += "</ul><hr>"
/*
if(!(C.ckey in saved))
. += "(<a href='?src=[REF(src)];vote=save'>Save vote</a>)"
else
. += "(Saved!)"
if((mode in SSpersistence.saved_votes) && (C.ckey in SSpersistence.saved_votes[mode]))
. += "(<a href='?src=[REF(src)];vote=load'>Load vote from save</a>)"
*/
. += "(<a href='?src=[REF(src)];vote=load'>Load vote from save</a>)"
. += "(<a href='?src=[REF(src)];vote=reset'>Reset votes</a>)"
if(SCORE_VOTING)
var/list/myvote = voted[C.ckey]
@@ -509,14 +506,11 @@ SUBSYSTEM_DEF(vote)
if(choice_descs.len >= i)
. += "<li>[choice_descs[i]]</li>"
. += "</ul><hr>"
/*
if(!(C.ckey in saved))
. += "(<a href='?src=[REF(src)];vote=save'>Save vote</a>)"
else
. += "(Saved!)"
if((mode in SSpersistence.saved_votes) && (C.ckey in SSpersistence.saved_votes[mode]))
. += "(<a href='?src=[REF(src)];vote=load'>Load vote from save</a>)"
*/
. += "(<a href='?src=[REF(src)];vote=load'>Load vote from save</a>)"
. += "(<a href='?src=[REF(src)];vote=reset'>Reset votes</a>)"
if(admin)
. += "(<a href='?src=[REF(src)];vote=cancel'>Cancel Vote</a>) "
@@ -580,14 +574,21 @@ SUBSYSTEM_DEF(vote)
voted -= usr.ckey
if("save")
if(usr.ckey in voted)
if(!(mode in SSpersistence.saved_votes))
SSpersistence.saved_votes[mode] = list()
SSpersistence.saved_votes[mode][usr.ckey] = voted[usr.ckey]
if(!(usr.ckey in SSpersistence.saved_votes))
SSpersistence.saved_votes[usr.ckey] = list()
SSpersistence.saved_votes[usr.ckey][mode] = voted[usr.ckey]
saved += usr.ckey
if("load")
if((mode in SSpersistence.saved_votes) && (usr.ckey in SSpersistence.saved_votes[mode]))
voted[usr.ckey] = SSpersistence.saved_votes[mode][usr.ckey]
saved += usr.ckey
if(!(usr.ckey in SSpersistence.saved_votes))
SSpersistence.LoadSavedVote(usr.ckey)
if(!(usr.ckey in SSpersistence.saved_votes))
SSpersistence.saved_votes[usr.ckey] = list()
if(usr.ckey in voted)
SSpersistence.saved_votes[usr.ckey][mode] = voted[usr.ckey]
else
SSpersistence.saved_votes[usr.ckey][mode] = list()
voted[usr.ckey] = SSpersistence.saved_votes[usr.ckey][mode]
saved += usr.ckey
else
if(vote_system == SCORE_VOTING)
submit_vote(round(text2num(href_list["vote"])),round(text2num(href_list["score"])))