From 4b4a6937d181409df02fbfbd0adc0dc14f6633e6 Mon Sep 17 00:00:00 2001 From: Meowykins Date: Thu, 31 Jul 2014 09:46:55 -0500 Subject: [PATCH 1/2] Zipties (Meow's Bane) The Sprites added to Items.dmi The code for the ties -- Stackable, with a max of six --FULLY TESTED --- code/game/objects/items/weapons/handcuffs.dm | 93 +++++++++++++++++++ icons/obj/items.dmi | Bin 66868 -> 67147 bytes 2 files changed, 93 insertions(+) diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index 1615c756..7bd91a4f 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -149,3 +149,96 @@ var/last_chew = 0 /obj/item/weapon/handcuffs/cyborg dispenser = 1 + +/obj/item/weapon/handcuffs/ziptie + name = "zipties" + desc = "Sturdy, and reliable. Likely used to restain unruly people." + gender = PLURAL + icon = 'icons/obj/items.dmi' + icon_state = "ziptie" + var/singular_name = "ziptie" + var/amount = 1 + var/max_amount = 6 + +/obj/item/weapon/handcuffs/ziptie/New(var/loc, var/amount=null) + ..() + if (amount) + src.amount=amount + return + +/obj/item/weapon/handcuffs/ziptie/Del() + if (src && usr && usr.machine==src) + usr << browse(null, "window=stack") + ..() + +/obj/item/weapon/handcuffs/ziptie/examine() + set src in view(1) + ..() + usr << "There are [src.amount] [src.singular_name]\s in the stack." + return + +/obj/item/weapon/handcuffs/ziptie/proc/use(var/amount) + src.amount-=amount + if (src.amount<=0) + var/oldsrc = src + src = null //dont kill proc after del() + if(usr) + usr.before_take_item(oldsrc) + del(oldsrc) + return + +/obj/item/weapon/handcuffs/ziptie/proc/add_to_stacks(mob/usr as mob) + var/obj/item/weapon/handcuffs/ziptie/oldsrc = src + src = null + for (var/obj/item/weapon/handcuffs/ziptie/N in usr.loc) + if (N==oldsrc) + continue + if (!istype(N, oldsrc.type)) + continue + if (N.amount>=N.max_amount) + continue + oldsrc.attackby(N, usr) + usr << "You add new [N.singular_name] to the stack. It now contains [N.amount] [N.singular_name]\s." + if(!oldsrc) + break + +/obj/item/weapon/handcuffs/ziptie/attack_hand(mob/user as mob) + if (user.get_inactive_hand() == src) + var/obj/item/weapon/handcuffs/ziptie/F = new src.type( user, 1) + F.copy_evidences(src) + user.put_in_hands(F) + src.add_fingerprint(user) + F.add_fingerprint(user) + use(1) + if (src && usr.machine==src) + spawn(0) src.interact(usr) + else + ..() + return + +/obj/item/weapon/handcuffs/ziptie/attackby(obj/item/W as obj, mob/user as mob) + ..() + if (istype(W, src.type)) + var/obj/item/weapon/handcuffs/ziptie/S = W + if (S.amount >= max_amount) + return 1 + var/to_transfer as num + if (user.get_inactive_hand()==src) + to_transfer = 1 + else + to_transfer = min(src.amount, S.max_amount-S.amount) + S.amount+=to_transfer + if (S && usr.machine==S) + spawn(0) S.interact(usr) + src.use(to_transfer) + if (src && usr.machine==src) + spawn(0) src.interact(usr) + else return ..() + +/obj/item/weapon/handcuffs/ziptie/proc/copy_evidences(obj/item/weapon/handcuffs/ziptie/from as obj) + src.blood_DNA = from.blood_DNA + src.fingerprints = from.fingerprints + src.fingerprintshidden = from.fingerprintshidden + src.fingerprintslast = from.fingerprintslast + + diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index bc938c6e1c29dad92b46127cecd367d7fb0eb6e5..b81e14194833cb7181fcb8d950b44c29594b6721 100644 GIT binary patch delta 9898 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 From 95a9324952552a510e579e8b0508c3b715fe92bf Mon Sep 17 00:00:00 2001 From: Meowykins Date: Sat, 2 Aug 2014 09:54:17 -0500 Subject: [PATCH 2/2] SID Update Changes to Security -Investigator -Forensic Tech -Internal Advisor Spawn Code written. Changes to an item definition to fit the purpose. --- code/game/jobs/job/civilian.dm | 38 -------- code/game/jobs/job/security.dm | 93 +++++++++++++++---- code/game/jobs/jobs.dm | 25 ++--- code/game/machinery/bots/ed209bot.dm | 2 +- code/game/machinery/bots/secbot.dm | 2 +- code/modules/clothing/under/jobs/security.dm | 4 +- code/modules/economy/Job_Departments.dm | 6 +- .../mob/new_player/preferences_setup.dm | 30 ++++-- 8 files changed, 119 insertions(+), 81 deletions(-) diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index 50df6335..a42856d1 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -327,41 +327,3 @@ -//var/global/lawyer = 0//Checks for another lawyer //This changed clothes on 2nd lawyer, both IA get the same dreds. -/datum/job/lawyer - title = "Internal Affairs Agent" - flag = LAWYER - department_flag = CIVILIAN - faction = "Station" - total_positions = 2 - spawn_positions = 2 - supervisors = "the captain" - selection_color = "#dddddd" - access = list(access_lawyer, access_court, access_sec_doors, access_maint_tunnels) - minimal_access = list(access_lawyer, access_court, access_sec_doors) - - - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear) - 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) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/internalaffairs(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/internalaffairs(H), slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/big(H), slot_glasses) - H.equip_to_slot_or_del(new /obj/item/device/pda/lawyer(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/briefcase(H), slot_l_hand) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) - var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H) - L.imp_in = H - L.implanted = 1 - var/datum/organ/external/affected = H.organs_by_name["head"] - affected.implants += L - L.part = affected - return 1 diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 12b69144..e5fa8aed 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -86,20 +86,18 @@ -/datum/job/detective - title = "Detective" - flag = DETECTIVE +/datum/job/forensictech + title = "Forensic Technician" + flag = FT department_flag = ENGSEC faction = "Station" total_positions = 1 spawn_positions = 1 supervisors = "the head of security" selection_color = "#ffeeee" - alt_titles = list("Forensic Technician") - access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_court) - minimal_access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_court) - alt_titles = list("Forensic Technician") + access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue) + minimal_access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue) minimal_player_age = 3 equip(var/mob/living/carbon/human/H) if(!H) return 0 @@ -108,19 +106,10 @@ 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) - H.equip_to_slot_or_del(new /obj/item/clothing/under/det(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security2(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/detective(H), slot_belt) -/* var/obj/item/clothing/mask/cigarette/CIG = new /obj/item/clothing/mask/cigarette(H) - CIG.light("") - H.equip_to_slot_or_del(CIG, slot_wear_mask) */ H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) - if(H.mind.role_alt_title && H.mind.role_alt_title == "Forensic Technician") - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/forensics/blue(H), slot_wear_suit) - else - H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/det_suit(H), slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/clothing/head/det_hat(H), slot_head) - H.equip_to_slot_or_del(new /obj/item/weapon/lighter/zippo(H), slot_l_store) if(H.backbag == 1)//Why cant some of these things spawn in his office? H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) @@ -144,8 +133,8 @@ spawn_positions = 5 supervisors = "the head of security" selection_color = "#ffeeee" - access = list(access_security, access_sec_doors, access_brig, access_court, access_maint_tunnels, access_morgue) - minimal_access = list(access_security, access_sec_doors, access_brig, access_court, access_maint_tunnels) + access = list(access_security, access_sec_doors, access_brig, access_court, access_maint_tunnels, access_morgue, access_forensics_lockers) + minimal_access = list(access_security, access_sec_doors, access_brig, access_court, access_maint_tunnels, access_forensics_lockers) minimal_player_age = 3 equip(var/mob/living/carbon/human/H) if(!H) return 0 @@ -166,3 +155,67 @@ H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack) return 1 + +/datum/job/investigator + title = "Investigator" + flag = INV + department_flag = ENGSEC + faction = "Station" + total_positions = 2 + spawn_positions = 2 + supervisors = "the head of security" + selection_color = "#ffeeee" + access = list(access_security, access_sec_doors, access_brig, access_court, access_maint_tunnels, access_forensics_lockers) + minimal_access = list(access_security, access_sec_doors, access_brig, access_court, access_maint_tunnels, access_forensics_lockers) + minimal_player_age = 3 + equip(var/mob/living/carbon/human/H) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear) + switch(H.backbag) + if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(H), slot_back) + if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_sec(H), slot_back) + if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security2(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/device/pda/security(H), slot_belt) + if(H.backbag == 1) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) + else + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + return 1 + + +/datum/job/internaladviser + title = "Internal Adviser" + flag = INTAD + department_flag = ENGSEC + faction = "Station" + total_positions = 2 + spawn_positions = 2 + supervisors = "the head of security" + selection_color = "#dddddd" + access = list(access_lawyer, access_court, access_sec_doors, access_maint_tunnels) + minimal_access = list(access_lawyer, access_court, access_sec_doors) + + + equip(var/mob/living/carbon/human/H) + if(!H) return 0 + H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear) + 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) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/navy/officer/blue(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/device/pda/lawyer(H), slot_belt) + if(H.backbag == 1) + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) + else + H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) + var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H) + L.imp_in = H + L.implanted = 1 + var/datum/organ/external/affected = H.organs_by_name["head"] + affected.implants += L + L.part = affected + return 1 \ No newline at end of file diff --git a/code/game/jobs/jobs.dm b/code/game/jobs/jobs.dm index 8b7ff491..d7d85871 100644 --- a/code/game/jobs/jobs.dm +++ b/code/game/jobs/jobs.dm @@ -4,16 +4,17 @@ var/const/ENGSEC =(1<<0) var/const/CAPTAIN =(1<<0) var/const/HOS =(1<<1) var/const/WARDEN =(1<<2) -var/const/DETECTIVE =(1<<3) -var/const/OFFICER =(1<<4) -var/const/CHIEF =(1<<5) -var/const/ENGINEER =(1<<6) -var/const/ATMOSTECH =(1<<7) -var/const/AI =(1<<8) -var/const/CYBORG =(1<<9) -var/const/INTERN_SEC =(1<<10) -var/const/INTERN_ENG =(1<<11) - +var/const/OFFICER =(1<<3) +var/const/CHIEF =(1<<4) +var/const/ENGINEER =(1<<5) +var/const/ATMOSTECH =(1<<6) +var/const/AI =(1<<7) +var/const/CYBORG =(1<<8) +var/const/INTERN_SEC =(1<<9) +var/const/INTERN_ENG =(1<<10) +var/const/FT =(1<<11) +var/const/INTAD =(1<<12) +var/const/INV =(1<<13) var/const/MEDSCI =(1<<1) @@ -112,7 +113,9 @@ var/list/civilian_positions = list( var/list/security_positions = list( "Head of Security", "Warden", - "Detective", + "Forensice Technician", + "Investigator", + "Internal Adviser", "Security Officer", "Security Cadet" ) diff --git a/code/game/machinery/bots/ed209bot.dm b/code/game/machinery/bots/ed209bot.dm index 6e084931..357c9497 100644 --- a/code/game/machinery/bots/ed209bot.dm +++ b/code/game/machinery/bots/ed209bot.dm @@ -78,7 +78,7 @@ src.icon_state = "[lasercolor]ed209[src.on]" spawn(3) src.botcard = new /obj/item/weapon/card/id(src) - var/datum/job/detective/J = new/datum/job/detective + var/datum/job/investigator/J = new/datum/job/investigator src.botcard.access = J.get_access() if(radio_controller) diff --git a/code/game/machinery/bots/secbot.dm b/code/game/machinery/bots/secbot.dm index 3aa31527..c56e1fc6 100644 --- a/code/game/machinery/bots/secbot.dm +++ b/code/game/machinery/bots/secbot.dm @@ -75,7 +75,7 @@ src.icon_state = "secbot[src.on]" spawn(3) src.botcard = new /obj/item/weapon/card/id(src) - var/datum/job/detective/J = new/datum/job/detective + var/datum/job/investigator/J = new/datum/job/investigator src.botcard.access = J.get_access() if(radio_controller) radio_controller.add_object(src, control_freq, filter = RADIO_SECBOT) diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index 351befea..30e20b79 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -236,8 +236,8 @@ siemens_coefficient = 0.9 /obj/item/clothing/under/rank/navy/officer/blue - name = "Blue Officer Uniform" - desc = "A blue service uniform worn by a security officer." + name = "Internal Advisor Uniform" + desc = "A blue service uniform worn by Advisors." icon_state = "officerblueclothes" item_state = "officerblueclothes" item_color = "officerblueclothes" diff --git a/code/modules/economy/Job_Departments.dm b/code/modules/economy/Job_Departments.dm index 06e2b58a..1213c8b7 100644 --- a/code/modules/economy/Job_Departments.dm +++ b/code/modules/economy/Job_Departments.dm @@ -65,10 +65,14 @@ var/list/station_departments = list("Command", "Medical", "Engineering", "Scienc /datum/job/warden/department = "Security" -/datum/job/detective/department = "Security" +/datum/job/forensicetech/department = "Security" /datum/job/officer/department = "Security" +/datum/job/investigator/department = "Security" + +/datum/job/internaladviser/department = "Security" + /datum/job/intern_sec/department = "Security" /datum/job/intern_med/department = "Medical" diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 117c8b6c..2b10b2da 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -599,14 +599,30 @@ datum/preferences clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-sec"), ICON_OVERLAY) if(4) clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) - if(DETECTIVE) - clothes_s = new /icon('icons/mob/uniform.dmi', "detective_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) + if(FT) + clothes_s = new /icon('icons/mob/uniform.dmi', "redshirt2_s") + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) clothes_s.Blend(new /icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) - if(prob(1)) - clothes_s.Blend(new /icon('icons/mob/mask.dmi', "cigaron"), ICON_OVERLAY) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "detective"), ICON_OVERLAY) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "detective"), ICON_OVERLAY) + switch(backbag) + if(2) + clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) + if(3) + clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) + if(4) + clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) + if(INV) + clothes_s = new /icon('icons/mob/uniform.dmi', "redshirt2_s") + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "laceups"), ICON_UNDERLAY) + switch(backbag) + if(2) + clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) + if(3) + clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) + if(4) + clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel"), ICON_OVERLAY) + if(INTAD) + clothes_s = new /icon('icons/mob/uniform.dmi', "officerblueclothes_s") + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "laceups"), ICON_UNDERLAY) switch(backbag) if(2) clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY)