|
|
|
@@ -433,6 +433,7 @@
|
|
|
|
|
if(!M.ckey) //sanity
|
|
|
|
|
to_chat(usr, "This mob has no ckey")
|
|
|
|
|
return
|
|
|
|
|
var/ban_ckey_param = href_list["dbbanaddckey"]
|
|
|
|
|
|
|
|
|
|
var/banreason = appearance_isbanned(M)
|
|
|
|
|
if(banreason)
|
|
|
|
@@ -455,6 +456,7 @@
|
|
|
|
|
var/reason = input(usr,"Please state the reason","Reason") as message|null
|
|
|
|
|
if(!reason)
|
|
|
|
|
return
|
|
|
|
|
M = admin_ban_mobsearch(M, ban_ckey_param, usr)
|
|
|
|
|
ban_unban_log_save("[key_name(usr)] appearance banned [key_name(M)]. reason: [reason]")
|
|
|
|
|
log_admin("[key_name(usr)] appearance banned [key_name(M)]. \nReason: [reason]")
|
|
|
|
|
feedback_inc("ban_appearance",1)
|
|
|
|
@@ -501,17 +503,17 @@
|
|
|
|
|
//Regular jobs
|
|
|
|
|
//Command (Blue)
|
|
|
|
|
jobs += "<table cellpadding='1' cellspacing='0' width='100%'>"
|
|
|
|
|
jobs += "<tr align='center' bgcolor='ccccff'><th colspan='[length(command_positions)]'><a href='?src=[UID()];jobban3=commanddept;jobban4=[M.UID()]'>Command Positions</a></th></tr><tr align='center'>"
|
|
|
|
|
jobs += "<tr align='center' bgcolor='ccccff'><th colspan='[length(command_positions)]'><a href='?src=[UID()];jobban3=commanddept;jobban4=[M.UID()];dbbanaddckey=[M.ckey]'>Command Positions</a></th></tr><tr align='center'>"
|
|
|
|
|
for(var/jobPos in command_positions)
|
|
|
|
|
if(!jobPos) continue
|
|
|
|
|
var/datum/job/job = job_master.GetJob(jobPos)
|
|
|
|
|
if(!job) continue
|
|
|
|
|
|
|
|
|
|
if(jobban_isbanned(M, job.title))
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()]'><font color=red>[replacetext(job.title, " ", " ")]</font></a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()];dbbanaddckey=[M.ckey]'><font color=red>[replacetext(job.title, " ", " ")]</font></a></td>"
|
|
|
|
|
counter++
|
|
|
|
|
else
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()]'>[replacetext(job.title, " ", " ")]</a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()];dbbanaddckey=[M.ckey]'>[replacetext(job.title, " ", " ")]</a></td>"
|
|
|
|
|
counter++
|
|
|
|
|
|
|
|
|
|
if(counter >= 6) //So things dont get squiiiiished!
|
|
|
|
@@ -522,17 +524,17 @@
|
|
|
|
|
//Security (Red)
|
|
|
|
|
counter = 0
|
|
|
|
|
jobs += "<table cellpadding='1' cellspacing='0' width='100%'>"
|
|
|
|
|
jobs += "<tr bgcolor='ffddf0'><th colspan='[length(security_positions)]'><a href='?src=[UID()];jobban3=securitydept;jobban4=[M.UID()]'>Security Positions</a></th></tr><tr align='center'>"
|
|
|
|
|
jobs += "<tr bgcolor='ffddf0'><th colspan='[length(security_positions)]'><a href='?src=[UID()];jobban3=securitydept;jobban4=[M.UID()];dbbanaddckey=[M.ckey]'>Security Positions</a></th></tr><tr align='center'>"
|
|
|
|
|
for(var/jobPos in security_positions)
|
|
|
|
|
if(!jobPos) continue
|
|
|
|
|
var/datum/job/job = job_master.GetJob(jobPos)
|
|
|
|
|
if(!job) continue
|
|
|
|
|
|
|
|
|
|
if(jobban_isbanned(M, job.title))
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()]'><font color=red>[replacetext(job.title, " ", " ")]</font></a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()];dbbanaddckey=[M.ckey]'><font color=red>[replacetext(job.title, " ", " ")]</font></a></td>"
|
|
|
|
|
counter++
|
|
|
|
|
else
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()]'>[replacetext(job.title, " ", " ")]</a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()];dbbanaddckey=[M.ckey]'>[replacetext(job.title, " ", " ")]</a></td>"
|
|
|
|
|
counter++
|
|
|
|
|
|
|
|
|
|
if(counter >= 5) //So things dont get squiiiiished!
|
|
|
|
@@ -543,17 +545,17 @@
|
|
|
|
|
//Engineering (Yellow)
|
|
|
|
|
counter = 0
|
|
|
|
|
jobs += "<table cellpadding='1' cellspacing='0' width='100%'>"
|
|
|
|
|
jobs += "<tr bgcolor='fff5cc'><th colspan='[length(engineering_positions)]'><a href='?src=[UID()];jobban3=engineeringdept;jobban4=[M.UID()]'>Engineering Positions</a></th></tr><tr align='center'>"
|
|
|
|
|
jobs += "<tr bgcolor='fff5cc'><th colspan='[length(engineering_positions)]'><a href='?src=[UID()];jobban3=engineeringdept;jobban4=[M.UID()];dbbanaddckey=[M.ckey]'>Engineering Positions</a></th></tr><tr align='center'>"
|
|
|
|
|
for(var/jobPos in engineering_positions)
|
|
|
|
|
if(!jobPos) continue
|
|
|
|
|
var/datum/job/job = job_master.GetJob(jobPos)
|
|
|
|
|
if(!job) continue
|
|
|
|
|
|
|
|
|
|
if(jobban_isbanned(M, job.title))
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()]'><font color=red>[replacetext(job.title, " ", " ")]</font></a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()];dbbanaddckey=[M.ckey]'><font color=red>[replacetext(job.title, " ", " ")]</font></a></td>"
|
|
|
|
|
counter++
|
|
|
|
|
else
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()]'>[replacetext(job.title, " ", " ")]</a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()];dbbanaddckey=[M.ckey]'>[replacetext(job.title, " ", " ")]</a></td>"
|
|
|
|
|
counter++
|
|
|
|
|
|
|
|
|
|
if(counter >= 5) //So things dont get squiiiiished!
|
|
|
|
@@ -564,17 +566,17 @@
|
|
|
|
|
//Medical (White)
|
|
|
|
|
counter = 0
|
|
|
|
|
jobs += "<table cellpadding='1' cellspacing='0' width='100%'>"
|
|
|
|
|
jobs += "<tr bgcolor='ffeef0'><th colspan='[length(medical_positions)]'><a href='?src=[UID()];jobban3=medicaldept;jobban4=[M.UID()]'>Medical Positions</a></th></tr><tr align='center'>"
|
|
|
|
|
jobs += "<tr bgcolor='ffeef0'><th colspan='[length(medical_positions)]'><a href='?src=[UID()];jobban3=medicaldept;jobban4=[M.UID()];dbbanaddckey=[M.ckey]'>Medical Positions</a></th></tr><tr align='center'>"
|
|
|
|
|
for(var/jobPos in medical_positions)
|
|
|
|
|
if(!jobPos) continue
|
|
|
|
|
var/datum/job/job = job_master.GetJob(jobPos)
|
|
|
|
|
if(!job) continue
|
|
|
|
|
|
|
|
|
|
if(jobban_isbanned(M, job.title))
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()]'><font color=red>[replacetext(job.title, " ", " ")]</font></a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()];dbbanaddckey=[M.ckey]'><font color=red>[replacetext(job.title, " ", " ")]</font></a></td>"
|
|
|
|
|
counter++
|
|
|
|
|
else
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()]'>[replacetext(job.title, " ", " ")]</a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()];dbbanaddckey=[M.ckey]'>[replacetext(job.title, " ", " ")]</a></td>"
|
|
|
|
|
counter++
|
|
|
|
|
|
|
|
|
|
if(counter >= 5) //So things dont get squiiiiished!
|
|
|
|
@@ -585,17 +587,17 @@
|
|
|
|
|
//Science (Purple)
|
|
|
|
|
counter = 0
|
|
|
|
|
jobs += "<table cellpadding='1' cellspacing='0' width='100%'>"
|
|
|
|
|
jobs += "<tr bgcolor='e79fff'><th colspan='[length(science_positions)]'><a href='?src=[UID()];jobban3=sciencedept;jobban4=[M.UID()]'>Science Positions</a></th></tr><tr align='center'>"
|
|
|
|
|
jobs += "<tr bgcolor='e79fff'><th colspan='[length(science_positions)]'><a href='?src=[UID()];jobban3=sciencedept;jobban4=[M.UID()];dbbanaddckey=[M.ckey]'>Science Positions</a></th></tr><tr align='center'>"
|
|
|
|
|
for(var/jobPos in science_positions)
|
|
|
|
|
if(!jobPos) continue
|
|
|
|
|
var/datum/job/job = job_master.GetJob(jobPos)
|
|
|
|
|
if(!job) continue
|
|
|
|
|
|
|
|
|
|
if(jobban_isbanned(M, job.title))
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()]'><font color=red>[replacetext(job.title, " ", " ")]</font></a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()];dbbanaddckey=[M.ckey]'><font color=red>[replacetext(job.title, " ", " ")]</font></a></td>"
|
|
|
|
|
counter++
|
|
|
|
|
else
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()]'>[replacetext(job.title, " ", " ")]</a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()];dbbanaddckey=[M.ckey]'>[replacetext(job.title, " ", " ")]</a></td>"
|
|
|
|
|
counter++
|
|
|
|
|
|
|
|
|
|
if(counter >= 5) //So things dont get squiiiiished!
|
|
|
|
@@ -606,17 +608,17 @@
|
|
|
|
|
//Support (Grey)
|
|
|
|
|
counter = 0
|
|
|
|
|
jobs += "<table cellpadding='1' cellspacing='0' width='100%'>"
|
|
|
|
|
jobs += "<tr bgcolor='dddddd'><th colspan='[length(support_positions)]'><a href='?src=[UID()];jobban3=supportdept;jobban4=[M.UID()]'>Support Positions</a></th></tr><tr align='center'>"
|
|
|
|
|
jobs += "<tr bgcolor='dddddd'><th colspan='[length(support_positions)]'><a href='?src=[UID()];jobban3=supportdept;jobban4=[M.UID()];dbbanaddckey=[M.ckey]'>Support Positions</a></th></tr><tr align='center'>"
|
|
|
|
|
for(var/jobPos in support_positions)
|
|
|
|
|
if(!jobPos) continue
|
|
|
|
|
var/datum/job/job = job_master.GetJob(jobPos)
|
|
|
|
|
if(!job) continue
|
|
|
|
|
|
|
|
|
|
if(jobban_isbanned(M, job.title))
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()]'><font color=red>[replacetext(job.title, " ", " ")]</font></a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()];dbbanaddckey=[M.ckey]'><font color=red>[replacetext(job.title, " ", " ")]</font></a></td>"
|
|
|
|
|
counter++
|
|
|
|
|
else
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()]'>[replacetext(job.title, " ", " ")]</a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()];dbbanaddckey=[M.ckey]'>[replacetext(job.title, " ", " ")]</a></td>"
|
|
|
|
|
counter++
|
|
|
|
|
|
|
|
|
|
if(counter >= 5) //So things dont get squiiiiished!
|
|
|
|
@@ -627,17 +629,17 @@
|
|
|
|
|
//Non-Human (Green)
|
|
|
|
|
counter = 0
|
|
|
|
|
jobs += "<table cellpadding='1' cellspacing='0' width='100%'>"
|
|
|
|
|
jobs += "<tr bgcolor='ccffcc'><th colspan='[length(nonhuman_positions)+1]'><a href='?src=[UID()];jobban3=nonhumandept;jobban4=[M.UID()]'>Non-human Positions</a></th></tr><tr align='center'>"
|
|
|
|
|
jobs += "<tr bgcolor='ccffcc'><th colspan='[length(nonhuman_positions)+1]'><a href='?src=[UID()];jobban3=nonhumandept;jobban4=[M.UID()];dbbanaddckey=[M.ckey]'>Non-human Positions</a></th></tr><tr align='center'>"
|
|
|
|
|
for(var/jobPos in nonhuman_positions)
|
|
|
|
|
if(!jobPos) continue
|
|
|
|
|
var/datum/job/job = job_master.GetJob(jobPos)
|
|
|
|
|
if(!job) continue
|
|
|
|
|
|
|
|
|
|
if(jobban_isbanned(M, job.title))
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()]'><font color=red>[replacetext(job.title, " ", " ")]</font></a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()];dbbanaddckey=[M.ckey]'><font color=red>[replacetext(job.title, " ", " ")]</font></a></td>"
|
|
|
|
|
counter++
|
|
|
|
|
else
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()]'>[replacetext(job.title, " ", " ")]</a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()];dbbanaddckey=[M.ckey]'>[replacetext(job.title, " ", " ")]</a></td>"
|
|
|
|
|
counter++
|
|
|
|
|
|
|
|
|
|
if(counter >= 5) //So things dont get squiiiiished!
|
|
|
|
@@ -646,29 +648,29 @@
|
|
|
|
|
|
|
|
|
|
//Drone
|
|
|
|
|
if(jobban_isbanned(M, "Drone"))
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=Drone;jobban4=[M.UID()]'><font color=red>Drone</font></a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=Drone;jobban4=[M.UID()];dbbanaddckey=[M.ckey]'><font color=red>Drone</font></a></td>"
|
|
|
|
|
else
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=Drone;jobban4=[M.UID()]'>Drone</a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=Drone;jobban4=[M.UID()];dbbanaddckey=[M.ckey]'>Drone</a></td>"
|
|
|
|
|
|
|
|
|
|
//pAI
|
|
|
|
|
if(jobban_isbanned(M, "pAI"))
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=pAI;jobban4=[M.UID()]'><font color=red>pAI</font></a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=pAI;jobban4=[M.UID()];dbbanaddckey=[M.ckey]'><font color=red>pAI</font></a></td>"
|
|
|
|
|
else
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=pAI;jobban4=[M.UID()]'>pAI</a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=pAI;jobban4=[M.UID()];dbbanaddckey=[M.ckey]'>pAI</a></td>"
|
|
|
|
|
|
|
|
|
|
jobs += "</tr></table>"
|
|
|
|
|
|
|
|
|
|
//Antagonist (Orange)
|
|
|
|
|
var/isbanned_dept = jobban_isbanned(M, "Syndicate")
|
|
|
|
|
jobs += "<table cellpadding='1' cellspacing='0' width='100%'>"
|
|
|
|
|
jobs += "<tr bgcolor='ffeeaa'><th colspan='10'><a href='?src=[UID()];jobban3=Syndicate;jobban4=[M.UID()]'>Antagonist Positions</a></th></tr><tr align='center'>"
|
|
|
|
|
jobs += "<tr bgcolor='ffeeaa'><th colspan='10'><a href='?src=[UID()];jobban3=Syndicate;jobban4=[M.UID()];dbbanaddckey=[M.ckey]'>Antagonist Positions</a></th></tr><tr align='center'>"
|
|
|
|
|
|
|
|
|
|
counter = 0
|
|
|
|
|
for(var/role in antag_roles)
|
|
|
|
|
if(jobban_isbanned(M, role) || isbanned_dept)
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[role];jobban4=[M.UID()]'><font color=red>[replacetext(role, " ", " ")]</font></a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[role];jobban4=[M.UID()];dbbanaddckey=[M.ckey]'><font color=red>[replacetext(role, " ", " ")]</font></a></td>"
|
|
|
|
|
else
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[role];jobban4=[M.UID()]'>[replacetext(role, " ", " ")]</a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[role];jobban4=[M.UID()];dbbanaddckey=[M.ckey]'>[replacetext(role, " ", " ")]</a></td>"
|
|
|
|
|
counter++
|
|
|
|
|
|
|
|
|
|
if(counter >= 5) //So things dont get squiiiiished!
|
|
|
|
@@ -683,9 +685,9 @@
|
|
|
|
|
counter = 0
|
|
|
|
|
for(var/role in other_roles)
|
|
|
|
|
if(jobban_isbanned(M, role) || isbanned_dept)
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[role];jobban4=[M.UID()]'><font color=red>[replacetext(role, " ", " ")]</font></a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[role];jobban4=[M.UID()];dbbanaddckey=[M.ckey]'><font color=red>[replacetext(role, " ", " ")]</font></a></td>"
|
|
|
|
|
else
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[role];jobban4=[M.UID()]'>[replacetext(role, " ", " ")]</a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[role];jobban4=[M.UID()];dbbanaddckey=[M.ckey]'>[replacetext(role, " ", " ")]</a></td>"
|
|
|
|
|
counter++
|
|
|
|
|
|
|
|
|
|
if(counter >= 5) //So things dont get squiiiiished!
|
|
|
|
@@ -696,17 +698,17 @@
|
|
|
|
|
//Whitelisted positions
|
|
|
|
|
counter = 0
|
|
|
|
|
jobs += "<table cellpadding='1' cellspacing='0' width='100%'>"
|
|
|
|
|
jobs += "<tr bgcolor='dddddd'><th colspan='[length(whitelisted_positions)]'><a href='?src=[UID()];jobban3=whitelistdept;jobban4=[M.UID()]'>Whitelisted Positions</a></th></tr><tr align='center'>"
|
|
|
|
|
jobs += "<tr bgcolor='dddddd'><th colspan='[length(whitelisted_positions)]'><a href='?src=[UID()];jobban3=whitelistdept;jobban4=[M.UID()];dbbanaddckey=[M.ckey]'>Whitelisted Positions</a></th></tr><tr align='center'>"
|
|
|
|
|
for(var/jobPos in whitelisted_positions)
|
|
|
|
|
if(!jobPos) continue
|
|
|
|
|
var/datum/job/job = job_master.GetJob(jobPos)
|
|
|
|
|
if(!job) continue
|
|
|
|
|
|
|
|
|
|
if(jobban_isbanned(M, job.title))
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()]'><font color=red>[replacetext(job.title, " ", " ")]</font></a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()];dbbanaddckey=[M.ckey]'><font color=red>[replacetext(job.title, " ", " ")]</font></a></td>"
|
|
|
|
|
counter++
|
|
|
|
|
else
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()]'>[replacetext(job.title, " ", " ")]</a></td>"
|
|
|
|
|
jobs += "<td width='20%'><a href='?src=[UID()];jobban3=[job.title];jobban4=[M.UID()];dbbanaddckey=[M.ckey]'>[replacetext(job.title, " ", " ")]</a></td>"
|
|
|
|
|
counter++
|
|
|
|
|
|
|
|
|
|
if(counter >= 5) //So things dont get squiiiiished!
|
|
|
|
@@ -733,6 +735,8 @@
|
|
|
|
|
alert("You cannot perform this action. You must be of a higher administrative rank!")
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
var/ban_ckey_param = href_list["dbbanaddckey"]
|
|
|
|
|
|
|
|
|
|
if(!job_master)
|
|
|
|
|
to_chat(usr, "Job Master has not been setup!")
|
|
|
|
|
return
|
|
|
|
@@ -800,7 +804,7 @@
|
|
|
|
|
|
|
|
|
|
//Banning comes first
|
|
|
|
|
if(notbannedlist.len) //at least 1 unbanned job exists in joblist so we have stuff to ban.
|
|
|
|
|
switch(alert("Temporary Ban?",,"Yes","No", "Cancel"))
|
|
|
|
|
switch(alert("Temporary Ban of [M.ckey]?",,"Yes","No", "Cancel"))
|
|
|
|
|
if("Yes")
|
|
|
|
|
if(config.ban_legacy_system)
|
|
|
|
|
to_chat(usr, "<span class='warning'>Your server is using the legacy banning system, which does not support temporary job bans. Consider upgrading. Aborting ban.</span>")
|
|
|
|
@@ -813,6 +817,7 @@
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
var/msg
|
|
|
|
|
M = admin_ban_mobsearch(M, ban_ckey_param, usr)
|
|
|
|
|
for(var/job in notbannedlist)
|
|
|
|
|
ban_unban_log_save("[key_name(usr)] temp-jobbanned [key_name(M)] from [job] for [mins] minutes. reason: [reason]")
|
|
|
|
|
log_admin("[key_name(usr)] temp-jobbanned [key_name(M)] from [job] for [mins] minutes")
|
|
|
|
@@ -835,6 +840,7 @@
|
|
|
|
|
var/reason = input(usr,"Please state the reason","Reason","") as message|null
|
|
|
|
|
if(reason)
|
|
|
|
|
var/msg
|
|
|
|
|
M = admin_ban_mobsearch(M, ban_ckey_param, usr)
|
|
|
|
|
for(var/job in notbannedlist)
|
|
|
|
|
ban_unban_log_save("[key_name(usr)] perma-jobbanned [key_name(M)] from [job]. reason: [reason]")
|
|
|
|
|
log_admin("[key_name(usr)] perma-banned [key_name(M)] from [job]")
|
|
|
|
@@ -959,9 +965,11 @@
|
|
|
|
|
if(!check_rights(R_BAN)) return
|
|
|
|
|
|
|
|
|
|
var/mob/M = locateUID(href_list["newban"])
|
|
|
|
|
if(!ismob(M)) return
|
|
|
|
|
if(!ismob(M))
|
|
|
|
|
return
|
|
|
|
|
var/ban_ckey_param = href_list["dbbanaddckey"]
|
|
|
|
|
|
|
|
|
|
switch(alert("Temporary Ban?",,"Yes","No", "Cancel"))
|
|
|
|
|
switch(alert("Temporary Ban of [M.ckey] / [ban_ckey_param]?",,"Yes","No", "Cancel"))
|
|
|
|
|
if("Yes")
|
|
|
|
|
var/mins = input(usr,"How long (in minutes)?","Ban time",1440) as num|null
|
|
|
|
|
if(!mins)
|
|
|
|
@@ -970,6 +978,7 @@
|
|
|
|
|
var/reason = input(usr,"Please state the reason","Reason") as message|null
|
|
|
|
|
if(!reason)
|
|
|
|
|
return
|
|
|
|
|
M = admin_ban_mobsearch(M, ban_ckey_param, usr)
|
|
|
|
|
AddBan(M.ckey, M.computer_id, reason, usr.ckey, 1, mins)
|
|
|
|
|
ban_unban_log_save("[usr.client.ckey] has banned [M.ckey]. - Reason: [reason] - This will be removed in [mins] minutes.")
|
|
|
|
|
to_chat(M, "<span class='warning'><BIG><B>You have been banned by [usr.client.ckey].\nReason: [reason].</B></BIG></span>")
|
|
|
|
@@ -991,10 +1000,13 @@
|
|
|
|
|
if(!reason)
|
|
|
|
|
return
|
|
|
|
|
switch(alert(usr,"IP ban?",,"Yes","No","Cancel"))
|
|
|
|
|
if("Cancel") return
|
|
|
|
|
if("Cancel")
|
|
|
|
|
return
|
|
|
|
|
if("Yes")
|
|
|
|
|
M = admin_ban_mobsearch(M, ban_ckey_param, usr)
|
|
|
|
|
AddBan(M.ckey, M.computer_id, reason, usr.ckey, 0, 0, M.lastKnownIP)
|
|
|
|
|
if("No")
|
|
|
|
|
M = admin_ban_mobsearch(M, ban_ckey_param, usr)
|
|
|
|
|
AddBan(M.ckey, M.computer_id, reason, usr.ckey, 0, 0)
|
|
|
|
|
to_chat(M, "<span class='warning'><BIG><B>You have been banned by [usr.client.ckey].\nReason: [reason].</B></BIG></span>")
|
|
|
|
|
to_chat(M, "<span class='warning'>This is a permanent ban.</span>")
|
|
|
|
@@ -1869,6 +1881,7 @@
|
|
|
|
|
ptypes += "Assassin"
|
|
|
|
|
ptypes += "Hunter"
|
|
|
|
|
ptypes += "Crew Traitor"
|
|
|
|
|
ptypes += "Floor Cluwne"
|
|
|
|
|
var/punishment = input(owner, "How would you like to smite [M]?", "Its good to be baaaad...", "") as null|anything in ptypes
|
|
|
|
|
if(!(punishment in ptypes))
|
|
|
|
|
return
|
|
|
|
@@ -1978,6 +1991,12 @@
|
|
|
|
|
if("Gib")
|
|
|
|
|
M.gib(FALSE)
|
|
|
|
|
logmsg = "gibbed."
|
|
|
|
|
if("Floor Cluwne")
|
|
|
|
|
logmsg = "floor cluwne"
|
|
|
|
|
var/turf/T = get_turf(M)
|
|
|
|
|
var/mob/living/simple_animal/hostile/floor_cluwne/FC = new /mob/living/simple_animal/hostile/floor_cluwne(T)
|
|
|
|
|
FC.smiting = TRUE
|
|
|
|
|
FC.Acquire_Victim(M)
|
|
|
|
|
if(logmsg)
|
|
|
|
|
log_admin("[key_name(owner)] smited [key_name(M)] with: [logmsg]")
|
|
|
|
|
message_admins("[key_name_admin(owner)] smited [key_name_admin(M)] with: [logmsg]")
|
|
|
|
@@ -1991,8 +2010,12 @@
|
|
|
|
|
if(!isLivingSSD(H))
|
|
|
|
|
to_chat(usr, "This can only be used on living, SSD players.")
|
|
|
|
|
return
|
|
|
|
|
var/success = cryo_ssd(H)
|
|
|
|
|
if(success)
|
|
|
|
|
if(istype(H.loc, /obj/machinery/cryopod))
|
|
|
|
|
var/obj/machinery/cryopod/P = H.loc
|
|
|
|
|
P.despawn_occupant()
|
|
|
|
|
log_admin("[key_name(usr)] despawned [H.job] [H] in cryo.")
|
|
|
|
|
message_admins("[key_name_admin(usr)] despawned [H.job] [H] in cryo.")
|
|
|
|
|
else if(cryo_ssd(H))
|
|
|
|
|
log_admin("[key_name(usr)] sent [H.job] [H] to cryo.")
|
|
|
|
|
message_admins("[key_name_admin(usr)] sent [H.job] [H] to cryo.")
|
|
|
|
|
else if(href_list["FaxReplyTemplate"])
|
|
|
|
@@ -3270,6 +3293,13 @@
|
|
|
|
|
ticker.mode.station_goals += G
|
|
|
|
|
modify_goals()
|
|
|
|
|
|
|
|
|
|
else if(href_list["showdetails"])
|
|
|
|
|
if(!check_rights(R_ADMIN))
|
|
|
|
|
return
|
|
|
|
|
var/text = html_decode(href_list["showdetails"])
|
|
|
|
|
usr << browse("<HTML><HEAD><TITLE>Details</TITLE></HEAD><BODY><TT>[replacetext(text, "\n", "<BR>")]</TT></BODY></HTML>",
|
|
|
|
|
"window=show_details;size=500x200")
|
|
|
|
|
|
|
|
|
|
// Library stuff
|
|
|
|
|
else if(href_list["library_book_id"])
|
|
|
|
|
var/isbn = sanitizeSQL(href_list["library_book_id"])
|
|
|
|
|