Files
2020-02-16 19:40:21 -08:00

110 lines
3.2 KiB
Plaintext

var/global/datum/datalogger/game_stats
//
/datum/datalogger
var/list/stats = list()
New()
stats["date"] = time2text(world.realtime, "MM/DD/YY hh:mm:ss")
stats["adminhelps"] = 0
stats["deaths"] = 0
stats["monkeydeaths"] = 0
stats["sleeper"] = 0
stats["traitorloss"] = 0
stats["traitorwin"] = 0
stats["farts"] = 0
stats["violence"] = 0
stats["catches"] = 0
// stats["animes"] = 0
stats["fornoreason"] = 0
// stats["literally"] = 0
// stats["gayirl"] = 0
stats["verily"] = 0
stats["grief"] = 0
stats["grife"] = 0
stats["grif"] = 0
stats["griff"] = 0
stats["greif"] = 0
stats["grief_other"] = 0
stats["rouge"] = 0
stats["players"] = 0
stats["admins"] = 0
stats["gunfire"] = 0
proc
Increment(var/p)
if(!(p in stats))
return null
stats[p]++
//DEBUG_MESSAGE("[p] = [stats[p]]")
return 1
Decrement(var/p)
if(!(p in stats))
return null
stats[p]--
// boutput(world, "[p] = [stats[p]]")
return 1
SetValue(var/p, var/val)
if(!(p in stats))
return null
stats[p] = val
return 1
ScanText(var/msg)
var/list/text_tokens = splittext(msg, " ")
var/fornoreason = 0
// var/gayirl = 0
var/verily = 0
for(var/token in text_tokens)
token = lowertext(token)
token = replacetext(token, "!", "")
token = replacetext(token, "?", "")
// this should cover all misspellings of "grief"
if(dd_hasprefix(token, "gr"))
if(dd_hassuffix(token, "ed"))
token = copytext(token, 1, length(token) - 1)
if(dd_hassuffix(token, "ing"))
token = copytext(token, 1, length(token) - 2)
if(dd_hassuffix(token, "in"))
token = copytext(token, 1, length(token) - 1)
if(dd_hassuffix(token, "d"))
token = copytext(token, 1, length(token))
if(dd_hassuffix(token, "f") || dd_hassuffix(token, "fe"))
if(!game_stats.Increment(token))
game_stats.Increment("grief_other")
// else if(token in list("o.o", "o_o", "^_^", "^^", "<.<", ">.>", "<<", ">>", "-.-", "-_-"))
// game_stats.Increment("animes")
else if(token == "literally")
game_stats.Increment("literally")
else if(token == "for" && fornoreason == 0)
fornoreason = 1
else if(token == "no" && fornoreason == 1)
fornoreason = 2
else if(token == "reason" && fornoreason == 2)
fornoreason = 3
game_stats.Increment("fornoreason")
else if(token == "rouge")
game_stats.Increment("rouge")
// else if(token == "gay" && gayirl == 0)
// gayirl = 1
// else if(token == "irl" && gayirl == 1)
// gayirl = 2
// game_stats.Increment("gayirl")
else if(token == "verily" && !verily)
verily = 1
game_stats.Increment("verily")
GetStat(var/index)
if(!(index in stats))
return null
return stats[index]
// Disabled for the sake of what I wanted to do with this, left write to file code commented.
// WriteToFile(var/filetxt)
// var/stats_file = null
// if(!fexists(filetxt))
// stats_file = file(filetxt)
// var/header = ""
// for(var/p in stats)
// header += "[p]&emsp;"
// boutput(stats_file, header)
// else
// stats_file = file(filetxt)
// var/data_str = ""
// for(var/p in stats)
// data_str += "[stats[p]]&emsp;"
// stats_file << data_str