diff --git a/code/__HELPERS/sanitize_values.dm b/code/__HELPERS/sanitize_values.dm new file mode 100644 index 0000000000..acf81b3f62 --- /dev/null +++ b/code/__HELPERS/sanitize_values.dm @@ -0,0 +1,50 @@ +//general stuff +/proc/sanitize_integer(number, min=0, max=1, default=0) + if(isnum(number)) + number = round(number) + if(min <= number && number <= max) + return number + return default + +/proc/sanitize_text(text, default="") + if(istext(text)) + return text + return default + +/proc/sanitize_inlist(value, list/List, default) + if(value in List) return value + if(default) return default + if(List && List.len)return List[1] + + + +//more specialised stuff +/proc/sanitize_gender(gender,neuter=0,plural=0, default="male") + switch(gender) + if(MALE, FEMALE)return gender + if(NEUTER) + if(neuter) return gender + else return default + if(PLURAL) + if(plural) return gender + else return default + return default + +/proc/sanitize_hexcolor(color, default="#000000") + if(!istext(color)) return default + var/len = length(color) + if(len != 7 && len !=4) return default + if(text2ascii(color,1) != 35) return default //35 is the ascii code for "#" + . = "#" + for(var/i=2,i<=len,i++) + var/ascii = text2ascii(color,i) + switch(ascii) + if(48 to 57) . += ascii2text(ascii) //numbers 0 to 9 + if(97 to 102) . += ascii2text(ascii) //letters a to f + if(65 to 70) . += ascii2text(ascii+32) //letters A to F - translates to lowercase + else return default + return . + + + + diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index d83e773bcc..097a762bbb 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -173,27 +173,27 @@ client if(istype(D,/atom)) var/atom/A = D if(isliving(A)) - body += "[D]" + body += "[D]" if(A.dir) - body += "
<< [dir2text(A.dir)] >>" + body += "
<< [dir2text(A.dir)] >>" var/mob/living/M = A - body += "
[M.ckey ? M.ckey : "No ckey"] / [M.real_name ? M.real_name : "No real name"]" + body += "
[M.ckey ? M.ckey : "No ckey"] / [M.real_name ? M.real_name : "No real name"]" body += {"
- BRUTE:[M.getBruteLoss()] - FIRE:[M.getFireLoss()] - TOXIN:[M.getToxLoss()] - OXY:[M.getOxyLoss()] - CLONE:[M.getCloneLoss()] - BRAIN:[M.getBrainLoss()] + BRUTE:[M.getBruteLoss()] + FIRE:[M.getFireLoss()] + TOXIN:[M.getToxLoss()] + OXY:[M.getOxyLoss()] + CLONE:[M.getCloneLoss()] + BRAIN:[M.getBrainLoss()] "} else - body += "[D]" + body += "[D]" if(A.dir) - body += "
<< [dir2text(A.dir)] >>" + body += "
<< [dir2text(A.dir)] >>" else body += "[D]" @@ -219,10 +219,10 @@ client body += "" - body += "
Refresh" + body += "
Refresh" //if(ismob(D)) - // body += "
Show player panel

" + // body += "
Show player panel
" body += {"