From dabdbf529c154db66ce510a74834dabefd469c68 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sun, 12 Jul 2015 19:29:29 +0300 Subject: [PATCH] Fixes several jobs not spawning with their prefered lootbag. Added a proc that spawns it for those jobs that didn't put a bag on in their 'equip' proc. There's just too many of those to move thme out in override for that proc and some jobs (like miners) depend on knowing if bag is there or not. It won't spawn second bag if first one is there anyway. --- code/game/jobs/job/job.dm | 6 ++++++ code/game/jobs/job/silicon.dm | 10 +++++++++- code/game/jobs/job_controller.dm | 1 + 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index 839878c098d..2452ac7fbd8 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -23,6 +23,12 @@ /datum/job/proc/equip(var/mob/living/carbon/human/H) return 1 +/datum/job/proc/equip_backpack(var/mob/living/carbon/human/H) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_norm(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + /datum/job/proc/equip_survival(var/mob/living/carbon/human/H) if(!H) return 0 H.species.equip_survival_gear(H,0) diff --git a/code/game/jobs/job/silicon.dm b/code/game/jobs/job/silicon.dm index 2260484e47c..70a1561864d 100644 --- a/code/game/jobs/job/silicon.dm +++ b/code/game/jobs/job/silicon.dm @@ -13,11 +13,15 @@ equip(var/mob/living/carbon/human/H) if(!H) return 0 return 1 - + equip_survival(var/mob/living/carbon/human/H) if(!H) return 0 return 1 + equip_backpack(var/mob/living/carbon/human/H) + if(!H) return 0 + return 1 + /datum/job/ai/is_position_available() return (empty_playable_ai_cores.len != 0) @@ -41,3 +45,7 @@ equip_survival(var/mob/living/carbon/human/H) if(!H) return 0 return 1 + + equip_backpack(var/mob/living/carbon/human/H) + if(!H) return 0 + return 1 diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index b78b802e911..b83da181b9e 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -393,6 +393,7 @@ var/global/datum/controller/occupations/job_master spawn_in_storage += thing //Equip job items. job.equip(H) + job.equip_backpack(H) job.equip_survival(H) job.apply_fingerprints(H)