mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-01-02 13:33:29 +00:00
Jobbans now ask for a reason each time you try to apply a jobban. Reasons are displayed in the 'show job bans' panel.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2922 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -178,14 +178,18 @@
|
||||
jobban_unban(M, job)
|
||||
href_list["jobban2"] = 1
|
||||
else
|
||||
ban_unban_log_save("[key_name(usr)] jobbanned [key_name(M)] from [job]")
|
||||
var/reason = input(usr,"Reason?","reason","griefer") as text|null
|
||||
if(!reason)
|
||||
return
|
||||
ban_unban_log_save("[key_name(usr)] jobbanned [key_name(M)] from [job]. reason: [reason]")
|
||||
log_admin("[key_name(usr)] banned [key_name(M)] from [job]")
|
||||
feedback_inc("ban_job",1)
|
||||
feedback_add_details("ban_job","- [job]")
|
||||
M << "\red<BIG><B>You have been jobbanned by [usr.client.ckey] from [job].</B></BIG>"
|
||||
M << "\red <B>The reason is: [reason]</B>"
|
||||
M << "\red Jooban can be lifted only on demand."
|
||||
message_admins("\blue [key_name_admin(usr)] banned [key_name_admin(M)] from [job]", 1)
|
||||
jobban_fullban(M, job)
|
||||
jobban_fullban(M, job, reason)
|
||||
href_list["jobban2"] = 1 // lets it fall through and refresh
|
||||
|
||||
|
||||
@@ -1862,7 +1866,10 @@
|
||||
if ((src.rank in list( "Game Admin", "Game Master" )))
|
||||
var/dat = "<B>Job Bans!</B><HR><table>"
|
||||
for(var/t in jobban_keylist)
|
||||
dat += text("<tr><td><A href='?src=\ref[src];removejobban=[t]'>[t]</A></td></tr>")
|
||||
var/r = t
|
||||
if( findtext(r,"##") )
|
||||
r = copytext( r, 1, findtext(r,"##") )//removes the description
|
||||
dat += text("<tr><td>[t] (<A href='?src=\ref[src];removejobban=[r]'>unban</A>)</td></tr>")
|
||||
dat += "</table>"
|
||||
usr << browse(dat, "window=ban;size=400x400")
|
||||
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
var
|
||||
jobban_runonce // Updates legacy bans with new info
|
||||
jobban_runonce // Updates legacy bans with new info
|
||||
jobban_keylist[0] //to store the keys & ranks
|
||||
|
||||
/proc/jobban_fullban(mob/M, rank)
|
||||
/proc/jobban_fullban(mob/M, rank, reason)
|
||||
if (!M || !M.key || !M.client) return
|
||||
jobban_keylist.Add(text("[M.ckey] - [rank]"))
|
||||
jobban_keylist.Add(text("[M.ckey] - [rank] ## [reason]"))
|
||||
jobban_savebanfile()
|
||||
|
||||
/proc/jobban_client_fullban(ckey, rank)
|
||||
if (!ckey || !rank) return
|
||||
jobban_keylist.Add(text("[ckey] - [rank]"))
|
||||
jobban_savebanfile()
|
||||
|
||||
/proc/jobban_isbanned(mob/M, rank)
|
||||
@@ -15,17 +20,41 @@ var
|
||||
return 1
|
||||
if(config.usewhitelist && !check_whitelist(M))
|
||||
return 1
|
||||
if (jobban_keylist.Find(text("[M.ckey] - [rank]")))
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
|
||||
for (var/s in jobban_keylist)
|
||||
if( findtext(s,"[M.ckey] - [rank]") )
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/*
|
||||
DEBUG
|
||||
/mob/verb/list_all_jobbans()
|
||||
set name = "list all jobbans"
|
||||
|
||||
for(var/s in jobban_keylist)
|
||||
world << s
|
||||
|
||||
/mob/verb/reload_jobbans()
|
||||
set name = "reload jobbans"
|
||||
|
||||
jobban_loadbanfile()
|
||||
*/
|
||||
|
||||
/proc/jobban_loadbanfile()
|
||||
var/savefile/S=new("data/job_full.ban")
|
||||
S["keys[0]"] >> jobban_keylist
|
||||
log_admin("Loading jobban_rank")
|
||||
S["runonce"] >> jobban_runonce
|
||||
|
||||
/*
|
||||
for(var/i = 1; i <= length(jobban_keylist); i++)
|
||||
if( findtext(jobban_keylist[i],"##") )
|
||||
var/index = findtext(jobban_keylist[i],"##")
|
||||
var/s = jobban_keylist[i]
|
||||
s = copytext( s , 1 , index ) //Removes the reason for the ban from this list
|
||||
jobban_keylist[i] = s
|
||||
world << "DEBUG: index: [index] - s: [s] - jobban_keylist\[[i]\] = [jobban_keylist[i]]"*/
|
||||
|
||||
if (!length(jobban_keylist))
|
||||
jobban_keylist=list()
|
||||
log_admin("jobban_keylist was empty")
|
||||
@@ -36,7 +65,7 @@ var
|
||||
S["keys[0]"] << jobban_keylist
|
||||
|
||||
/proc/jobban_unban(mob/M, rank)
|
||||
jobban_keylist.Remove(text("[M.ckey] - [rank]"))
|
||||
jobban_remove("[M.ckey] - [rank]")
|
||||
jobban_savebanfile()
|
||||
|
||||
|
||||
@@ -54,8 +83,9 @@ var
|
||||
|
||||
|
||||
/proc/jobban_remove(X)
|
||||
if(jobban_keylist.Find(X))
|
||||
jobban_keylist.Remove(X)
|
||||
jobban_savebanfile()
|
||||
return 1
|
||||
for (var/i = 1; i <= length(jobban_keylist); i++)
|
||||
if( findtext(jobban_keylist[i], "[X]") )
|
||||
jobban_keylist.Remove(jobban_keylist[i])
|
||||
jobban_savebanfile()
|
||||
return 1
|
||||
return 0
|
||||
|
||||
Reference in New Issue
Block a user