Completely refactors Karma (#17447)

* Refactors Karma

* I FELL VICTIM TO MY OWN CI

* Update code/modules/client/client_procs.dm

* Update SQL/updates/31-32.py

* Mochi tweaks

Co-authored-by: dearmochi <1496804+dearmochi@users.noreply.github.com>

Co-authored-by: dearmochi <1496804+dearmochi@users.noreply.github.com>
This commit is contained in:
AffectedArc07
2022-03-08 22:14:05 +01:00
committed by GitHub
co-authored by dearmochi
parent e19931c643
commit 95ce462b14
21 changed files with 545 additions and 368 deletions
+3
View File
@@ -397,6 +397,9 @@
if(_2fa_alert)
to_chat(src,"<span class='boldannounce'><big>You do not have 2FA enabled. Admin verbs will be unavailable until you have enabled 2FA.</big></span>") // Very fucking obvious
// This happens asyncronously
karmaholder.processRefunds(mob)
/client/proc/is_connecting_from_localhost()
var/localhost_addresses = list("127.0.0.1", "::1") // Adresses
@@ -2,7 +2,7 @@
priority = 42
/datum/client_login_processor/karma_numbers/get_query(client/C)
var/datum/db_query/query = SSdbcore.NewQuery("SELECT karma, karmaspent FROM karmatotals WHERE byondkey=:ckey", list(
var/datum/db_query/query = SSdbcore.NewQuery("SELECT karma, karmaspent FROM karma_totals WHERE byondkey=:ckey", list(
"ckey" = C.ckey
))
return query
@@ -2,19 +2,11 @@
priority = 43
/datum/client_login_processor/karma_unlocks/get_query(client/C)
var/datum/db_query/query = SSdbcore.NewQuery("SELECT job, species FROM whitelist WHERE ckey=:ckey", list(
var/datum/db_query/query = SSdbcore.NewQuery("SELECT purchase FROM karma_purchases WHERE ckey=:ckey", list(
"ckey" = C.ckey
))
return query
/datum/client_login_processor/karma_unlocks/process_result(datum/db_query/Q, client/C)
while(Q.NextRow())
// Lets split stuff apart
C.karmaholder.unlocked_jobs = splittext(Q.item[1], ",")
C.karmaholder.unlocked_species = splittext(Q.item[2], ",") // these should really be JSON
for(var/i in 1 to length(C.karmaholder.unlocked_jobs))
C.karmaholder.unlocked_jobs[i] = trim(C.karmaholder.unlocked_jobs[i]) // Trim whitespace
for(var/i in 1 to length(C.karmaholder.unlocked_species))
C.karmaholder.unlocked_species[i] = trim(C.karmaholder.unlocked_species[i]) // Trim whitespace
C.karmaholder.addUnlock(Q.item[1])