Configuration datum refactor
This commit is contained in:
committed by
CitadelStationBot
parent
d25894447e
commit
e5ef3d2405
@@ -6,13 +6,13 @@ GLOBAL_PROTECT(exp_to_update)
|
||||
/datum/job/proc/required_playtime_remaining(client/C)
|
||||
if(!C)
|
||||
return 0
|
||||
if(!config.use_exp_tracking)
|
||||
if(!CONFIG_GET(flag/use_exp_tracking))
|
||||
return 0
|
||||
if(!exp_requirements || !exp_type)
|
||||
return 0
|
||||
if(!job_is_xp_locked(src.title))
|
||||
return 0
|
||||
if(config.use_exp_restrictions_admin_bypass && check_rights(R_ADMIN, FALSE, C.mob))
|
||||
if(CONFIG_GET(flag/use_exp_restrictions_admin_bypass) && check_rights(R_ADMIN, FALSE, C.mob))
|
||||
return 0
|
||||
var/isexempt = C.prefs.db_flags & DB_FLAG_EXEMPT
|
||||
if(isexempt)
|
||||
@@ -26,20 +26,21 @@ GLOBAL_PROTECT(exp_to_update)
|
||||
|
||||
/datum/job/proc/get_exp_req_amount()
|
||||
if(title in GLOB.command_positions)
|
||||
if(config.use_exp_restrictions_heads_hours)
|
||||
return config.use_exp_restrictions_heads_hours * 60
|
||||
var/uerhh = CONFIG_GET(number/use_exp_restrictions_heads_hours)
|
||||
if(uerhh)
|
||||
return uerhh * 60
|
||||
return exp_requirements
|
||||
|
||||
/datum/job/proc/get_exp_req_type()
|
||||
if(title in GLOB.command_positions)
|
||||
if(config.use_exp_restrictions_heads_department && exp_type_department)
|
||||
if(CONFIG_GET(flag/use_exp_restrictions_heads_department) && exp_type_department)
|
||||
return exp_type_department
|
||||
return exp_type
|
||||
|
||||
/proc/job_is_xp_locked(jobtitle)
|
||||
if(!config.use_exp_restrictions_heads && jobtitle in GLOB.command_positions)
|
||||
if(!CONFIG_GET(flag/use_exp_restrictions_heads) && jobtitle in GLOB.command_positions)
|
||||
return FALSE
|
||||
if(!config.use_exp_restrictions_other && !(jobtitle in GLOB.command_positions))
|
||||
if(!CONFIG_GET(flag/use_exp_restrictions_other) && !(jobtitle in GLOB.command_positions))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
@@ -55,7 +56,7 @@ GLOBAL_PROTECT(exp_to_update)
|
||||
return amount
|
||||
|
||||
/client/proc/get_exp_report()
|
||||
if(!config.use_exp_tracking)
|
||||
if(!CONFIG_GET(flag/use_exp_tracking))
|
||||
return "Tracking is disabled in the server configuration file."
|
||||
var/list/play_records = prefs.exp
|
||||
if(!play_records.len)
|
||||
@@ -86,7 +87,7 @@ GLOBAL_PROTECT(exp_to_update)
|
||||
return_text += "<LI>[dep] [get_exp_format(exp_data[dep])] ([percentage]%)</LI>"
|
||||
else
|
||||
return_text += "<LI>[dep] [get_exp_format(exp_data[dep])] </LI>"
|
||||
if(config.use_exp_restrictions_admin_bypass && check_rights(R_ADMIN, 0, mob))
|
||||
if(CONFIG_GET(flag/use_exp_restrictions_admin_bypass) && check_rights(R_ADMIN, 0, mob))
|
||||
return_text += "<LI>Admin (all jobs auto-unlocked)</LI>"
|
||||
return_text += "</UL>"
|
||||
var/list/jobs_locked = list()
|
||||
@@ -139,7 +140,7 @@ GLOBAL_PROTECT(exp_to_update)
|
||||
|
||||
//resets a client's exp to what was in the db.
|
||||
/client/proc/set_exp_from_db()
|
||||
if(!config.use_exp_tracking)
|
||||
if(!CONFIG_GET(flag/use_exp_tracking))
|
||||
return -1
|
||||
if(!SSdbcore.Connect())
|
||||
return -1
|
||||
@@ -181,7 +182,7 @@ GLOBAL_PROTECT(exp_to_update)
|
||||
|
||||
|
||||
/client/proc/update_exp_list(minutes, announce_changes = FALSE)
|
||||
if(!config.use_exp_tracking)
|
||||
if(!CONFIG_GET(flag/use_exp_tracking))
|
||||
return -1
|
||||
if(!SSdbcore.Connect())
|
||||
return -1
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<<<<<<< HEAD
|
||||
/*
|
||||
Assistant
|
||||
*/
|
||||
@@ -40,3 +41,48 @@ Assistant
|
||||
uniform = /obj/item/clothing/under/color/grey
|
||||
else
|
||||
uniform = /obj/item/clothing/under/color/random
|
||||
=======
|
||||
/*
|
||||
Assistant
|
||||
*/
|
||||
/datum/job/assistant
|
||||
title = "Assistant"
|
||||
flag = ASSISTANT
|
||||
department_flag = CIVILIAN
|
||||
faction = "Station"
|
||||
total_positions = -1
|
||||
spawn_positions = -1
|
||||
supervisors = "absolutely everyone"
|
||||
selection_color = "#dddddd"
|
||||
access = list() //See /datum/job/assistant/get_access()
|
||||
minimal_access = list() //See /datum/job/assistant/get_access()
|
||||
outfit = /datum/outfit/job/assistant
|
||||
|
||||
|
||||
/datum/job/assistant/get_access()
|
||||
if(CONFIG_GET(flag/assistants_have_maint_access) || !CONFIG_GET(flag/jobs_have_minimal_access)) //Config has assistant maint access set
|
||||
. = ..()
|
||||
. |= list(ACCESS_MAINT_TUNNELS)
|
||||
else
|
||||
return ..()
|
||||
|
||||
/datum/job/assistant/config_check()
|
||||
var/ac = CONFIG_GET(number/assistant_cap)
|
||||
if(ac != 0)
|
||||
total_positions = ac
|
||||
spawn_positions = ac
|
||||
return 1
|
||||
return 0
|
||||
|
||||
|
||||
/datum/outfit/job/assistant
|
||||
name = "Assistant"
|
||||
jobtype = /datum/job/assistant
|
||||
|
||||
/datum/outfit/job/assistant/pre_equip(mob/living/carbon/human/H)
|
||||
..()
|
||||
if (CONFIG_GET(flag/grey_assistants))
|
||||
uniform = /obj/item/clothing/under/color/grey
|
||||
else
|
||||
uniform = /obj/item/clothing/under/color/random
|
||||
>>>>>>> 4178c20... Configuration datum refactor (#30763)
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
if(!visualsOnly && announce)
|
||||
announce(H)
|
||||
|
||||
if(config.enforce_human_authority && (title in GLOB.command_positions))
|
||||
if(CONFIG_GET(flag/enforce_human_authority) && (title in GLOB.command_positions))
|
||||
H.dna.features["tail_human"] = "None"
|
||||
H.dna.features["ears"] = "None"
|
||||
H.regenerate_icons()
|
||||
@@ -86,12 +86,12 @@
|
||||
|
||||
. = list()
|
||||
|
||||
if(config.jobs_have_minimal_access)
|
||||
if(CONFIG_GET(flag/jobs_have_minimal_access))
|
||||
. = src.minimal_access.Copy()
|
||||
else
|
||||
. = src.access.Copy()
|
||||
|
||||
if(config.jobs_have_maint_access & EVERYONE_HAS_MAINT_ACCESS) //Config has global maint access set
|
||||
if(CONFIG_GET(flag/everyone_has_maint_access)) //Config has global maint access set
|
||||
. |= list(ACCESS_MAINT_TUNNELS)
|
||||
|
||||
/datum/job/proc/announce_head(var/mob/living/carbon/human/H, var/channels) //tells the given channel that the given mob is the new department head. See communications.dm for valid channels.
|
||||
@@ -109,7 +109,7 @@
|
||||
/datum/job/proc/available_in_days(client/C)
|
||||
if(!C)
|
||||
return 0
|
||||
if(!config.use_age_restriction_for_jobs)
|
||||
if(!CONFIG_GET(flag/use_age_restriction_for_jobs))
|
||||
return 0
|
||||
if(!isnum(C.player_age))
|
||||
return 0 //This is only a number if the db connection is established, otherwise it is text: "Requires database", meaning these restrictions cannot be enforced
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
//Warden and regular officers add this result to their get_access()
|
||||
/datum/job/proc/check_config_for_sec_maint()
|
||||
if(config.jobs_have_maint_access & SECURITY_HAS_MAINT_ACCESS)
|
||||
if(CONFIG_GET(flag/security_has_maint_access))
|
||||
return list(ACCESS_MAINT_TUNNELS)
|
||||
return list()
|
||||
|
||||
@@ -246,7 +246,7 @@ GLOBAL_LIST_INIT(available_depts, list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, S
|
||||
W.access |= dep_access
|
||||
|
||||
var/teleport = 0
|
||||
if(!config.sec_start_brig)
|
||||
if(!CONFIG_GET(flag/sec_start_brig))
|
||||
if(destination || spawn_point)
|
||||
teleport = 1
|
||||
if(teleport)
|
||||
|
||||
@@ -14,6 +14,7 @@ AI
|
||||
minimal_player_age = 30
|
||||
exp_requirements = 180
|
||||
exp_type = EXP_TYPE_CREW
|
||||
<<<<<<< HEAD
|
||||
|
||||
/datum/job/ai/equip(mob/living/carbon/human/H)
|
||||
return H.AIize(FALSE)
|
||||
@@ -54,4 +55,44 @@ Cyborg
|
||||
|
||||
/datum/job/cyborg/after_spawn(mob/living/silicon/robot/R, mob/M)
|
||||
if(config.rename_cyborg) //name can't be set in robot/New without the client
|
||||
=======
|
||||
|
||||
/datum/job/ai/equip(mob/living/carbon/human/H)
|
||||
return H.AIize(FALSE)
|
||||
|
||||
/datum/job/ai/after_spawn(mob/living/silicon/ai/AI, mob/M)
|
||||
AI.rename_self("ai", M.client)
|
||||
|
||||
//we may have been created after our borg
|
||||
if(SSticker.current_state == GAME_STATE_SETTING_UP)
|
||||
for(var/mob/living/silicon/robot/R in GLOB.silicon_mobs)
|
||||
if(!R.connected_ai)
|
||||
R.TryConnectToAI()
|
||||
|
||||
|
||||
/datum/job/ai/config_check()
|
||||
return CONFIG_GET(flag/allow_ai)
|
||||
|
||||
/*
|
||||
Cyborg
|
||||
*/
|
||||
/datum/job/cyborg
|
||||
title = "Cyborg"
|
||||
flag = CYBORG
|
||||
department_flag = ENGSEC
|
||||
faction = "Station"
|
||||
total_positions = 0
|
||||
spawn_positions = 1
|
||||
supervisors = "your laws and the AI" //Nodrak
|
||||
selection_color = "#ddffdd"
|
||||
minimal_player_age = 21
|
||||
exp_requirements = 120
|
||||
exp_type = EXP_TYPE_CREW
|
||||
|
||||
/datum/job/cyborg/equip(mob/living/carbon/human/H)
|
||||
return H.Robotize(FALSE, FALSE)
|
||||
|
||||
/datum/job/cyborg/after_spawn(mob/living/silicon/robot/R, mob/M)
|
||||
if(CONFIG_GET(flag/rename_cyborg)) //name can't be set in robot/New without the client
|
||||
>>>>>>> 4178c20... Configuration datum refactor (#30763)
|
||||
R.rename_self("cyborg", M.client)
|
||||
Reference in New Issue
Block a user