Applies to:DM Language
Status: Open

Issue hasn't been assigned a status value.
It would be nice to be able to see the age of an account in game code.

Say in ss13, Client is 2 days old, and just "hacked" a airlock (ss13 concept) like a pro, might not be their first account, might be a ban evader about to griff again.

This would allow us to adjust our admin alerts to be more sensitive to possible ban evaders.

(and would go nicely with eric's vm detection idea)

Suggested varname would be account_age (ideally not player_age because we already have a client var by this name in most ss13 code bases, but we could adjust this if needed)
This can already be done by calling world.Export and grabbing the 'joined' field, however a clean way to do this would be neato.

    var/list/http[] = world.Export("[ckey]?format=text")  // Retrieve information from BYOND
var/Joined = 2550-01-01
if(http && http.len && ("CONTENT" in http))
var/String = file2text(http["CONTENT"]) // Convert the HTML file to text
var/JoinPos = findtext(String, "joined")+10 // Parse for the joined date
Joined = copytext(String, JoinPos, JoinPos+10) // Get the date in the YYYY-MM-DD format
Doing that 30 to 80 times on world.reboot wouldn't be too nice to byond.
I think it would be interesting if this kind of information was available on the person's pager for example that gets sent during the login request. If this info is saved when the person logs into their account, then you wouldn't have to called Export to grab that info.

I think serving different kinds of information would be better, but this would be an interesting start.
In response to MrStonedOne
MrStonedOne wrote:
Doing that 30 to 80 times on world.reboot wouldn't be too nice to byond.

You only need to retrieve it once per player, and then store it in a savefile, or database, but yes.. a built in var would be neato