diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index 1e4398546c..e7bb56347e 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -27,11 +27,13 @@ H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/bartender(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/device/pda/bar(H), slot_belt) if(has_alt_title(H, alt_title,"Bartender")) + var/obj/item/weapon/permit/gun/bar/permit = new(H) if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/permit/gun/bar(H), slot_l_hand) + H.equip_to_slot_or_del(permit, slot_l_hand) else - H.equip_to_slot_or_del(new /obj/item/weapon/permit/gun/bar(H.back), slot_in_backpack) - return 1 + H.equip_to_slot_or_del(permit, slot_in_backpack) + permit.set_name(H.real_name) + return 1 diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 9ca5c327fa..8bfb5760a2 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -375,6 +375,7 @@ var/global/datum/controller/occupations/job_master job.equip_backpack(H) job.equip_survival(H) job.apply_fingerprints(H) + H.equip_post_job() //If some custom items could not be equipped before, try again now. for(var/thing in custom_equip_leftovers) diff --git a/code/game/objects/items/weapons/permits.dm b/code/game/objects/items/weapons/permits.dm index bb0ebfdd0c..8008959460 100644 --- a/code/game/objects/items/weapons/permits.dm +++ b/code/game/objects/items/weapons/permits.dm @@ -32,4 +32,9 @@ /obj/item/weapon/permit/gun/bar name = "bar shotgun permit" - desc = "A card indicating that the owner is allowed to carry a shotgun in the bar." \ No newline at end of file + desc = "A card indicating that the owner is allowed to carry a shotgun in the bar." + +/obj/item/weapon/permit/drone + name = "drone identification card" + desc = "A card issued by the EIO, indicating that the owner is a Drone Intelligence. Drones are mandated to carry this card within SolGov space, by law." + icon_state = "drone" \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 5bdea52665..66abc50cab 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1497,3 +1497,11 @@ /mob/living/carbon/human/is_muzzled() return (wear_mask && (istype(wear_mask, /obj/item/clothing/mask/muzzle) || istype(src.wear_mask, /obj/item/weapon/grenade))) +// Called by job_controller. Makes drones start with a permit, might be useful for other people later too. +/mob/living/carbon/human/equip_post_job() + var/braintype = get_FBP_type() + if(braintype == FBP_DRONE) + var/turf/T = get_turf(src) + var/obj/item/weapon/permit/drone/permit = new(T) + permit.set_name(real_name) + equip_to_appropriate_slot(permit) // If for some reason it can't find room, it'll still be on the floor. \ No newline at end of file diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 9e99a09d52..8f6f94918b 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -965,3 +965,7 @@ default behaviour is: if(isSynthetic()) return FALSE return TRUE + +// Called by job_controller. +/mob/living/proc/equip_post_job() + return diff --git a/icons/obj/card.dmi b/icons/obj/card.dmi index e1a2c1c2ae..390fdb88ea 100644 Binary files a/icons/obj/card.dmi and b/icons/obj/card.dmi differ