-
Notifications
You must be signed in to change notification settings - Fork 31
Timelocks [SEMI-MODULAR] #28
Changes from all commits
d1aa11a
43434a0
8097990
08c78c1
ff82162
0241228
861d082
8578ad1
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,7 @@ | ||
#define ROLE_XENO_HUGGER "Xeno Facehugger" | ||
|
||
GLOBAL_LIST_INIT(jobs_xenos, list(ROLE_XENOMORPH, ROLE_XENO_QUEEN, ROLE_XENO_HUGGER)) | ||
GLOBAL_LIST_INIT(jobs_xeno, list(ROLE_XENOMORPH, ROLE_XENO_QUEEN, ROLE_XENO_HUGGER)) | ||
GLOBAL_LIST_INIT(jobs_all, list(CAPTAIN, FIELD_COMMANDER, STAFF_OFFICER, PILOT_OFFICER, REQUISITIONS_OFFICER, CHIEF_SHIP_ENGINEER, CHIEF_MEDICAL_OFFICER, SYNTHETIC, SILICON_AI, CORPORATE_LIAISON, SHIP_TECH, | ||
MEDICAL_DOCTOR, MEDICAL_RESEARCHER, SQUAD_LEADER, SQUAD_SMARTGUNNER, SQUAD_CORPSMAN, SQUAD_ENGINEER, SQUAD_MARINE, ROLE_XENOMORPH, ROLE_XENO_QUEEN, ROLE_XENO_HUGGER)) | ||
GLOBAL_LIST_INIT(jobs_fallen_marine, typecacheof(list(/datum/job/fallen/marine))) |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,22 +7,35 @@ GLOBAL_PROTECT(exp_to_update) | |
return FALSE | ||
if(!CONFIG_GET(flag/use_exp_tracking)) | ||
return FALSE | ||
//RUTGMC EDIT BEGIN | ||
if(!CONFIG_GET(flag/use_exp_restrictions)) //ADDITION | ||
return FALSE //ADDITION | ||
//RUTGMC EDIT END | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Неправильно стилизовано, //RUTGMC EDIT BEGIN в самый низ, табов ему не надо, а //ADDITION убрать |
||
if(!SSdbcore.Connect()) | ||
return FALSE | ||
if(!exp_requirements || !exp_type) | ||
return FALSE | ||
//RUTGMC EDIT BEGIN | ||
/* | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. В одну строчку |
||
if(!job_is_xp_locked(src)) | ||
return FALSE | ||
*/ | ||
if(CONFIG_GET(flag/use_exp_restrictions_admin_bypass) && check_other_rights(C, R_ADMIN, FALSE)) | ||
return FALSE | ||
/* //ORIGINAL | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. зачем еще раз коментнул? после /* добавил // |
||
var/my_exp = C.calc_exp_type(get_exp_req_type()) | ||
var/job_requirement = get_exp_req_amount() | ||
*/ | ||
|
||
// Calc client exp and how much do we need | ||
var/my_exp = C.calc_exp_type(exp_type) | ||
var/job_requirement = exp_requirements | ||
if(my_exp >= job_requirement) | ||
return FALSE | ||
else | ||
return (job_requirement - my_exp) | ||
|
||
|
||
/* | ||
/datum/job/proc/get_exp_req_amount() | ||
if(job_flags & JOB_FLAG_ISCOMMAND) | ||
var/uerhh = CONFIG_GET(number/use_exp_restrictions_command_hours) | ||
|
@@ -44,7 +57,8 @@ GLOBAL_PROTECT(exp_to_update) | |
if(!CONFIG_GET(flag/use_exp_restrictions_other) && !(job.job_flags & JOB_FLAG_ISCOMMAND)) | ||
return FALSE | ||
return TRUE | ||
|
||
*/ | ||
//RUTGMC EDIT END | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Окончание есть, !на доп строчке!, а оглавления нету! |
||
|
||
/client/proc/calc_exp_type(exptype) | ||
var/list/explist = prefs.exp.Copy() | ||
|
@@ -115,13 +129,22 @@ GLOBAL_PROTECT(exp_to_update) | |
for(var/j in SSjob.joinable_occupations) | ||
var/datum/job/job = j | ||
if(job.exp_requirements && job.exp_type) | ||
//RUTGMC EDIT BEGIN | ||
/* | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Тоже самое что и с другим |
||
if(!job_is_xp_locked(job)) | ||
continue | ||
else if(!job.required_playtime_remaining(mob.client)) | ||
*/ | ||
if(!job.required_playtime_remaining(mob.client)) | ||
jobs_unlocked += job.title | ||
else | ||
/* ORIGINAL | ||
var/xp_req = job.get_exp_req_amount() | ||
jobs_locked += "[job.title] [get_exp_format(text2num(calc_exp_type(job.get_exp_req_type())))] / [get_exp_format(xp_req)] as [job.get_exp_req_type()])" | ||
*/ | ||
var/xp_req = job.exp_requirements | ||
jobs_locked += "[job.title] [get_exp_format(text2num(calc_exp_type(job.exp_type)))] / [get_exp_format(xp_req)] as [job.exp_type])" | ||
//RUTGMC EDIT END | ||
if(length(jobs_unlocked)) | ||
return_text += "<BR><BR>Jobs Unlocked:<UL><LI>" | ||
return_text += jobs_unlocked.Join("</LI><LI>") | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -262,7 +262,11 @@ | |
return FALSE | ||
var/datum/job/xenojob = SSjob.GetJobType(/datum/job/xenomorph/queen) | ||
if(xenojob.required_playtime_remaining(client)) | ||
to_chat(src, span_warning("[get_exp_format(xenojob.required_playtime_remaining(client))] as [xenojob.get_exp_req_type()] required to play queen like roles.")) | ||
//RUTGMC EDIT BEGIN | ||
//ORIGINAL | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. читабельность 0, слишком много строчек под комиты, не нужные |
||
//to_chat(src, span_warning("[get_exp_format(xenojob.required_playtime_remaining(client))] as [xenojob.get_exp_req_type()] required to play queen like roles.")) | ||
to_chat(src, span_warning("[get_exp_format(xenojob.required_playtime_remaining(client))] as [xenojob.exp_type] required to play the queen role.")) | ||
//RUTGMC EDIT END | ||
return FALSE | ||
|
||
var/min_xenos = new_caste_type.evolve_min_xenos | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
/datum/config_entry/flag/use_exp_restrictions | ||
|
||
/datum/config_entry/flag/use_exp_restrictions_admin_bypass |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -27,13 +27,6 @@ | |
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/highcap/captain, SLOT_HEAD) | ||
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/satchel/captain_cloak_red/white, SLOT_BACK) | ||
|
||
|
||
/datum/outfit/job/command/captain | ||
belt = /obj/item/storage/holster/blade/officer/sabre/full | ||
glasses = /obj/item/clothing/glasses/sunglasses/aviator/yellow | ||
head = null | ||
back = FALSE | ||
|
||
//Staff officer | ||
/datum/job/terragov/command/staffofficer/after_spawn(mob/living/carbon/new_mob, mob/user, latejoin = FALSE) | ||
..() | ||
|
@@ -64,3 +57,64 @@ | |
w_uniform = /obj/item/clothing/under/marine/whites/blacks | ||
shoes = /obj/item/clothing/shoes/laceup | ||
|
||
/datum/outfit/job/command/captain | ||
belt = /obj/item/storage/holster/blade/officer/sabre/full | ||
glasses = /obj/item/clothing/glasses/sunglasses/aviator/yellow | ||
head = null | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ? |
||
back = FALSE | ||
|
||
/datum/job/terragov/engineering/tech | ||
exp_type = EXP_TYPE_MARINES | ||
exp_requirements = XP_REQ_UNSEASONED | ||
|
||
/datum/job/terragov/medical/medicalofficer | ||
exp_type = EXP_TYPE_ENGINEERING | ||
exp_requirements = XP_REQ_UNSEASONED | ||
|
||
/datum/job/terragov/medical/researcher | ||
exp_type = EXP_TYPE_MEDICAL | ||
exp_requirements = XP_REQ_UNSEASONED | ||
|
||
/datum/job/terragov/command/staffofficer | ||
exp_type = EXP_TYPE_REGULAR_ALL | ||
exp_requirements = XP_REQ_INTERMEDIATE | ||
|
||
/datum/job/terragov/command/pilot | ||
exp_type = EXP_TYPE_REGULAR_ALL | ||
exp_requirements = XP_REQ_INTERMEDIATE | ||
|
||
/datum/job/terragov/engineering/chief | ||
exp_type = EXP_TYPE_ENGINEERING | ||
exp_requirements = XP_REQ_INTERMEDIATE | ||
|
||
/datum/job/terragov/requisitions/officer | ||
exp_type = EXP_TYPE_REGULAR_ALL | ||
exp_requirements = XP_REQ_INTERMEDIATE | ||
|
||
/datum/job/terragov/medical/professor | ||
exp_type = EXP_TYPE_MEDICAL | ||
exp_requirements = XP_REQ_INTERMEDIATE | ||
|
||
/datum/job/terragov/civilian/liaison | ||
exp_type = EXP_TYPE_REGULAR_ALL | ||
exp_requirements = XP_REQ_INTERMEDIATE | ||
|
||
/datum/job/terragov/silicon/ai | ||
exp_type = EXP_TYPE_REGULAR_ALL | ||
exp_requirements = XP_REQ_INTERMEDIATE | ||
|
||
/datum/job/terragov/command/captain | ||
exp_type = EXP_TYPE_REGULAR_ALL | ||
exp_requirements = XP_REQ_EXPERT | ||
|
||
/datum/job/terragov/command/fieldcommander | ||
exp_type = EXP_TYPE_COMMAND | ||
exp_requirements = XP_REQ_EXPERT | ||
|
||
/datum/job/terragov/command/mech_pilot | ||
exp_type = EXP_TYPE_REGULAR_ALL | ||
exp_requirements = XP_REQ_EXPERT | ||
|
||
/datum/job/terragov/silicon/synthetic | ||
exp_type = EXP_TYPE_REGULAR_ALL | ||
exp_requirements = XP_REQ_EXPERT |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
/datum/job/survivor | ||
exp_requirements = XP_REQ_SURVIVOR |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,6 @@ | ||
/datum/job/xenomorph/facehugger | ||
title = ROLE_XENO_HUGGER | ||
job_flags = JOB_FLAG_NOHEADSET|JOB_FLAG_OVERRIDELATEJOINSPAWN | ||
|
||
/datum/job/xenomorph/queen | ||
exp_requirements = XP_REQ_INTERMEDIATE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ГДЕ РАЗДЕЛЕНИЕ НА ОРИГИНАЛ И ЭДИТ? ПОЧЕМУ НЕ В ОТДЕЛЬНОМ ФАЙЛЕ?