- Survival kit hotfix 2: Hopefully it works properly this time

- WIP code for jobs (Part of UI project), code is completely inactive.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1787 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
baloh.matevz
2011-07-06 19:04:40 +00:00
parent 45698eeb58
commit 528bcbe142
2 changed files with 175 additions and 20 deletions
+20 -20
View File
@@ -301,7 +301,7 @@
src.equip_if_possible(new /obj/item/device/radio/headset/headset_medsci (src), slot_ears) // -- TLE
src.equip_if_possible(new /obj/item/device/pda/medical(src), slot_belt)
src.equip_if_possible(new /obj/item/weapon/storage/backpack/medic (src), slot_back)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src.back), slot_in_backpack)
src.equip_if_possible(new /obj/item/clothing/under/rank/geneticist(src), slot_w_uniform)
src.equip_if_possible(new /obj/item/clothing/shoes/white(src), slot_shoes)
src.equip_if_possible(new /obj/item/clothing/suit/labcoat(src), slot_wear_suit)
@@ -321,7 +321,7 @@
if ("Clown")
src.equip_if_possible(new /obj/item/weapon/storage/backpack/clown (src), slot_back)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src.back), slot_in_backpack)
src.equip_if_possible(new /obj/item/device/pda/clown(src), slot_belt)
src.equip_if_possible(new /obj/item/clothing/under/rank/clown(src), slot_w_uniform)
src.equip_if_possible(new /obj/item/clothing/shoes/clown_shoes(src), slot_shoes)
@@ -335,7 +335,7 @@
if ("Mime")
src.equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src.back), slot_in_backpack)
src.equip_if_possible(new /obj/item/device/pda/mime(src), slot_belt)
src.equip_if_possible(new /obj/item/clothing/under/mime(src), slot_w_uniform)
src.equip_if_possible(new /obj/item/clothing/shoes/black(src), slot_shoes)
@@ -352,7 +352,7 @@
if ("Station Engineer")
src.equip_if_possible(new /obj/item/weapon/storage/backpack/industrial (src), slot_back)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit/engineer(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit/engineer(src.back), slot_in_backpack)
src.equip_if_possible(new /obj/item/device/radio/headset/headset_eng (src), slot_ears) // -- TLE
src.equip_if_possible(new /obj/item/device/pda/engineering(src), slot_belt)
src.equip_if_possible(new /obj/item/clothing/under/rank/engineer(src), slot_w_uniform)
@@ -364,7 +364,7 @@
if ("Shaft Miner")
src.equip_if_possible(new /obj/item/weapon/storage/backpack/industrial (src), slot_back)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src.back), slot_in_backpack)
src.equip_if_possible(new /obj/item/device/radio/headset/headset_mine (src), slot_ears)
src.equip_if_possible(new /obj/item/clothing/under/rank/miner(src), slot_w_uniform)
src.equip_if_possible(new /obj/item/clothing/shoes/black(src), slot_shoes)
@@ -379,7 +379,7 @@
if ("Detective")
src.equip_if_possible(new /obj/item/device/radio/headset/headset_sec (src), slot_ears) // -- TLE
src.equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src.back), slot_in_backpack)
src.equip_if_possible(new /obj/item/device/pda/security(src), slot_belt)
src.equip_if_possible(new /obj/item/clothing/under/det(src), slot_w_uniform)
src.equip_if_possible(new /obj/item/clothing/shoes/brown(src), slot_shoes)
@@ -388,7 +388,7 @@
CIG.light("")
src.equip_if_possible(CIG, slot_wear_mask) // sorry, no more cigar
src.equip_if_possible(new /obj/item/clothing/gloves/black(src), slot_gloves)
src.equip_if_possible(new /obj/item/weapon/storage/fcard_kit(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/storage/fcard_kit(src.back), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/fcardholder(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/clothing/suit/det_suit(src), slot_wear_suit)
src.equip_if_possible(new /obj/item/device/detective_scanner(src), slot_in_backpack)
@@ -399,7 +399,7 @@
src.equip_if_possible(new /obj/item/device/radio/headset/headset_med (src), slot_ears) // -- TLE
src.equip_if_possible(new /obj/item/device/pda/medical(src), slot_belt)
src.equip_if_possible(new /obj/item/weapon/storage/backpack/medic (src), slot_back)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src.back), slot_in_backpack)
src.equip_if_possible(new /obj/item/clothing/under/rank/medical(src), slot_w_uniform)
src.equip_if_possible(new /obj/item/clothing/shoes/white(src), slot_shoes)
src.equip_if_possible(new /obj/item/clothing/suit/labcoat(src), slot_wear_suit)
@@ -409,7 +409,7 @@
if ("Captain")
src.equip_if_possible(new /obj/item/device/radio/headset/heads/captain (src), slot_ears)
src.equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src.back), slot_in_backpack)
src.equip_if_possible(new /obj/item/device/pda/captain(src), slot_belt)
src.equip_if_possible(new /obj/item/clothing/under/rank/captain(src), slot_w_uniform)
src.equip_if_possible(new /obj/item/clothing/suit/armor/captain(src), slot_wear_suit)
@@ -422,7 +422,7 @@
if ("Security Officer")
src.equip_if_possible(new /obj/item/device/radio/headset/headset_sec (src), slot_ears) // -- TLE
src.equip_if_possible(new /obj/item/weapon/storage/backpack/security (src), slot_back)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src.back), slot_in_backpack)
src.equip_if_possible(new /obj/item/device/pda/security(src), slot_belt)
src.equip_if_possible(new /obj/item/clothing/under/rank/security(src), slot_w_uniform)
src.equip_if_possible(new /obj/item/clothing/suit/armor/vest(src), slot_wear_suit)
@@ -435,7 +435,7 @@
if ("Warden")
src.equip_if_possible(new /obj/item/device/radio/headset/headset_sec (src), slot_ears) // -- TLE
src.equip_if_possible(new /obj/item/weapon/storage/backpack/security (src), slot_back)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src.back), slot_in_backpack)
src.equip_if_possible(new /obj/item/device/pda/security(src), slot_belt)
src.equip_if_possible(new /obj/item/clothing/under/rank/warden(src), slot_w_uniform)
src.equip_if_possible(new /obj/item/clothing/suit/armor/vest(src), slot_wear_suit)
@@ -466,7 +466,7 @@
src.equip_if_possible(new /obj/item/clothing/head/helmet/HoS(src), slot_head)
src.equip_if_possible(new /obj/item/clothing/mask/gas/emergency(src), slot_wear_mask)
src.equip_if_possible(new /obj/item/weapon/storage/backpack/security (src), slot_back)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src.back), slot_in_backpack)
src.equip_if_possible(new /obj/item/clothing/glasses/sunglasses(src), slot_glasses)
src.equip_if_possible(new /obj/item/weapon/handcuffs(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/gun/energy(src), slot_s_store)
@@ -475,7 +475,7 @@
if ("Head of Personnel")
src.equip_if_possible(new /obj/item/device/radio/headset/heads/hop (src), slot_ears) // -- TLE
src.equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src.back), slot_in_backpack)
src.equip_if_possible(new /obj/item/device/pda/heads/hop(src), slot_belt)
src.equip_if_possible(new /obj/item/clothing/under/rank/head_of_personnel(src), slot_w_uniform)
src.equip_if_possible(new /obj/item/clothing/suit/armor/vest(src), slot_wear_suit)
@@ -494,7 +494,7 @@
src.equip_if_possible(new /obj/item/clothing/shoes/black(src), slot_shoes)
src.equip_if_possible(new /obj/item/clothing/suit/armor/vest(src), slot_wear_suit)
src.equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src.back), slot_in_backpack)
src.equip_if_possible(new /obj/item/ammo_casing/shotgun/beanbag(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/ammo_casing/shotgun/beanbag(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/ammo_casing/shotgun/beanbag(src), slot_in_backpack)
@@ -512,7 +512,7 @@
src.equip_if_possible(new /obj/item/clothing/under/rank/roboticist(src), slot_w_uniform)
src.equip_if_possible(new /obj/item/clothing/shoes/black(src), slot_shoes)
src.equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src.back), slot_in_backpack)
src.equip_if_possible(new /obj/item/clothing/suit/labcoat(src), slot_wear_suit)
src.equip_if_possible(new /obj/item/clothing/gloves/black(src), slot_gloves)
src.equip_if_possible(new /obj/item/weapon/storage/toolbox/mechanical(src), slot_l_hand)
@@ -535,7 +535,7 @@
src.equip_if_possible(new /obj/item/clothing/shoes/brown(src), slot_shoes)
src.equip_if_possible(new /obj/item/clothing/suit/suit(src), slot_wear_suit)
src.equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src.back), slot_in_backpack)
src.equip_if_possible(new /obj/item/device/detective_scanner(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/storage/briefcase(src), slot_l_hand)
@@ -557,7 +557,7 @@
if ("Chief Engineer")
src.equip_if_possible(new /obj/item/weapon/storage/backpack/industrial (src), slot_back)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit/engineer(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit/engineer(src.back), slot_in_backpack)
src.equip_if_possible(new /obj/item/device/radio/headset/heads/ce (src), slot_ears)
src.equip_if_possible(new /obj/item/device/pda/heads/ce(src), slot_belt)
src.equip_if_possible(new /obj/item/clothing/gloves/black(src), slot_gloves) //changed to black as part of dangercon 2011, approved by Urist_McDorf --Errorage
@@ -584,7 +584,7 @@
src.equip_if_possible(new /obj/item/device/radio/headset/heads/cmo (src), slot_ears)
src.equip_if_possible(new /obj/item/device/pda/heads/cmo(src), slot_belt)
src.equip_if_possible(new /obj/item/weapon/storage/backpack/medic (src), slot_back)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src.back), slot_in_backpack)
src.equip_if_possible(new /obj/item/clothing/shoes/brown(src), slot_shoes)
src.equip_if_possible(new /obj/item/clothing/under/rank/chief_medical_officer(src), slot_w_uniform)
src.equip_if_possible(new /obj/item/clothing/suit/labcoat_cmo(src), slot_wear_suit)
@@ -595,7 +595,7 @@
src.equip_if_possible(new /obj/item/device/radio/headset/headset_medsci (src), slot_ears) // -- TLE
src.equip_if_possible(new /obj/item/device/pda/medical(src), slot_belt)
src.equip_if_possible(new /obj/item/weapon/storage/backpack/medic (src), slot_back)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src.back), slot_in_backpack)
src.equip_if_possible(new /obj/item/clothing/under/rank/medical(src), slot_w_uniform)
src.equip_if_possible(new /obj/item/clothing/mask/surgical(src), slot_wear_mask)
src.equip_if_possible(new /obj/item/clothing/shoes/white(src), slot_shoes)
@@ -656,7 +656,7 @@
src.equip_if_possible(new /obj/item/device/radio/headset(src), slot_ears)
var/obj/item/weapon/storage/backpack/BPK = new/obj/item/weapon/storage/backpack(src)
new /obj/item/weapon/storage/survival_kit(BPK)
src.equip_if_possible(BPK, slot_back)
src.equip_if_possible(BPK, slot_back,1)
/*
+155
View File
@@ -1,3 +1,158 @@
//WORK IN PROGRESS CONTENT
//Project coder: Errorage
//Readme: As part of the UI upgrade project, the intention here is for each job to have
//somewhat customizable loadouts. Players will be able to pick between jumpsuits, shoes,
//and other items. This datum will be used for all jobs and code will reference it.
//adding new jobs will be a matter of adding this datum.to a list of jobs.
/datum/job
//Basic information
var/title = "Untitled" //The main (default) job title/name
var/list/alternative_titles = list() //Alternative job titles/names (alias)
var/job_number_at_round_start = 0 //Number of jobs that can be assigned at round start
var/job_number_total = 0 //Number of jobs that can be assigned total
var/list/bosses = list() //List of jobs which have authority over this job by default.
var/admin_only = 0 //If this is set to 1, the job is not available on the spawn screen
var/description = "" //A description of the job to be displayed when requested on the spawn screen
var/guides = "" //A string with links to relevent guides (likely the wiki)
//Available equipment - The first thing listed is understood as the default setup.
var/list/equipment_ears = list() //list of possible ear-wear items
var/list/equipment_glasses = list() //list of possible glasses
var/list/equipment_gloves = list() //list of possible gloves
var/list/equipment_head = list() //list of possible headgear/helmets/hats
var/list/equipment_mask = list() //list of possible masks
var/list/equipment_shoes = list() //list of possible shoes
var/list/equipment_suit = list() //list of possible suits
var/list/equipment_under = list() //list of possible jumpsuits
var/list/equipment_belt = list() //list of possible belt-slot items
var/list/equipment_back = list() //list of possible back-slot items
var/obj/equipment_pda //default pda type
var/obj/equipment_id //default id type
New(var/param_title, var/list/param_alternative_titles = list(), var/param_jobs_at_round_start = 0, var/param_global_max = 0, var/list/param_bosses = list(), var/param_admin_only = 0)
title = param_title
alternative_titles = param_alternative_titles
job_number_at_round_start = param_jobs_at_round_start
job_number_total = param_global_max
bosses = param_bosses
admin_only = param_admin_only
//This proc tests to see if the given alias (job title/alternative job title) corresponds to this job.
//Returns 1 if it is, else returns 0
proc/is_job_alias(var/alias)
if(alias == title)
return 1
if(alias in alternative_titles)
return 1
return 0
/datum/jobs
var/list/datum/job/all_jobs = list()
proc/get_all_jobs()
return all_jobs
//This proc returns all the jobs which are NOT admin only
proc/get_normal_jobs()
var/list/datum/job/normal_jobs = list()
for(var/datum/job/J in all_jobs)
if(!J.admin_only)
normal_jobs += J
return normal_jobs
//This proc returns all the jobs which are admin only
proc/get_admin_jobs()
var/list/datum/job/admin_jobs = list()
for(var/datum/job/J in all_jobs)
if(J.admin_only)
admin_jobs += J
return admin_jobs
//This proc returns the job datum of the job with the alias or job title given as the argument. Returns an empty string otherwise.
proc/get_job(var/alias)
for(var/datum/job/J in all_jobs)
if(J.is_job_alias(alias))
return J
return ""
//This proc returns a string with the default job title for the job with the given alias. Returns an empty string otherwise.
proc/get_job_title(var/alias)
for(var/datum/job/J in all_jobs)
if(J.is_job_alias(alias))
return J.title
return ""
//This proc returns all the job datums of the workers whose boss has the alias provided. (IE Engineer under Chief Engineer, etc.)
proc/get_jobs_under(var/boss_alias)
var/boss_title = get_job_title(boss_alias)
var/list/datum/job/employees = list()
for(var/datum/job/J in all_jobs)
if(boss_title in J.bosses)
employees += J
return employees
var/datum/jobs/jobs = new/datum/jobs()
proc/setup_jobs()
var/datum/job/JOB
JOB = new/datum/job("Station Engineer")
JOB.alternative_titles = list("Structural Engineer","Engineer","Student of Engineering")
JOB.job_number_at_round_start = 5
JOB.job_number_total = 5
JOB.bosses = list("Chief Engineer")
JOB.admin_only = 0
JOB.description = "Engineers are tasked with the maintenance of the station. Be it maintaining the power grid or rebuilding damaged sections."
JOB.guides = ""
JOB.equipment_ears = list(/obj/item/device/radio/headset/headset_eng)
JOB.equipment_glasses = list()
JOB.equipment_gloves = list()
JOB.equipment_head = list(/obj/item/clothing/head/helmet/hardhat)
JOB.equipment_mask = list()
JOB.equipment_shoes = list(/obj/item/clothing/shoes/orange,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/black)
JOB.equipment_suit = list(/obj/item/clothing/suit/hazardvest)
JOB.equipment_under = list(/obj/item/clothing/under/rank/engineer,/obj/item/clothing/under/color/yellow)
JOB.equipment_belt = list(/obj/item/weapon/storage/utilitybelt/full)
JOB.equipment_back = list(/obj/item/weapon/storage/backpack/industrial,/obj/item/weapon/storage/backpack)
JOB.equipment_pda = /obj/item/device/pda/engineering
JOB.equipment_id = /obj/item/weapon/card/id
jobs.all_jobs += JOB
//This proc will dress the mob (employee) in the default way for the specified job title/job alias
proc/dress_for_job_default(var/mob/living/carbon/human/employee as mob, var/job_alias)
if(!ishuman(employee))
return
//UNFINISHED
var/datum/job/JOB = jobs.get_job(job_alias)
if(JOB)
var/item = JOB.equipment_ears[1]
employee.equip_if_possible(new item(employee), employee.slot_ears)
item = JOB.equipment_under[1]
employee.equip_if_possible(new item(employee), employee.slot_w_uniform)
/*
src.equip_if_possible(new /obj/item/weapon/storage/backpack/industrial (src), slot_back)
src.equip_if_possible(new /obj/item/weapon/storage/survival_kit/engineer(src), slot_in_backpack)
src.equip_if_possible(new /obj/item/device/radio/headset/headset_eng (src), slot_ears) // -- TLE
src.equip_if_possible(new /obj/item/device/pda/engineering(src), slot_belt)
src.equip_if_possible(new /obj/item/clothing/under/rank/engineer(src), slot_w_uniform)
src.equip_if_possible(new /obj/item/clothing/shoes/orange(src), slot_shoes)
src.equip_if_possible(new /obj/item/clothing/head/helmet/hardhat(src), slot_head)
src.equip_if_possible(new /obj/item/weapon/storage/utilitybelt/full(src), slot_l_hand) //currently spawns in hand due to traitor assignment requiring a PDA to be on the belt. --Errorage
//src.equip_if_possible(new /obj/item/clothing/gloves/yellow(src), slot_gloves) removed as part of Dangercon 2011, approved by Urist_McDorf --Errorage
src.equip_if_possible(new /obj/item/device/t_scanner(src), slot_r_store)
*/
//END OF WORK IN PROGRESS CONTENT
var/list/occupations = list(
//Civilian jobs
"Head of Personnel" = 1,