Admin & Staff adjustments (#2529)

Features:

 Removal of BOREALIS (python module) as it's not used.
 Removes ToR ban feature in lieu of IPIntel.
 New BOREALIS config to alert staff if server starts as hidden.
 Adminhelps now inform admins on discord if dibsed (when they were sent to discord anyways).
 Adds hub visibility to the server access control panel.
 Adds mirror ban spotting via ban panel. It now redirects to the linked ban if one is found.
 CCIAA now get alerted as to how many of them are online and active when receiving faxes and emergency messages via Discord.
 Removed unused C/C++ libraries. The socket_talk module is a generic UDP shipper, of which Arrow implemented a better version. lib nudge is not even compiled for use. lib_nudge module is uncompiled and no longer used, as we use cURL for the bot.
 Removed depracted APIs and config settings related to the previous point.
 Whitelisted jobs now appear properly in the job selection window as [WHITELISTED].
 Job ban reasons can now be viewed from player preferences window.
 Await admin approval for final CCIAA requests and implement. RIP CCIAA.
 Fix age bans for jobs and antags (dynamic ones, ofc).
 Implement https://forums.aurorastation.org/viewtopic.php?f=18&t=8283
This commit is contained in:
skull132
2017-06-13 01:37:44 +03:00
committed by GitHub
parent c8e8710b41
commit e4423761ef
49 changed files with 312 additions and 1455 deletions
@@ -1,3 +1,7 @@
#define NOBAN 0
#define AGEBAN 1
#define RANBAN 2
/datum/category_item/player_setup_item/antagonism/candidacy
name = "Candidacy"
sort_order = 1
@@ -39,8 +43,11 @@
for(var/antag_type in all_antag_types)
var/datum/antagonist/antag = all_antag_types[antag_type]
. += "<tr><td>[antag.role_text]: </td><td>"
if(is_global_banned || jobban_isbanned(preference_mob(), antag.bantype))
. += "<span class='danger'>\[BANNED\]</span><br>"
var/ban_reason = jobban_isbanned(preference_mob(), antag.bantype)
if(ban_reason == "AGE WHITELISTED")
. += "<span class='danger'>\[IN [player_old_enough_for_role(preference_mob(), antag.bantype)] DAYS\]</span><br>"
else if(is_global_banned || ban_reason)
. += "<span class='danger'>\[<a href='?src=\ref[user.client];view_jobban=[is_global_banned ? "Antagonist" : "[antag.bantype]"];'>BANNED</a>\]</span><br>"
else if(antag.role_type in pref.be_special_role)
. += "<b>Yes</b> / <a href='?src=\ref[src];del_special=[antag.role_type]'>No</a></br>"
else
@@ -54,8 +61,16 @@
continue
. += "<tr><td>[(ghost_trap.ghost_trap_role)]: </td><td>"
if(banned_from_ghost_role(preference_mob(), ghost_trap))
. += "<span class='danger'>\[BANNED\]</span><br>"
var/ban_state = banned_from_ghost_role(preference_mob(), ghost_trap)
if(ban_state == AGEBAN)
var/age_to_beat = 0
for (var/A in ghost_trap.ban_checks)
age_to_beat = player_old_enough_for_role(preference_mob(), A)
if (age_to_beat)
break
. += "<span class='danger'>\[IN [age_to_beat] DAYS\]</span><br>"
else if (ban_state == RANBAN)
. += "<span class='danger'>\[<a href='?src=\ref[user.client];view_jobban=[ghost_trap];'>BANNED</a>\]</span><br>"
else if(ghost_trap.pref_check in pref.be_special_role)
. += "<b>Yes</b> / <a href='?src=\ref[src];del_special=[ghost_trap.pref_check]'>No</a></br>"
else
@@ -65,9 +80,12 @@
/datum/category_item/player_setup_item/proc/banned_from_ghost_role(var/mob, var/datum/ghosttrap/ghost_trap)
for(var/ban_type in ghost_trap.ban_checks)
if(jobban_isbanned(mob, ban_type))
return 1
return 0
. = jobban_isbanned(mob, ban_type)
if(. == "AGE WHITELISTED")
return AGEBAN
else if (.)
return RANBAN
return NOBAN
/datum/category_item/player_setup_item/antagonism/candidacy/OnTopic(var/href,var/list/href_list, var/mob/user)
if(href_list["add_special"])
@@ -96,3 +114,7 @@
private_valid_special_roles += ghost_trap.pref_check
return private_valid_special_roles
#undef AGEBAN
#undef RANBAN
#undef NOBAN
@@ -126,13 +126,17 @@
. += "<tr bgcolor='[job.selection_color]'><td width='60%' align='right'>"
var/rank = job.title
lastJob = job
if(jobban_isbanned(user, rank))
. += "<del>[rank]</del></td><td><b> \[BANNED]</b></td></tr>"
var/ban_reason = jobban_isbanned(user, rank)
if(ban_reason == "WHITELISTED")
. += "<del>[rank]</del></td><td><b> \[WHITELISTED]</b></td></tr>"
continue
if(!job.player_old_enough(user.client))
var/available_in_days = job.available_in_days(user.client)
else if (ban_reason == "AGE WHITELISTED")
var/available_in_days = player_old_enough_for_role(user.client, rank)
. += "<del>[rank]</del></td><td> \[IN [(available_in_days)] DAYS]</td></tr>"
continue
else if (ban_reason)
. += "<del>[rank]</del></td><td><b> \[<a href='?src=\ref[user.client];view_jobban=\ref[rank];'>BANNED</a>]</b></td></tr>"
continue
if((pref.job_civilian_low & ASSISTANT) && (rank != "Assistant"))
. += "<font color=orange>[rank]</font></td><td></td></tr>"
continue