Files
Aurora.3/code/modules/admin/admin_investigate.dm
Erthilo 41b45396f4 TG: Added a new logging system that can be used for various things in the game (such
as the singularity engine, AI interactions, anything-else that may be suggested
to me :P).

At the moment it only logs some singularity things. Please let me know if there
are any important methods of singulo-grief which I may have missed.

The "Investigate" verb is available to everyone of rank "Admin observer" and
upwards. Just type "Investigate" and select the subject you'd like to see logs
for. Typing "Investigate singulo" will also work as a shortcut.
Revision: r3679
Author: 	 elly1...@rocketmail.com

TG: Disposal/Pipe Dispenser can no longer be used 'remotely' or while stunned or
while they are unwrenched. Fixes  issue 517 .

Can no longer eject the nuke disk from the nuke while stunned. Fixes  issue 497 .

PA can now be powered down again.

Cyborg 'skull' masks now have east and west facing sprites. Fixes  issue 468 .
- I encourage anyone with actual spriting skills to redo them though, I just
spent 5 second in photoshop whipping these up. (icons/mob/mask.dmi the icon
labeled 'Death')
Revision: r3681
Author: 	 johnsonmt88
2012-05-29 01:45:03 +01:00

44 lines
1.5 KiB
Plaintext

//By Carnwennan
//This system was made as an alternative to all the in-game lists and variables used to log stuff in-game.
//lists and variables are great. However, they have several major flaws:
//Firstly, they use memory. TGstation has one of the highest memory usage of all the ss13 branches.
//Secondly, they are usually stored in an object. This means that they aren't centralised. It also means that
//the data is lost when the object is deleted! This is especially annoying for things like the singulo engine!
#define INVESTIGATE_DIR "data/investigate/"
//SYSTEM
/proc/investigate_subject2file(var/subject)
switch(subject)
if("singulo")
return file("[INVESTIGATE_DIR]singulo.html")
if("silicon")
return file("[INVESTIGATE_DIR]silicon.html")
else
return
/proc/investigate_reset()
if(fdel(INVESTIGATE_DIR)) return 1
return 0
/atom/proc/investigate_log(var/message, var/subject)
if(!message) return
var/F = investigate_subject2file(subject)
if(!F) return
F << "<small>[time2text(world.timeofday,"hh:mm")] \ref[src] ([x],[y],[z])</small> || [src] [message]<br>"
//ADMINVERBS
/client/proc/investigate_show( subject in list("singulo","silicon") )
set name = "Investigate"
set category = "Admin"
if(!holder) return
var/F = investigate_subject2file(subject)
if(!F)
src << "<font color='red'>Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed.</font>"
return
src << browse(F,"window=investigate;size=800x300")