mob/verb/showsave()
var/list/save = src.vars
for(var/x in save)
if(x in donotsave) //donotsave is just a list of text strings.
continue
if(istype(save[x],/list))
world << "List:"
save[x] = list2params(save[x])
world << "[x] == [save[x]]"
Problem description:
Lists are not being converted into parameters. any reason why?
var/list/save = src.vars
save is now, literally, src.vars. Anywhere you write save, you could write src.vars instead. So, when you try to replace src.vars["contents"] with a text string, it doesn't work, because contents does not allow that.
Just output the list2params() in place, rather than attempting to reassign values.