diff --git a/code/modules/mob/new_player/preferences.dm b/code/modules/mob/new_player/preferences.dm index de97f31b6d4..01174aeb6bb 100644 --- a/code/modules/mob/new_player/preferences.dm +++ b/code/modules/mob/new_player/preferences.dm @@ -582,7 +582,7 @@ datum/preferences savefile_removeslot(user, slot) usr << "Slot [slot] Deleted." - slot = 1 + curslot = 1 loadsave(usr) if(link_tags["loadslot2"]) loadsave(user) @@ -595,12 +595,11 @@ datum/preferences return var/slotname = input(usr,"Choose a name for your slot","Name","Default") - savefile_createslot(user, slotname) + curslot = savefile_createslot(user, slotname) if(!savefile_load(user, count)) alert(user, "You do not have a savefile.") else - curslot = count closesave(user) if(link_tags["reset_all"]) diff --git a/code/modules/mob/new_player/savefile.dm b/code/modules/mob/new_player/savefile.dm index 4f9678e09a2..7243cca918b 100644 --- a/code/modules/mob/new_player/savefile.dm +++ b/code/modules/mob/new_player/savefile.dm @@ -19,8 +19,8 @@ datum/preferences/proc/savefile_getslots(mob/user) slots.Add(F["slotname"] ? F["slotname"] : "Default") // allow old prefs saves to be loaded as slot 1 // slots 2 - len - for(var/slot=2, slot<=F.dir.len, slot++) - var/dname = F.dir[slot] + for(var/i=1, i<=F.dir.len, i++) + var/dname = F.dir[i] if(copytext(dname, 1, 6) == "slot.") slots.Add(copytext(dname, 6)) @@ -44,7 +44,9 @@ datum/preferences/proc/savefile_createslot(mob/user, slotname) F.dir.Add("slot." + slotname) var/list/slots = savefile_getslots(user) - savefile_save(user, slots.len) + var/slot = slots.Find(slotname) + savefile_save(user, slot) + return slot datum/preferences/proc/savefile_removeslot(mob/user, slot) if(IsGuestKey(user.key))