mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 18:02:57 +00:00
Upload files
This commit is contained in:
@@ -16,6 +16,12 @@
|
|||||||
#define DISABLE_ARRIVALRATTLE (1<<13)
|
#define DISABLE_ARRIVALRATTLE (1<<13)
|
||||||
#define COMBOHUD_LIGHTING (1<<14)
|
#define COMBOHUD_LIGHTING (1<<14)
|
||||||
|
|
||||||
|
#define DEADMIN_ALWAYS (1<<0)
|
||||||
|
#define DEADMIN_ANTAGONIST (1<<1)
|
||||||
|
#define DEADMIN_POSITION_HEAD (1<<2)
|
||||||
|
#define DEADMIN_POSITION_SECURITY (1<<3)
|
||||||
|
#define DEADMIN_POSITION_SILICON (1<<4)
|
||||||
|
|
||||||
#define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|MEMBER_PUBLIC|INTENT_STYLE|MIDROUND_ANTAG|SOUND_INSTRUMENTS|SOUND_SHIP_AMBIENCE|SOUND_PRAYERS|SOUND_ANNOUNCEMENTS)
|
#define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|MEMBER_PUBLIC|INTENT_STYLE|MIDROUND_ANTAG|SOUND_INSTRUMENTS|SOUND_SHIP_AMBIENCE|SOUND_PRAYERS|SOUND_ANNOUNCEMENTS)
|
||||||
|
|
||||||
//Chat toggles
|
//Chat toggles
|
||||||
|
|||||||
@@ -64,3 +64,18 @@
|
|||||||
/datum/config_entry/flag/automute_on //enables automuting/spam prevention
|
/datum/config_entry/flag/automute_on //enables automuting/spam prevention
|
||||||
|
|
||||||
/datum/config_entry/flag/debug_admin_hrefs
|
/datum/config_entry/flag/debug_admin_hrefs
|
||||||
|
|
||||||
|
/datum/config_entry/flag/auto_deadmin_players
|
||||||
|
protection = CONFIG_ENTRY_LOCKED
|
||||||
|
|
||||||
|
/datum/config_entry/flag/auto_deadmin_antagonists
|
||||||
|
protection = CONFIG_ENTRY_LOCKED
|
||||||
|
|
||||||
|
/datum/config_entry/flag/auto_deadmin_heads
|
||||||
|
protection = CONFIG_ENTRY_LOCKED
|
||||||
|
|
||||||
|
/datum/config_entry/flag/auto_deadmin_silicons
|
||||||
|
protection = CONFIG_ENTRY_LOCKED
|
||||||
|
|
||||||
|
/datum/config_entry/flag/auto_deadmin_security
|
||||||
|
protection = CONFIG_ENTRY_LOCKED
|
||||||
|
|||||||
@@ -466,11 +466,11 @@ SUBSYSTEM_DEF(job)
|
|||||||
|
|
||||||
SSpersistence.antag_rep_change[M.client.ckey] += job.GetAntagRep()
|
SSpersistence.antag_rep_change[M.client.ckey] += job.GetAntagRep()
|
||||||
|
|
||||||
/* if(M.client.holder)
|
if(M.client.holder)
|
||||||
if(CONFIG_GET(flag/auto_deadmin_players) || (M.client.prefs?.toggles & DEADMIN_ALWAYS))
|
if(CONFIG_GET(flag/auto_deadmin_players) || (M.client.prefs?.toggles & DEADMIN_ALWAYS))
|
||||||
M.client.holder.auto_deadmin()
|
M.client.holder.auto_deadmin()
|
||||||
else
|
else
|
||||||
handle_auto_deadmin_roles(M.client, rank) */
|
handle_auto_deadmin_roles(M.client, rank)
|
||||||
|
|
||||||
to_chat(M, "<b>You are the [rank].</b>")
|
to_chat(M, "<b>You are the [rank].</b>")
|
||||||
if(job)
|
if(job)
|
||||||
@@ -517,19 +517,19 @@ SUBSYSTEM_DEF(job)
|
|||||||
binder.decks = N.client.prefs.tcg_decks
|
binder.decks = N.client.prefs.tcg_decks
|
||||||
|
|
||||||
return H
|
return H
|
||||||
/*
|
|
||||||
/datum/controller/subsystem/job/proc/handle_auto_deadmin_roles(client/C, rank)
|
/datum/controller/subsystem/job/proc/handle_auto_deadmin_roles(client/C, rank)
|
||||||
if(!C?.holder)
|
if(!C?.holder)
|
||||||
return TRUE
|
return TRUE
|
||||||
var/datum/job/job = GetJob(rank)
|
var/datum/job/job = GetJob(rank)
|
||||||
if(!job)
|
if(!job)
|
||||||
return
|
return
|
||||||
if((job.auto_deadmin_role_flags & DEADMIN_POSITION_HEAD) && (CONFIG_GET(flag/auto_deadmin_heads) || (C.prefs?.toggles & DEADMIN_POSITION_HEAD)))
|
if((job.auto_deadmin_role_flags & DEADMIN_POSITION_HEAD) && (CONFIG_GET(flag/auto_deadmin_heads) || (C.prefs?.deadmin & DEADMIN_POSITION_HEAD)))
|
||||||
return C.holder.auto_deadmin()
|
return C.holder.auto_deadmin()
|
||||||
else if((job.auto_deadmin_role_flags & DEADMIN_POSITION_SECURITY) && (CONFIG_GET(flag/auto_deadmin_security) || (C.prefs?.toggles & DEADMIN_POSITION_SECURITY)))
|
else if((job.auto_deadmin_role_flags & DEADMIN_POSITION_SECURITY) && (CONFIG_GET(flag/auto_deadmin_security) || (C.prefs?.deadmin & DEADMIN_POSITION_SECURITY)))
|
||||||
|
return C.holder.auto_deadmin()
|
||||||
|
else if((job.auto_deadmin_role_flags & DEADMIN_POSITION_SILICON) && (CONFIG_GET(flag/auto_deadmin_silicons) || (C.prefs?.deadmin & DEADMIN_POSITION_SILICON))) //in the event there's ever psuedo-silicon roles added, ie synths.
|
||||||
return C.holder.auto_deadmin()
|
return C.holder.auto_deadmin()
|
||||||
else if((job.auto_deadmin_role_flags & DEADMIN_POSITION_SILICON) && (CONFIG_GET(flag/auto_deadmin_silicons) || (C.prefs?.toggles & DEADMIN_POSITION_SILICON))) //in the event there's ever psuedo-silicon roles added, ie synths.
|
|
||||||
return C.holder.auto_deadmin()*/
|
|
||||||
|
|
||||||
/datum/controller/subsystem/job/proc/setup_officer_positions()
|
/datum/controller/subsystem/job/proc/setup_officer_positions()
|
||||||
var/datum/job/J = SSjob.GetJob("Security Officer")
|
var/datum/job/J = SSjob.GetJob("Security Officer")
|
||||||
|
|||||||
@@ -113,6 +113,8 @@ GLOBAL_LIST_EMPTY(antagonists)
|
|||||||
remove_blacklisted_quirks()
|
remove_blacklisted_quirks()
|
||||||
if(is_banned(owner.current) && replace_banned)
|
if(is_banned(owner.current) && replace_banned)
|
||||||
replace_banned_player()
|
replace_banned_player()
|
||||||
|
else if(owner.current.client?.holder && (CONFIG_GET(flag/auto_deadmin_antagonists) || owner.current.client.prefs?.deadmin & DEADMIN_ANTAGONIST))
|
||||||
|
owner.current.client.holder.auto_deadmin()
|
||||||
if(skill_modifiers)
|
if(skill_modifiers)
|
||||||
for(var/A in skill_modifiers)
|
for(var/A in skill_modifiers)
|
||||||
ADD_SINGLETON_SKILL_MODIFIER(owner, A, type)
|
ADD_SINGLETON_SKILL_MODIFIER(owner, A, type)
|
||||||
|
|||||||
@@ -83,6 +83,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
|||||||
var/tgui_lock = TRUE
|
var/tgui_lock = TRUE
|
||||||
var/windowflashing = TRUE
|
var/windowflashing = TRUE
|
||||||
var/toggles = TOGGLES_DEFAULT
|
var/toggles = TOGGLES_DEFAULT
|
||||||
|
/// A separate variable for deadmin toggles, only deals with those.
|
||||||
|
var/deadmin = NONE
|
||||||
var/db_flags
|
var/db_flags
|
||||||
var/chat_toggles = TOGGLES_DEFAULT_CHAT
|
var/chat_toggles = TOGGLES_DEFAULT_CHAT
|
||||||
var/ghost_form = "ghost"
|
var/ghost_form = "ghost"
|
||||||
@@ -824,6 +826,35 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
|||||||
dat += "<b>Announce Login:</b> <a href='?_src_=prefs;preference=announce_login'>[(toggles & ANNOUNCE_LOGIN)?"Enabled":"Disabled"]</a><br>"
|
dat += "<b>Announce Login:</b> <a href='?_src_=prefs;preference=announce_login'>[(toggles & ANNOUNCE_LOGIN)?"Enabled":"Disabled"]</a><br>"
|
||||||
dat += "<br>"
|
dat += "<br>"
|
||||||
dat += "<b>Combo HUD Lighting:</b> <a href = '?_src_=prefs;preference=combohud_lighting'>[(toggles & COMBOHUD_LIGHTING)?"Full-bright":"No Change"]</a><br>"
|
dat += "<b>Combo HUD Lighting:</b> <a href = '?_src_=prefs;preference=combohud_lighting'>[(toggles & COMBOHUD_LIGHTING)?"Full-bright":"No Change"]</a><br>"
|
||||||
|
dat += "<br>"
|
||||||
|
|
||||||
|
//deadmin
|
||||||
|
dat += "<h2>Deadmin While Playing</h2>"
|
||||||
|
if(CONFIG_GET(flag/auto_deadmin_players))
|
||||||
|
dat += "<b>Always Deadmin:</b> FORCED</a><br>"
|
||||||
|
else
|
||||||
|
dat += "<b>Always Deadmin:</b> <a href = '?_src_=prefs;preference=toggle_deadmin_always'>[(deadmin & DEADMIN_ALWAYS)?"Enabled":"Disabled"]</a><br>"
|
||||||
|
if(!(deadmin & DEADMIN_ALWAYS))
|
||||||
|
dat += "<br>"
|
||||||
|
if(!CONFIG_GET(flag/auto_deadmin_antagonists))
|
||||||
|
dat += "<b>As Antag:</b> <a href = '?_src_=prefs;preference=toggle_deadmin_antag'>[(deadmin & DEADMIN_ANTAGONIST)?"Deadmin":"Keep Admin"]</a><br>"
|
||||||
|
else
|
||||||
|
dat += "<b>As Antag:</b> FORCED<br>"
|
||||||
|
|
||||||
|
if(!CONFIG_GET(flag/auto_deadmin_heads))
|
||||||
|
dat += "<b>As Command:</b> <a href = '?_src_=prefs;preference=toggle_deadmin_head'>[(deadmin & DEADMIN_POSITION_HEAD)?"Deadmin":"Keep Admin"]</a><br>"
|
||||||
|
else
|
||||||
|
dat += "<b>As Command:</b> FORCED<br>"
|
||||||
|
|
||||||
|
if(!CONFIG_GET(flag/auto_deadmin_security))
|
||||||
|
dat += "<b>As Security:</b> <a href = '?_src_=prefs;preference=toggle_deadmin_security'>[(deadmin & DEADMIN_POSITION_SECURITY)?"Deadmin":"Keep Admin"]</a><br>"
|
||||||
|
else
|
||||||
|
dat += "<b>As Security:</b> FORCED<br>"
|
||||||
|
|
||||||
|
if(!CONFIG_GET(flag/auto_deadmin_silicons))
|
||||||
|
dat += "<b>As Silicon:</b> <a href = '?_src_=prefs;preference=toggle_deadmin_silicon'>[(deadmin & DEADMIN_POSITION_SILICON)?"Deadmin":"Keep Admin"]</a><br>"
|
||||||
|
else
|
||||||
|
dat += "<b>As Silicon:</b> FORCED<br>"
|
||||||
dat += "</td>"
|
dat += "</td>"
|
||||||
|
|
||||||
dat +="<td width='300px' height='300px' valign='top'>"
|
dat +="<td width='300px' height='300px' valign='top'>"
|
||||||
@@ -2752,6 +2783,19 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
|||||||
if("combohud_lighting")
|
if("combohud_lighting")
|
||||||
toggles ^= COMBOHUD_LIGHTING
|
toggles ^= COMBOHUD_LIGHTING
|
||||||
|
|
||||||
|
// Deadmin preferences
|
||||||
|
if("toggle_deadmin_always")
|
||||||
|
deadmin ^= DEADMIN_ALWAYS
|
||||||
|
if("toggle_deadmin_antag")
|
||||||
|
deadmin ^= DEADMIN_ANTAGONIST
|
||||||
|
if("toggle_deadmin_head")
|
||||||
|
deadmin ^= DEADMIN_POSITION_HEAD
|
||||||
|
if("toggle_deadmin_security")
|
||||||
|
deadmin ^= DEADMIN_POSITION_SECURITY
|
||||||
|
if("toggle_deadmin_silicon")
|
||||||
|
deadmin ^= DEADMIN_POSITION_SILICON
|
||||||
|
//
|
||||||
|
|
||||||
if("be_special")
|
if("be_special")
|
||||||
var/be_special_type = href_list["be_special_type"]
|
var/be_special_type = href_list["be_special_type"]
|
||||||
if(be_special_type in be_special)
|
if(be_special_type in be_special)
|
||||||
|
|||||||
@@ -396,6 +396,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
|||||||
S["default_slot"] >> default_slot
|
S["default_slot"] >> default_slot
|
||||||
S["chat_toggles"] >> chat_toggles
|
S["chat_toggles"] >> chat_toggles
|
||||||
S["toggles"] >> toggles
|
S["toggles"] >> toggles
|
||||||
|
S["deadmin"] >> deadmin
|
||||||
S["ghost_form"] >> ghost_form
|
S["ghost_form"] >> ghost_form
|
||||||
S["ghost_orbit"] >> ghost_orbit
|
S["ghost_orbit"] >> ghost_orbit
|
||||||
S["ghost_accs"] >> ghost_accs
|
S["ghost_accs"] >> ghost_accs
|
||||||
@@ -467,6 +468,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
|||||||
windowflashing = sanitize_integer(windowflashing, 0, 1, initial(windowflashing))
|
windowflashing = sanitize_integer(windowflashing, 0, 1, initial(windowflashing))
|
||||||
default_slot = sanitize_integer(default_slot, 1, max_save_slots, initial(default_slot))
|
default_slot = sanitize_integer(default_slot, 1, max_save_slots, initial(default_slot))
|
||||||
toggles = sanitize_integer(toggles, 0, 16777215, initial(toggles))
|
toggles = sanitize_integer(toggles, 0, 16777215, initial(toggles))
|
||||||
|
deadmin = sanitize_integer(deadmin, 0, 16777215, initial(deadmin))
|
||||||
clientfps = sanitize_integer(clientfps, 0, 1000, 0)
|
clientfps = sanitize_integer(clientfps, 0, 1000, 0)
|
||||||
parallax = sanitize_integer(parallax, PARALLAX_INSANE, PARALLAX_DISABLE, null)
|
parallax = sanitize_integer(parallax, PARALLAX_INSANE, PARALLAX_DISABLE, null)
|
||||||
ambientocclusion = sanitize_integer(ambientocclusion, 0, 1, initial(ambientocclusion))
|
ambientocclusion = sanitize_integer(ambientocclusion, 0, 1, initial(ambientocclusion))
|
||||||
@@ -573,6 +575,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
|||||||
WRITE_FILE(S["be_special"], be_special)
|
WRITE_FILE(S["be_special"], be_special)
|
||||||
WRITE_FILE(S["default_slot"], default_slot)
|
WRITE_FILE(S["default_slot"], default_slot)
|
||||||
WRITE_FILE(S["toggles"], toggles)
|
WRITE_FILE(S["toggles"], toggles)
|
||||||
|
WRITE_FILE(S["deadmin"], deadmin)
|
||||||
WRITE_FILE(S["chat_toggles"], chat_toggles)
|
WRITE_FILE(S["chat_toggles"], chat_toggles)
|
||||||
WRITE_FILE(S["ghost_form"], ghost_form)
|
WRITE_FILE(S["ghost_form"], ghost_form)
|
||||||
WRITE_FILE(S["ghost_orbit"], ghost_orbit)
|
WRITE_FILE(S["ghost_orbit"], ghost_orbit)
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
//Bitflags for the job
|
//Bitflags for the job
|
||||||
var/flag = NONE //Deprecated
|
var/flag = NONE //Deprecated
|
||||||
var/department_flag = NONE //Deprecated
|
var/department_flag = NONE //Deprecated
|
||||||
// var/auto_deadmin_role_flags = NONE
|
var/auto_deadmin_role_flags = NONE
|
||||||
|
|
||||||
//Players will be allowed to spawn in as jobs that are set to "Station"
|
//Players will be allowed to spawn in as jobs that are set to "Station"
|
||||||
var/faction = "None"
|
var/faction = "None"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/datum/job/ai
|
/datum/job/ai
|
||||||
title = "AI"
|
title = "AI"
|
||||||
flag = AI_JF
|
flag = AI_JF
|
||||||
// auto_deadmin_role_flags = DEADMIN_POSITION_SILICON
|
auto_deadmin_role_flags = DEADMIN_POSITION_SILICON
|
||||||
department_flag = ENGSEC
|
department_flag = ENGSEC
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 1
|
total_positions = 1
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/datum/job/captain
|
/datum/job/captain
|
||||||
title = "Captain"
|
title = "Captain"
|
||||||
flag = CAPTAIN
|
flag = CAPTAIN
|
||||||
// auto_deadmin_role_flags = DEADMIN_POSITION_HEAD|DEADMIN_POSITION_SECURITY //:eyes:
|
auto_deadmin_role_flags = DEADMIN_POSITION_HEAD|DEADMIN_POSITION_SECURITY //:eyes:
|
||||||
department_head = list("CentCom")
|
department_head = list("CentCom")
|
||||||
department_flag = ENGSEC
|
department_flag = ENGSEC
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/datum/job/chief_engineer
|
/datum/job/chief_engineer
|
||||||
title = "Chief Engineer"
|
title = "Chief Engineer"
|
||||||
flag = CHIEF
|
flag = CHIEF
|
||||||
// auto_deadmin_role_flags = DEADMIN_POSITION_HEAD
|
auto_deadmin_role_flags = DEADMIN_POSITION_HEAD
|
||||||
department_head = list("Captain")
|
department_head = list("Captain")
|
||||||
department_flag = ENGSEC
|
department_flag = ENGSEC
|
||||||
head_announce = list(RADIO_CHANNEL_ENGINEERING)
|
head_announce = list(RADIO_CHANNEL_ENGINEERING)
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
flag = CMO_JF
|
flag = CMO_JF
|
||||||
department_head = list("Captain")
|
department_head = list("Captain")
|
||||||
department_flag = MEDSCI
|
department_flag = MEDSCI
|
||||||
// auto_deadmin_role_flags = DEADMIN_POSITION_HEAD
|
auto_deadmin_role_flags = DEADMIN_POSITION_HEAD
|
||||||
head_announce = list(RADIO_CHANNEL_MEDICAL)
|
head_announce = list(RADIO_CHANNEL_MEDICAL)
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 1
|
total_positions = 1
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/datum/job/cyborg
|
/datum/job/cyborg
|
||||||
title = "Cyborg"
|
title = "Cyborg"
|
||||||
flag = CYBORG
|
flag = CYBORG
|
||||||
// auto_deadmin_role_flags = DEADMIN_POSITION_SILICON
|
auto_deadmin_role_flags = DEADMIN_POSITION_SILICON
|
||||||
department_flag = ENGSEC
|
department_flag = ENGSEC
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 0
|
total_positions = 0
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/datum/job/detective
|
/datum/job/detective
|
||||||
title = "Detective"
|
title = "Detective"
|
||||||
flag = DETECTIVE
|
flag = DETECTIVE
|
||||||
// auto_deadmin_role_flags = DEADMIN_POSITION_SECURITY
|
auto_deadmin_role_flags = DEADMIN_POSITION_SECURITY
|
||||||
department_head = list("Head of Security")
|
department_head = list("Head of Security")
|
||||||
department_flag = ENGSEC
|
department_flag = ENGSEC
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/datum/job/hop
|
/datum/job/hop
|
||||||
title = "Head of Personnel"
|
title = "Head of Personnel"
|
||||||
flag = HOP
|
flag = HOP
|
||||||
// auto_deadmin_role_flags = DEADMIN_POSITION_HEAD
|
auto_deadmin_role_flags = DEADMIN_POSITION_HEAD
|
||||||
department_head = list("Captain")
|
department_head = list("Captain")
|
||||||
department_flag = CIVILIAN
|
department_flag = CIVILIAN
|
||||||
head_announce = list(RADIO_CHANNEL_SERVICE)
|
head_announce = list(RADIO_CHANNEL_SERVICE)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/datum/job/hos
|
/datum/job/hos
|
||||||
title = "Head of Security"
|
title = "Head of Security"
|
||||||
flag = HOS
|
flag = HOS
|
||||||
// auto_deadmin_role_flags = DEADMIN_POSITION_HEAD|DEADMIN_POSITION_SECURITY
|
auto_deadmin_role_flags = DEADMIN_POSITION_HEAD|DEADMIN_POSITION_SECURITY
|
||||||
department_head = list("Captain")
|
department_head = list("Captain")
|
||||||
department_flag = ENGSEC
|
department_flag = ENGSEC
|
||||||
head_announce = list(RADIO_CHANNEL_SECURITY)
|
head_announce = list(RADIO_CHANNEL_SECURITY)
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
department_head = list("Captain")
|
department_head = list("Captain")
|
||||||
department_flag = CIVILIAN
|
department_flag = CIVILIAN
|
||||||
head_announce = list(RADIO_CHANNEL_SUPPLY)
|
head_announce = list(RADIO_CHANNEL_SUPPLY)
|
||||||
// auto_deadmin_role_flags = DEADMIN_POSITION_HEAD
|
auto_deadmin_role_flags = DEADMIN_POSITION_HEAD
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
total_positions = 1
|
total_positions = 1
|
||||||
spawn_positions = 1
|
spawn_positions = 1
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/datum/job/rd
|
/datum/job/rd
|
||||||
title = "Research Director"
|
title = "Research Director"
|
||||||
flag = RD_JF
|
flag = RD_JF
|
||||||
// auto_deadmin_role_flags = DEADMIN_POSITION_HEAD
|
auto_deadmin_role_flags = DEADMIN_POSITION_HEAD
|
||||||
department_head = list("Captain")
|
department_head = list("Captain")
|
||||||
department_flag = MEDSCI
|
department_flag = MEDSCI
|
||||||
head_announce = list(RADIO_CHANNEL_SCIENCE)
|
head_announce = list(RADIO_CHANNEL_SCIENCE)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/datum/job/officer
|
/datum/job/officer
|
||||||
title = "Security Officer"
|
title = "Security Officer"
|
||||||
flag = OFFICER
|
flag = OFFICER
|
||||||
// auto_deadmin_role_flags = DEADMIN_POSITION_SECURITY
|
auto_deadmin_role_flags = DEADMIN_POSITION_SECURITY
|
||||||
department_head = list("Head of Security")
|
department_head = list("Head of Security")
|
||||||
department_flag = ENGSEC
|
department_flag = ENGSEC
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/datum/job/warden
|
/datum/job/warden
|
||||||
title = "Warden"
|
title = "Warden"
|
||||||
flag = WARDEN
|
flag = WARDEN
|
||||||
// auto_deadmin_role_flags = DEADMIN_POSITION_SECURITY
|
auto_deadmin_role_flags = DEADMIN_POSITION_SECURITY
|
||||||
department_head = list("Head of Security")
|
department_head = list("Head of Security")
|
||||||
department_flag = ENGSEC
|
department_flag = ENGSEC
|
||||||
faction = "Station"
|
faction = "Station"
|
||||||
|
|||||||
@@ -121,6 +121,9 @@ INITIALIZE_IMMEDIATE(/mob/dead)
|
|||||||
if (isturf(T))
|
if (isturf(T))
|
||||||
update_z(T.z)
|
update_z(T.z)
|
||||||
|
|
||||||
|
/mob/dead/auto_deadmin_on_login()
|
||||||
|
return
|
||||||
|
|
||||||
/mob/dead/Logout()
|
/mob/dead/Logout()
|
||||||
update_z(null)
|
update_z(null)
|
||||||
return ..()
|
return ..()
|
||||||
|
|||||||
@@ -11,3 +11,10 @@
|
|||||||
if(G)
|
if(G)
|
||||||
mind.remove_antag_datum(G)
|
mind.remove_antag_datum(G)
|
||||||
..()
|
..()
|
||||||
|
|
||||||
|
/mob/living/silicon/auto_deadmin_on_login()
|
||||||
|
if(!client?.holder)
|
||||||
|
return TRUE
|
||||||
|
if(CONFIG_GET(flag/auto_deadmin_silicons) || (client.prefs?.deadmin & DEADMIN_POSITION_SILICON))
|
||||||
|
return client.holder.auto_deadmin()
|
||||||
|
return ..()
|
||||||
|
|||||||
@@ -140,6 +140,12 @@
|
|||||||
if(!picked)
|
if(!picked)
|
||||||
pickVisualAppearence()
|
pickVisualAppearence()
|
||||||
|
|
||||||
|
/mob/living/simple_animal/drone/auto_deadmin_on_login()
|
||||||
|
if(!client?.holder)
|
||||||
|
return TRUE
|
||||||
|
if(CONFIG_GET(flag/auto_deadmin_silicons) || (client.prefs?.deadmin & DEADMIN_POSITION_SILICON))
|
||||||
|
return client.holder.auto_deadmin()
|
||||||
|
return ..()
|
||||||
|
|
||||||
/mob/living/simple_animal/drone/death(gibbed)
|
/mob/living/simple_animal/drone/death(gibbed)
|
||||||
..(gibbed)
|
..(gibbed)
|
||||||
|
|||||||
@@ -48,6 +48,7 @@
|
|||||||
for(var/foo in client.player_details.post_login_callbacks)
|
for(var/foo in client.player_details.post_login_callbacks)
|
||||||
var/datum/callback/CB = foo
|
var/datum/callback/CB = foo
|
||||||
CB.Invoke()
|
CB.Invoke()
|
||||||
|
auto_deadmin_on_login()
|
||||||
|
|
||||||
mind?.hide_ckey = client?.prefs?.hide_ckey
|
mind?.hide_ckey = client?.prefs?.hide_ckey
|
||||||
|
|
||||||
@@ -56,3 +57,13 @@
|
|||||||
|
|
||||||
if(has_field_of_vision && CONFIG_GET(flag/use_field_of_vision))
|
if(has_field_of_vision && CONFIG_GET(flag/use_field_of_vision))
|
||||||
LoadComponent(/datum/component/field_of_vision, field_of_vision_type)
|
LoadComponent(/datum/component/field_of_vision, field_of_vision_type)
|
||||||
|
|
||||||
|
/mob/proc/auto_deadmin_on_login() //return true if they're not an admin at the end.
|
||||||
|
if(!client?.holder)
|
||||||
|
return TRUE
|
||||||
|
if(CONFIG_GET(flag/auto_deadmin_players) || (client.prefs?.deadmin & DEADMIN_ALWAYS))
|
||||||
|
return client.holder.auto_deadmin()
|
||||||
|
if(mind.has_antag_datum(/datum/antagonist) && (CONFIG_GET(flag/auto_deadmin_antagonists) || client.prefs?.deadmin & DEADMIN_ANTAGONIST))
|
||||||
|
return client.holder.auto_deadmin()
|
||||||
|
if(job)
|
||||||
|
return SSjob.handle_auto_deadmin_roles(client, job)
|
||||||
|
|||||||
@@ -81,3 +81,17 @@ GUEST_BAN
|
|||||||
|
|
||||||
## Allow admin hrefs that don't use the new token system, will eventually be removed
|
## Allow admin hrefs that don't use the new token system, will eventually be removed
|
||||||
DEBUG_ADMIN_HREFS
|
DEBUG_ADMIN_HREFS
|
||||||
|
|
||||||
|
##
|
||||||
|
## Those deadmin configs will lock admins this way, so it's not really recommended unless really needed
|
||||||
|
##
|
||||||
|
## Uncomment to automatically deadmin players when the game starts.
|
||||||
|
#AUTO_DEADMIN_PLAYERS
|
||||||
|
|
||||||
|
## Uncomment to automatically deadmin antagonists when they gain the role.
|
||||||
|
#AUTO_DEADMIN_ANTAGONISTS
|
||||||
|
|
||||||
|
## Uncomment to automatically deadmin specific role sets when a player joins the game.
|
||||||
|
#AUTO_DEADMIN_HEADS
|
||||||
|
#AUTO_DEADMIN_SECURITY
|
||||||
|
#AUTO_DEADMIN_SILICONS
|
||||||
|
|||||||
Reference in New Issue
Block a user