mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-30 15:37:36 +01:00
+98
-31
@@ -4,9 +4,9 @@
|
||||
|
||||
proc/sql_report_karma(var/mob/spender, var/mob/receiver)
|
||||
var/sqlspendername = sanitizeSQL(spender.name)
|
||||
var/sqlspenderkey = spender.ckey
|
||||
var/sqlspenderkey = sanitizeSQL(spender.ckey)
|
||||
var/sqlreceivername = sanitizeSQL(receiver.name)
|
||||
var/sqlreceiverkey = receiver.ckey
|
||||
var/sqlreceiverkey = sanitizeSQL(receiver.ckey)
|
||||
var/sqlreceiverrole = "None"
|
||||
var/sqlreceiverspecial = "None"
|
||||
|
||||
@@ -28,7 +28,7 @@ proc/sql_report_karma(var/mob/spender, var/mob/receiver)
|
||||
log_game("SQL ERROR during karma logging. Error : \[[err]\]\n")
|
||||
|
||||
|
||||
query = GLOB.dbcon.NewQuery("SELECT * FROM [format_table_name("karmatotals")] WHERE byondkey='[receiver.ckey]'")
|
||||
query = GLOB.dbcon.NewQuery("SELECT * FROM [format_table_name("karmatotals")] WHERE byondkey='[sqlreceiverkey]'")
|
||||
query.Execute()
|
||||
|
||||
var/karma
|
||||
@@ -38,7 +38,7 @@ proc/sql_report_karma(var/mob/spender, var/mob/receiver)
|
||||
karma = text2num(query.item[3])
|
||||
if(karma == null)
|
||||
karma = 1
|
||||
query = GLOB.dbcon.NewQuery("INSERT INTO [format_table_name("karmatotals")] (byondkey, karma) VALUES ('[receiver.ckey]', [karma])")
|
||||
query = GLOB.dbcon.NewQuery("INSERT INTO [format_table_name("karmatotals")] (byondkey, karma) VALUES ('[sqlreceiverkey]', [karma])")
|
||||
if(!query.Execute())
|
||||
var/err = query.ErrorMsg()
|
||||
log_game("SQL ERROR during karmatotal logging (adding new key). Error : \[[err]\]\n")
|
||||
@@ -168,11 +168,12 @@ GLOBAL_LIST_EMPTY(karma_spenders)
|
||||
|
||||
/client/proc/verify_karma()
|
||||
var/currentkarma = 0
|
||||
var/sanitzedkey = sanitizeSQL(src.ckey)
|
||||
if(!GLOB.dbcon.IsConnected())
|
||||
to_chat(usr, "<span class='warning'>Unable to connect to karma database. Please try again later.<br></span>")
|
||||
return
|
||||
else
|
||||
var/DBQuery/query = GLOB.dbcon.NewQuery("SELECT karma, karmaspent FROM [format_table_name("karmatotals")] WHERE byondkey='[src.ckey]'")
|
||||
var/DBQuery/query = GLOB.dbcon.NewQuery("SELECT karma, karmaspent FROM [format_table_name("karmatotals")] WHERE byondkey='[sanitzedkey]'")
|
||||
query.Execute()
|
||||
|
||||
var/totalkarma
|
||||
@@ -195,6 +196,24 @@ GLOBAL_LIST_EMPTY(karma_spenders)
|
||||
karmashopmenu()
|
||||
|
||||
/client/proc/karmashopmenu()
|
||||
var/sanitzedkey = sanitizeSQL(usr.ckey)
|
||||
var/DBQuery/query = GLOB.dbcon.NewQuery("SELECT * FROM [format_table_name("whitelist")] WHERE ckey='[sanitzedkey]'")
|
||||
query.Execute()
|
||||
|
||||
var/list/joblist
|
||||
var/list/specieslist
|
||||
var/dbjob
|
||||
var/dbspecies
|
||||
var/dbckey
|
||||
while(query.NextRow())
|
||||
dbckey = query.item[2]
|
||||
dbjob = query.item[3]
|
||||
dbspecies = query.item[4]
|
||||
|
||||
if(dbckey)
|
||||
joblist = splittext(dbjob,",")
|
||||
specieslist = splittext(dbspecies,",")
|
||||
|
||||
var/dat = "<html><body><center>"
|
||||
dat += "<a href='?src=[UID()];karmashop=tab;tab=0' [karma_tab == 0 ? "class='linkOn'" : ""]>Job Unlocks</a>"
|
||||
dat += "<a href='?src=[UID()];karmashop=tab;tab=1' [karma_tab == 1 ? "class='linkOn'" : ""]>Species Unlocks</a>"
|
||||
@@ -202,28 +221,69 @@ GLOBAL_LIST_EMPTY(karma_spenders)
|
||||
dat += "</center>"
|
||||
dat += "<HR>"
|
||||
|
||||
var/currentkarma = verify_karma()
|
||||
dat += "You have <b>[currentkarma]</b> available.<br><HR>"
|
||||
|
||||
switch(karma_tab)
|
||||
if(0) // Job Unlocks
|
||||
dat += {"
|
||||
<a href='?src=[UID()];karmashop=shop;KarmaBuy=1'>Unlock Barber -- 5KP</a><br>
|
||||
<a href='?src=[UID()];karmashop=shop;KarmaBuy=2'>Unlock Brig Physician -- 5KP</a><br>
|
||||
<a href='?src=[UID()];karmashop=shop;KarmaBuy=3'>Unlock Nanotrasen Representative -- 30KP</a><br>
|
||||
<a href='?src=[UID()];karmashop=shop;KarmaBuy=5'>Unlock Blueshield -- 30KP</a><br>
|
||||
<a href='?src=[UID()];karmashop=shop;KarmaBuy=9'>Unlock Security Pod Pilot -- 30KP</a><br>
|
||||
<a href='?src=[UID()];karmashop=shop;KarmaBuy=6'>Unlock Mechanic -- 30KP</a><br>
|
||||
<a href='?src=[UID()];karmashop=shop;KarmaBuy=7'>Unlock Magistrate -- 45KP</a><br>
|
||||
"}
|
||||
if(!("Barber" in joblist))
|
||||
dat += "<a href='?src=[UID()];karmashop=shop;KarmaBuy=1'>Unlock Barber -- 5KP</a><br>"
|
||||
else
|
||||
dat += "Barber - <font color='green'>Unlocked</font><br>"
|
||||
if(!("Brig Physican" in joblist))
|
||||
dat += "<a href='?src=[UID()];karmashop=shop;KarmaBuy=2'>Unlock Brig Physician -- 5KP</a><br>"
|
||||
else
|
||||
dat += "Brig Physician - <font color='green'>Unlocked</font><br>"
|
||||
if(!("Nanotrasen Representative" in joblist))
|
||||
dat += "<a href='?src=[UID()];karmashop=shop;KarmaBuy=3'>Unlock Nanotrasen Representative -- 30KP</a><br>"
|
||||
else
|
||||
dat += "Nanotrasen Representative - <font color='green'>Unlocked</font><br>"
|
||||
if(!("Blueshield" in joblist))
|
||||
dat += "<a href='?src=[UID()];karmashop=shop;KarmaBuy=5'>Unlock Blueshield -- 30KP</a><br>"
|
||||
else
|
||||
dat += "Blueshield - <font color='green'>Unlocked</font><br>"
|
||||
if(!("Security Pod Pilot" in joblist))
|
||||
dat += "<a href='?src=[UID()];karmashop=shop;KarmaBuy=9'>Unlock Security Pod Pilot -- 30KP</a><br>"
|
||||
else
|
||||
dat += "Security Pod Pilot - <font color='green'>Unlocked</font><br>"
|
||||
if(!("Mechanic" in joblist))
|
||||
dat += "<a href='?src=[UID()];karmashop=shop;KarmaBuy=6'>Unlock Mechanic -- 30KP</a><br>"
|
||||
else
|
||||
dat += "Mechanic - <font color='green'>Unlocked</font><br>"
|
||||
if(!("Magistrate" in joblist))
|
||||
dat += "<a href='?src=[UID()];karmashop=shop;KarmaBuy=7'>Unlock Magistrate -- 45KP</a><br>"
|
||||
else
|
||||
dat+= "Magistrate - <font color='green'>Unlocked</font><br>"
|
||||
|
||||
if(1) // Species Unlocks
|
||||
dat += {"
|
||||
<a href='?src=[UID()];karmashop=shop;KarmaBuy2=1'>Unlock Machine People -- 15KP</a><br>
|
||||
<a href='?src=[UID()];karmashop=shop;KarmaBuy2=2'>Unlock Kidan -- 30KP</a><br>
|
||||
<a href='?src=[UID()];karmashop=shop;KarmaBuy2=3'>Unlock Grey -- 30KP</a><br>
|
||||
<a href='?src=[UID()];karmashop=shop;KarmaBuy2=7'>Unlock Drask -- 30KP</a><br>
|
||||
<a href='?src=[UID()];karmashop=shop;KarmaBuy2=4'>Unlock Vox -- 45KP</a><br>
|
||||
<a href='?src=[UID()];karmashop=shop;KarmaBuy2=5'>Unlock Slime People -- 45KP</a><br>
|
||||
<a href='?src=[UID()];karmashop=shop;KarmaBuy2=6'>Unlock Plasmaman -- 45KP</a><br>
|
||||
"}
|
||||
if(!("Machine" in specieslist))
|
||||
dat += "<a href='?src=[UID()];karmashop=shop;KarmaBuy2=1'>Unlock Machine People -- 15KP</a><br>"
|
||||
else
|
||||
dat += "Machine People - <font color='green'>Unlocked</font><br>"
|
||||
if(!("Kidan" in specieslist))
|
||||
dat += "<a href='?src=[UID()];karmashop=shop;KarmaBuy2=2'>Unlock Kidan -- 30KP</a><br>"
|
||||
else
|
||||
dat += "Kidan - <font color='green'>Unlocked</font><br>"
|
||||
if(!("Grey" in specieslist))
|
||||
dat += "<a href='?src=[UID()];karmashop=shop;KarmaBuy2=3'>Unlock Grey -- 30KP</a><br>"
|
||||
else
|
||||
dat += "Grey - <font color='green'>Unlocked</font><br>"
|
||||
if(!("Drask" in specieslist))
|
||||
dat += "<a href='?src=[UID()];karmashop=shop;KarmaBuy2=7'>Unlock Drask -- 30KP</a><br>"
|
||||
else
|
||||
dat += "Drask - <font color='green'>Unlocked</font><br>"
|
||||
if(!("Vox" in specieslist))
|
||||
dat += "<a href='?src=[UID()];karmashop=shop;KarmaBuy2=4'>Unlock Vox -- 45KP</a><br>"
|
||||
else
|
||||
dat += "Vox - <font color='green'>Unlocked</font><br>"
|
||||
if(!("Slime People" in specieslist))
|
||||
dat += "<a href='?src=[UID()];karmashop=shop;KarmaBuy2=5'>Unlock Slime People -- 45KP</a><br>"
|
||||
else
|
||||
dat += "Slime People - <font color='green'>Unlocked</font><br>"
|
||||
if(!("Plasmaman" in specieslist))
|
||||
dat += "<a href='?src=[UID()];karmashop=shop;KarmaBuy2=6'>Unlock Plasmaman -- 45KP</a><br>"
|
||||
else
|
||||
dat += "Plasmaman - <font color='green'>Unlocked</font><br>"
|
||||
|
||||
if(2) // Karma Refunds
|
||||
var/list/refundable = list()
|
||||
@@ -283,11 +343,14 @@ GLOBAL_LIST_EMPTY(karma_spenders)
|
||||
name = DBname
|
||||
if(category == "job")
|
||||
DB_job_unlock(name,price)
|
||||
karmashopmenu()
|
||||
else if(category == "species")
|
||||
DB_species_unlock(name,price)
|
||||
karmashopmenu()
|
||||
|
||||
/client/proc/DB_job_unlock(var/job,var/cost)
|
||||
var/DBQuery/query = GLOB.dbcon.NewQuery("SELECT * FROM [format_table_name("whitelist")] WHERE ckey='[usr.ckey]'")
|
||||
var/sanitzedkey = sanitizeSQL(usr.ckey)
|
||||
var/DBQuery/query = GLOB.dbcon.NewQuery("SELECT * FROM [format_table_name("whitelist")] WHERE ckey='[sanitzedkey]'")
|
||||
query.Execute()
|
||||
|
||||
var/dbjob
|
||||
@@ -296,7 +359,7 @@ GLOBAL_LIST_EMPTY(karma_spenders)
|
||||
dbckey = query.item[2]
|
||||
dbjob = query.item[3]
|
||||
if(!dbckey)
|
||||
query = GLOB.dbcon.NewQuery("INSERT INTO [format_table_name("whitelist")] (ckey, job) VALUES ('[usr.ckey]','[job]')")
|
||||
query = GLOB.dbcon.NewQuery("INSERT INTO [format_table_name("whitelist")] (ckey, job) VALUES ('[sanitzedkey]','[job]')")
|
||||
if(!query.Execute())
|
||||
queryErrorLog(query.ErrorMsg(),"adding new key")
|
||||
return
|
||||
@@ -323,7 +386,8 @@ GLOBAL_LIST_EMPTY(karma_spenders)
|
||||
return
|
||||
|
||||
/client/proc/DB_species_unlock(var/species,var/cost)
|
||||
var/DBQuery/query = GLOB.dbcon.NewQuery("SELECT * FROM [format_table_name("whitelist")] WHERE ckey='[usr.ckey]'")
|
||||
var/sanitzedkey = sanitizeSQL(usr.ckey)
|
||||
var/DBQuery/query = GLOB.dbcon.NewQuery("SELECT * FROM [format_table_name("whitelist")] WHERE ckey='[sanitzedkey]'")
|
||||
query.Execute()
|
||||
|
||||
var/dbspecies
|
||||
@@ -332,7 +396,7 @@ GLOBAL_LIST_EMPTY(karma_spenders)
|
||||
dbckey = query.item[2]
|
||||
dbspecies = query.item[4]
|
||||
if(!dbckey)
|
||||
query = GLOB.dbcon.NewQuery("INSERT INTO [format_table_name("whitelist")] (ckey, species) VALUES ('[usr.ckey]','[species]')")
|
||||
query = GLOB.dbcon.NewQuery("INSERT INTO [format_table_name("whitelist")] (ckey, species) VALUES ('[sanitzedkey]','[species]')")
|
||||
if(!query.Execute())
|
||||
queryErrorLog(query.ErrorMsg(),"adding new key")
|
||||
return
|
||||
@@ -359,7 +423,8 @@ GLOBAL_LIST_EMPTY(karma_spenders)
|
||||
return
|
||||
|
||||
/client/proc/karmacharge(var/cost,var/refund = FALSE)
|
||||
var/DBQuery/query = GLOB.dbcon.NewQuery("SELECT * FROM [format_table_name("karmatotals")] WHERE byondkey='[usr.ckey]'")
|
||||
var/sanitzedkey = sanitizeSQL(usr.ckey)
|
||||
var/DBQuery/query = GLOB.dbcon.NewQuery("SELECT * FROM [format_table_name("karmatotals")] WHERE byondkey='[sanitzedkey]'")
|
||||
query.Execute()
|
||||
|
||||
while(query.NextRow())
|
||||
@@ -368,7 +433,7 @@ GLOBAL_LIST_EMPTY(karma_spenders)
|
||||
spent -= cost
|
||||
else
|
||||
spent += cost
|
||||
query = GLOB.dbcon.NewQuery("UPDATE [format_table_name("karmatotals")] SET karmaspent=[spent] WHERE byondkey='[usr.ckey]'")
|
||||
query = GLOB.dbcon.NewQuery("UPDATE [format_table_name("karmatotals")] SET karmaspent=[spent] WHERE byondkey='[sanitzedkey]'")
|
||||
if(!query.Execute())
|
||||
queryErrorLog(query.ErrorMsg(),"updating existing entry")
|
||||
return
|
||||
@@ -378,6 +443,7 @@ GLOBAL_LIST_EMPTY(karma_spenders)
|
||||
return
|
||||
|
||||
/client/proc/karmarefund(var/type,var/name,var/cost)
|
||||
var/sanitzedkey = sanitizeSQL(usr.ckey)
|
||||
switch(name)
|
||||
if("Tajaran Ambassador","Unathi Ambassador","Skrell Ambassador","Diona Ambassador","Kidan Ambassador",
|
||||
"Slime People Ambassador","Grey Ambassador","Vox Ambassador","Customs Officer")
|
||||
@@ -388,7 +454,7 @@ GLOBAL_LIST_EMPTY(karma_spenders)
|
||||
to_chat(usr, "<span class='warning'>That job is not refundable.</span>")
|
||||
return
|
||||
|
||||
var/DBQuery/query = GLOB.dbcon.NewQuery("SELECT * FROM [format_table_name("whitelist")] WHERE ckey='[usr.ckey]'")
|
||||
var/DBQuery/query = GLOB.dbcon.NewQuery("SELECT * FROM [format_table_name("whitelist")] WHERE ckey='[sanitzedkey]'")
|
||||
query.Execute()
|
||||
|
||||
var/dbjob
|
||||
@@ -431,7 +497,8 @@ GLOBAL_LIST_EMPTY(karma_spenders)
|
||||
message_admins("SQL ERROR during whitelist logging ([errType]]). Error : \[[err]\]\n")
|
||||
|
||||
/client/proc/checkpurchased(var/name = null) // If the first parameter is null, return a full list of purchases
|
||||
var/DBQuery/query = GLOB.dbcon.NewQuery("SELECT * FROM [format_table_name("whitelist")] WHERE ckey='[usr.ckey]'")
|
||||
var/sanitzedkey = sanitizeSQL(usr.ckey)
|
||||
var/DBQuery/query = GLOB.dbcon.NewQuery("SELECT * FROM [format_table_name("whitelist")] WHERE ckey='[sanitzedkey]'")
|
||||
query.Execute()
|
||||
|
||||
var/dbjob
|
||||
|
||||
Reference in New Issue
Block a user