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 839878c098..2452ac7fbd 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 2260484e47..70a1561864 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 b78b802e91..b83da181b9 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)