# Ned's Todo List for TG *(This does NOT include Statbus!)* ## ✅ Log *all* ahelp actions Bans, notes, transforms, etc. If it shows up in the ticket view in-game, it needs to be logged. Points of interest: * `/proc/admin_ticket_log` * `key_name()` ~~No good way to strip HTML in the code, so we're gonna have to re-create all the messages without HTML to insert into the DB. No, we're not gonna insert straight HTML into the DB.~~ Add code to log the interaction in `adminhelp.dm`, run message text through `strip_html`. Get ticket info from `C` (current ticket) OR ## ✅ Citation DB Log Jordie told me to use the `feedback` table but that's a pain in the butt so we're gonna log these directly to the DB. Might as well go ahead and pull the entire security records from the round into the DB since the two systems are the same. Tentative Table Structure: ``` id datetime (automatic) ckey (who filed it) target (name, maybe ckey?) reason fine (float) paid (boolean- er, tinyint) server_port ``` Points of interest: * `/datum/datacore/proc/[add,remove,pay]Citation` * `INVESTIGATE_RECORDS` ## Citation DB Log Round Two - [ ] Log crimes - [ ] Add a rating column - [ ] Change `citation` column to `int` Votes are done on Statbus, and every new vote updates average which is then set on tgdb. ## Station Ledger A piece of machinery that stores all station records (sec, medical, cargo orders, financial transactions). Mostly for RP flavor + traitor theft target. ### Purser Job In charge of everything money related. Bridge access only. Not a head of staff. Split on mindshielded or not. ## "Harder" Forensics Overhaul how DNA/Fingerprints are generated. Right now they're just an `md5` hash. Implement a new hash 'algorithim' that generates similar-but-slightly different hashes. DNA/fingerprints in the wild have more characters in their hash replaced by `*`s the longer they exist. A chemical can be sprayed/splashed on something with DNA/fingerprints to 'lift' them and reveal more of the hash. [Inspired by using superglue to lift fingerprints](https://www.youtube.com/watch?v=R0e8WXkFA64). ### Methods Using the round's seed, generate a 16 character string: `322A6F5733ED4208` and break it up into four chunks: `322A|6F57|33E|4208` ### Painpoints There is no universal mechanism by which a character's fingerprints are generated. In the `datacore`, fingerprints are the md5 sum of the mob's DNA `uni_identity`, whatever that is. The forensics datum similarly uses the same md5 sum to add fingerprints to an item's forensics report. The same one used by admins to investigate, boo.