From c6499583b4a9375c3798e4350d2213635b7cf94e Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Sun, 25 Dec 2011 00:07:42 -0700 Subject: [PATCH 01/10] Updated. --- code/defines/obj/clothing/gloves.dm | 18 +++++++++++++++++- code/game/gamemodes/cult/cult.dm | 5 +++-- code/game/jobs/job/security.dm | 5 +++-- code/game/objects/closets/secure/security.dm | 4 +++- code/modules/chemical/Chemistry-Tools.dm | 6 ++++++ icons/obj/drinks.dmi | Bin 57825 -> 58607 bytes 6 files changed, 32 insertions(+), 6 deletions(-) diff --git a/code/defines/obj/clothing/gloves.dm b/code/defines/obj/clothing/gloves.dm index 55315576777..8de02f5d1ae 100644 --- a/code/defines/obj/clothing/gloves.dm +++ b/code/defines/obj/clothing/gloves.dm @@ -37,6 +37,23 @@ ce color = "chief" //Exists for washing machines. Is not different from black gloves in any way. +/obj/item/clothing/gloves/detective + desc = "Made of well worn leather, these gloves are comfortable, useful, and stylish!" + name = "The Detective's Gloves" + icon_state = "black" + item_state = "bgloves" + color="brown" + siemens_coefficient = 0.30 + protective_temperature = 1100 + +/obj/item/clothing/gloves/hos + desc = "These gloves belong to the man in charge of the guns." + name = "Head of Security's Gloves" + icon_state = "black" + item_state = "bgloves" + color="brown" + siemens_coefficient = 0.30 + protective_temperature = 1100 /obj/item/clothing/gloves/cyborg desc = "beep boop borp" @@ -145,7 +162,6 @@ icon_state = "red" item_state = "redgloves" siemens_coefficient = 0.30 - protective_temperature = 1100 /obj/item/clothing/gloves/rainbow diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 67cd8981d04..619fde8125d 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -9,9 +9,10 @@ /proc/is_convertable_to_cult(datum/mind/mind) if(!istype(mind)) return 0 - for(var/obj/item/weapon/implant/loyalty/L in mind.current) + //This makes security unconvertable. *comments out* +/* for(var/obj/item/weapon/implant/loyalty/L in mind.current) if(L && L.implanted) - return 0 + return 0 */ return 1 diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index f9463337cc6..6f167e5b0aa 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -17,7 +17,7 @@ H.equip_if_possible(new /obj/item/device/pda/heads/hos(H), H.slot_belt) // H.equip_if_possible(new /obj/item/clothing/suit/armor/hos(H), H.slot_wear_suit) //We're Bay12, not Goon. We don't need armor 24/7 - H.equip_if_possible(new /obj/item/clothing/gloves/red(H), H.slot_gloves) + H.equip_if_possible(new /obj/item/clothing/gloves/hos(H), H.slot_gloves) H.equip_if_possible(new /obj/item/clothing/head/helmet/HoS(H), H.slot_head) H.equip_if_possible(new /obj/item/clothing/glasses/sunglasses/sechud(H), H.slot_glasses) H.equip_if_possible(new /obj/item/weapon/handcuffs(H), H.slot_in_backpack) @@ -72,6 +72,7 @@ H.equip_if_possible(new /obj/item/device/radio/headset/headset_sec(H), H.slot_ears) H.equip_if_possible(new /obj/item/weapon/storage/backpack(H), H.slot_back) H.equip_if_possible(new /obj/item/weapon/storage/box/evidence(H.back), H.slot_in_backpack) + H.equip_if_possible(new /obj/item/weapon/reagent_containers/food/drinks/dflask(H.back), H.slot_in_backpack) H.equip_if_possible(new /obj/item/clothing/under/det(H), H.slot_w_uniform) H.equip_if_possible(new /obj/item/clothing/shoes/brown(H), H.slot_shoes) H.equip_if_possible(new /obj/item/device/pda/detective(H), H.slot_belt) @@ -80,7 +81,7 @@ CIG.light("") H.equip_if_possible(CIG, H.slot_wear_mask) */ //Fuck that thing. --SkyMarshal - H.equip_if_possible(new /obj/item/clothing/gloves/black(H), H.slot_gloves) + H.equip_if_possible(new /obj/item/clothing/gloves/detective(H), H.slot_gloves) H.equip_if_possible(new /obj/item/weapon/storage/fcard_kit(H.back), H.slot_in_backpack) H.equip_if_possible(new /obj/item/weapon/fcardholder(H), H.slot_in_backpack) H.equip_if_possible(new /obj/item/clothing/suit/storage/det_suit(H), H.slot_wear_suit) diff --git a/code/game/objects/closets/secure/security.dm b/code/game/objects/closets/secure/security.dm index 9dc558db8ea..70857ef4846 100644 --- a/code/game/objects/closets/secure/security.dm +++ b/code/game/objects/closets/secure/security.dm @@ -53,6 +53,7 @@ new /obj/item/clothing/under/jensen(src) new /obj/item/clothing/suit/armor/hos/jensen(src) new /obj/item/clothing/suit/armor/hos(src) + new /obj/item/clothing/gloves/hos(src) new /obj/item/clothing/head/helmet/HoS/dermal(src) new /obj/item/device/radio/headset/heads/hos(src) new /obj/item/weapon/shield/riot(src) @@ -131,7 +132,7 @@ new /obj/item/clothing/under/det(src) new /obj/item/clothing/suit/det_suit/armor(src) new /obj/item/clothing/suit/storage/det_suit(src) - new /obj/item/clothing/gloves/black(src) + new /obj/item/clothing/gloves/detective(src) new /obj/item/clothing/head/det_hat(src) new /obj/item/clothing/shoes/brown(src) new /obj/item/device/radio/headset/headset_sec(src) @@ -141,6 +142,7 @@ new /obj/item/device/detective_scanner(src) new /obj/item/weapon/pepperspray/small(src) new /obj/item/weapon/storage/box/evidence(src) + new /obj/item/weapon/reagent_containers/food/drinks/dflask(src) return diff --git a/code/modules/chemical/Chemistry-Tools.dm b/code/modules/chemical/Chemistry-Tools.dm index a7c3b224d6a..88231c0d8c0 100644 --- a/code/modules/chemical/Chemistry-Tools.dm +++ b/code/modules/chemical/Chemistry-Tools.dm @@ -2823,6 +2823,12 @@ icon_state = "flask" volume = 60 +/obj/item/weapon/reagent_containers/food/drinks/dflask + name = "Detective's Flask" + desc = "A well used metal flask with the detective's name etched into it." + icon_state = "dflask" + volume = 60 + /obj/item/weapon/reagent_containers/food/drinks/britcup name = "cup" desc = "A cup with the british flag emblazoned on it." diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index 81a3cd47a272827deb7d9693c28d10b930977203..446531d6ff4f5ab6008f5ebaf62918bfd6894e03 100644 GIT binary patch delta 20924 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�p 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 Date: Sun, 25 Dec 2011 10:57:23 -0700 Subject: [PATCH 02/10] Numerous fixes. --- code/WorkInProgress/SkyMarshal/policetape.dm | 164 +++++++++++++++++++ code/defines/obj.dm | 26 ++- code/game/jobs/job/security.dm | 7 +- code/game/machinery/computer/security.dm | 2 +- code/game/objects/closets/secure/security.dm | 2 + code/game/objects/devices/flashlight.dm | 3 +- code/game/objects/devices/taperecorder.dm | 130 ++++++++++++--- code/game/objects/items.dm | 22 +++ code/game/objects/items/weapons/evidence.dm | 7 +- code/game/objects/storage/belt.dm | 4 +- code/game/throwing.dm | 5 +- code/modules/clothing/suits/armor.dm | 4 + icons/policetape.dmi | Bin 0 -> 930 bytes 13 files changed, 339 insertions(+), 37 deletions(-) create mode 100644 code/WorkInProgress/SkyMarshal/policetape.dm create mode 100644 icons/policetape.dmi diff --git a/code/WorkInProgress/SkyMarshal/policetape.dm b/code/WorkInProgress/SkyMarshal/policetape.dm new file mode 100644 index 00000000000..a130670a6e9 --- /dev/null +++ b/code/WorkInProgress/SkyMarshal/policetape.dm @@ -0,0 +1,164 @@ +/obj/item/policetaperoll/attack_self(mob/user as mob) + if(icon_state == "rollstart") + tapestartx = src.loc.x + tapestarty = src.loc.y + tapestartz = src.loc.z + usr << "\blue You place the first end of the police tape." + icon_state = "rollstop" + else + tapeendx = src.loc.x + tapeendy = src.loc.y + tapeendz = src.loc.z + var/tapetest = 0 + if(tapestartx == tapeendx && tapestarty > tapeendy && tapestartz == tapeendz) + for(var/Y=tapestarty,Y>=tapeendy,Y--) + var/turf/T = get_turf(locate(tapestartx,Y,tapestartz)) + if(T.density == 1) + usr << "\blue You can't run police tape through a wall!" + icon_state = "rollstart" + return + for(var/Y=tapestarty,Y>=tapeendy,Y--) + var/turf/T = get_turf(locate(tapestartx,Y,tapestartz)) + for(var/obj/item/policetape/Ptest in T) + if(Ptest.icon_state == "vertical") + tapetest = 1 + if(tapetest != 1) + var/obj/item/policetape/P = new/obj/item/policetape(tapestartx,Y,tapestartz) + P.loc = locate(tapestartx,Y,tapestartz) + P.icon_state = "vertical" + usr << "\blue You finish placing the police tape." //Git Test + + if(tapestartx == tapeendx && tapestarty < tapeendy && tapestartz == tapeendz) + for(var/Y=tapestarty,Y<=tapeendy,Y++) + var/turf/T = get_turf(locate(tapestartx,Y,tapestartz)) + if(T.density == 1) + usr << "\blue You can't run police tape through a wall!" + icon_state = "rollstart" + return + for(var/Y=tapestarty,Y<=tapeendy,Y++) + var/turf/T = get_turf(locate(tapestartx,Y,tapestartz)) + for(var/obj/item/policetape/Ptest in T) + if(Ptest.icon_state == "vertical") + tapetest = 1 + if(tapetest != 1) + var/obj/item/policetape/P = new/obj/item/policetape(tapestartx,Y,tapestartz) + P.loc = locate(tapestartx,Y,tapestartz) + P.icon_state = "vertical" + usr << "\blue You finish placing the police tape." + + if(tapestarty == tapeendy && tapestartx > tapeendx && tapestartz == tapeendz) + for(var/X=tapestartx,X>=tapeendx,X--) + var/turf/T = get_turf(locate(X,tapestarty,tapestartz)) + if(T.density == 1) + usr << "\blue You can't run police tape through a wall!" + icon_state = "rollstart" + return + for(var/X=tapestartx,X>=tapeendx,X--) + var/turf/T = get_turf(locate(X,tapestarty,tapestartz)) + for(var/obj/item/policetape/Ptest in T) + if(Ptest.icon_state == "horizontal") + tapetest = 1 + if(tapetest != 1) + var/obj/item/policetape/P = new/obj/item/policetape(X,tapestarty,tapestartz) + P.loc = locate(X,tapestarty,tapestartz) + P.icon_state = "horizontal" + usr << "\blue You finish placing the police tape." + + if(tapestarty == tapeendy && tapestartx < tapeendx && tapestartz == tapeendz) + for(var/X=tapestartx,X<=tapeendx,X++) + var/turf/T = get_turf(locate(X,tapestarty,tapestartz)) + if(T.density == 1) + usr << "\blue You can't run police tape through a wall!" + icon_state = "rollstart" + return + for(var/X=tapestartx,X<=tapeendx,X++) + var/turf/T = get_turf(locate(X,tapestarty,tapestartz)) + for(var/obj/item/policetape/Ptest in T) + if(Ptest.icon_state == "horizontal") + tapetest = 1 + if(tapetest != 1) + var/obj/item/policetape/P = new/obj/item/policetape(X,tapestarty,tapestartz) + P.loc = locate(X,tapestarty,tapestartz) + P.icon_state = "horizontal" + usr << "\blue You finish placing the police tape." + + if(tapestarty != tapeendy && tapestartx != tapeendx) + usr << "\blue Police tape can only be laid horizontally or vertically." + icon_state = "rollstart" + +/obj/item/policetape/Bumped(M as mob) + if(src.allowed(M)) + var/turf/T = get_turf(src) + M:loc = T + +/obj/item/policetape/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) + if(air_group || (height==0)) return 1 + + if ((mover.flags & 2 || istype(mover, /obj/effect/meteor) || mover.throwing == 1) ) + return 1 + else + return 0 + +/obj/item/policetape/attackby(obj/item/weapon/W as obj, mob/user as mob) + breaktape(W, user) + +/obj/item/policetape/attack_hand(mob/user as mob) + breaktape(null, user) + +/obj/item/policetape/proc/breaktape(obj/item/weapon/W as obj, mob/user as mob) + if(!W || !is_cut(W)) + user << "You can't break the tape with that!" + return + user.show_viewers(text("\blue [] breaks the police tape!", user)) + var/OX = src.x + var/OY = src.y + if(src.icon_state == "horizontal") + var/N = 0 + var/X = OX + 1 + var/turf/T = src.loc + while(N != 1) + N = 1 + T = locate(X,T.y,T.z) + for (var/obj/item/policetape/P in T) + N = 0 + if(P.icon_state == "horizontal") + del(P) + X += 1 + + X = OX - 1 + N = 0 + while(N != 1) + N = 1 + T = locate(X,T.y,T.z) + for (var/obj/item/policetape/P in T) + N = 0 + if(P.icon_state == "horizontal") + del(P) + X -= 1 + + if(src.icon_state == "vertical") + var/N = 0 + var/Y = OY + 1 + var/turf/T = src.loc + while(N != 1) + N = 1 + T = locate(T.x,Y,T.z) + for (var/obj/item/policetape/P in T) + N = 0 + if(P.icon_state == "vertical") + del(P) + Y += 1 + + Y = OY - 1 + N = 0 + while(N != 1) + N = 1 + T = locate(T.x,Y,T.z) + for (var/obj/item/policetape/P in T) + N = 0 + if(P.icon_state == "vertical") + del(P) + Y -= 1 + + del(src) + return diff --git a/code/defines/obj.dm b/code/defines/obj.dm index 0bb5f8dd060..668a0f5fe9f 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -22,6 +22,28 @@ proc/initialize() +/obj/item/policetaperoll + name = "police tape roll" + desc = "A roll of police tape used to block off crime scenes from the public." + icon = 'policetape.dmi' + icon_state = "rollstart" + flags = FPRINT + var/tapestartx = 0 + var/tapestarty = 0 + var/tapestartz = 0 + var/tapeendx = 0 + var/tapeendy = 0 + var/tapeendz = 0 + +/obj/item/policetape + name = "police tape" + desc = "A length of police tape. Do not cross." + icon = 'policetape.dmi' + anchored = 1 + density = 1 + throwpass = 1 + req_access = list(access_security) + /obj/structure/signpost icon = 'stationobjs.dmi' icon_state = "signpost" @@ -436,10 +458,6 @@ var/obj/structure/crematorium/connected = null anchored = 1.0 - - - - /obj/structure/cable level = 1 anchored =1 diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 6f167e5b0aa..72868937048 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -71,9 +71,8 @@ if(!H) return 0 H.equip_if_possible(new /obj/item/device/radio/headset/headset_sec(H), H.slot_ears) H.equip_if_possible(new /obj/item/weapon/storage/backpack(H), H.slot_back) - H.equip_if_possible(new /obj/item/weapon/storage/box/evidence(H.back), H.slot_in_backpack) - H.equip_if_possible(new /obj/item/weapon/reagent_containers/food/drinks/dflask(H.back), H.slot_in_backpack) H.equip_if_possible(new /obj/item/clothing/under/det(H), H.slot_w_uniform) + H.equip_if_possible(new /obj/item/clothing/suit/storage/det_suit(H), H.slot_wear_suit) H.equip_if_possible(new /obj/item/clothing/shoes/brown(H), H.slot_shoes) H.equip_if_possible(new /obj/item/device/pda/detective(H), H.slot_belt) H.equip_if_possible(new /obj/item/clothing/head/det_hat(H), H.slot_head) @@ -82,10 +81,10 @@ H.equip_if_possible(CIG, H.slot_wear_mask) */ //Fuck that thing. --SkyMarshal H.equip_if_possible(new /obj/item/clothing/gloves/detective(H), H.slot_gloves) - H.equip_if_possible(new /obj/item/weapon/storage/fcard_kit(H.back), H.slot_in_backpack) + H.equip_if_possible(new /obj/item/weapon/storage/box/evidence(H.back), H.slot_in_backpack) H.equip_if_possible(new /obj/item/weapon/fcardholder(H), H.slot_in_backpack) - H.equip_if_possible(new /obj/item/clothing/suit/storage/det_suit(H), H.slot_wear_suit) H.equip_if_possible(new /obj/item/device/detective_scanner(H), H.slot_in_backpack) + H.equip_if_possible(new /obj/item/weapon/reagent_containers/food/drinks/dflask(H.back), H.slot_in_backpack) H.equip_if_possible(new /obj/item/weapon/zippo(H), H.slot_l_store) // H.equip_if_possible(new /obj/item/weapon/reagent_containers/food/snacks/candy_corn(H), H.slot_h_store) // No... just no. --SkyMarshal diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 8e2b81390c2..41234657697 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -232,7 +232,7 @@ What a mess.*/ Perp = new/list() t1 = lowertext(t1) for(var/datum/data/record/R in data_core.general) - var/temptext = R.fields["name"] + " " + R.fields["id"] + " " + R.fields["fingerprint"] + var/temptext = R.fields["name"] + " " + R.fields["id"] + " " + R.fields["fingerprint"] + " " + R.fields["b_dna"] if(findtext(temptext,t1)) var/prelist = new/list(2) prelist[1] = R diff --git a/code/game/objects/closets/secure/security.dm b/code/game/objects/closets/secure/security.dm index 70857ef4846..196646b9a31 100644 --- a/code/game/objects/closets/secure/security.dm +++ b/code/game/objects/closets/secure/security.dm @@ -105,6 +105,7 @@ new /obj/item/clothing/gloves/red(src) new /obj/item/device/radio/headset/headset_sec(src) new /obj/item/weapon/storage/belt/security(src) + new /obj/item/policetaperoll(src) new /obj/item/weapon/flashbang(src) new /obj/item/weapon/pepperspray(src) new /obj/item/device/flash(src) @@ -141,6 +142,7 @@ new /obj/item/weapon/clipboard(src) new /obj/item/device/detective_scanner(src) new /obj/item/weapon/pepperspray/small(src) + new /obj/item/policetaperoll(src) new /obj/item/weapon/storage/box/evidence(src) new /obj/item/weapon/reagent_containers/food/drinks/dflask(src) return diff --git a/code/game/objects/devices/flashlight.dm b/code/game/objects/devices/flashlight.dm index 2d723d933ce..922d6dbe129 100644 --- a/code/game/objects/devices/flashlight.dm +++ b/code/game/objects/devices/flashlight.dm @@ -83,6 +83,7 @@ icon_on = "plight1" icon_off = "plight0" brightness_on = 3 + w_class = 1 @@ -90,7 +91,7 @@ if(!ismob(M)) return user << "\red You stab [M] with the pen." - M << "\red You feel a tiny prick!" +// M << "\red You feel a tiny prick!" M.attack_log += text("\[[time_stamp()]\] Has been stabbed with [src.name] by [user.name] ([user.ckey])") user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to stab [M.name] ([M.ckey])") ..() diff --git a/code/game/objects/devices/taperecorder.dm b/code/game/objects/devices/taperecorder.dm index dc9b5b653d8..abb413dea65 100644 --- a/code/game/objects/devices/taperecorder.dm +++ b/code/game/objects/devices/taperecorder.dm @@ -1,5 +1,5 @@ /obj/item/device/taperecorder - desc = "A device that can record up to a minute of dialogue and play it back. It automatically translates the content in playback." + desc = "A device that can record up to an hour of dialogue and play it back. It automatically translates the content in playback." name = "universal recorder" icon_state = "taperecorderidle" item_state = "analyzer" @@ -10,7 +10,9 @@ var/recording = 0.0 var/playing = 0.0 var/timerecorded = 0.0 + var/playsleepseconds = 0.0 var/list/storedinfo = new/list() + var/list/timestamp = new/list() flags = FPRINT | TABLEPASS| CONDUCT throwforce = 2 throw_speed = 4 @@ -19,19 +21,20 @@ /obj/item/device/taperecorder/hear_talk(mob/M as mob, msg) if (recording) var/ending = copytext(msg, length(msg)) + src.timestamp+= src.timerecorded if (M.stuttering) - src.storedinfo += "[M.name] stammers, \"[msg]\"" + src.storedinfo += "\[[time2text(src.timerecorded*10,"mm:ss")]\] [M.name] stammers, \"[msg]\"" return if (M.getBrainLoss() >= 60) - src.storedinfo += "[M.name] gibbers, \"[msg]\"" + src.storedinfo += "\[[time2text(src.timerecorded*10,"mm:ss")]\] [M.name] gibbers, \"[msg]\"" return if (ending == "?") - src.storedinfo += "[M.name] asks, \"[msg]\"" + src.storedinfo += "\[[time2text(src.timerecorded*10,"mm:ss")]\] [M.name] asks, \"[msg]\"" return else if (ending == "!") - src.storedinfo += "[M.name] exclaims, \"[msg]\"" + src.storedinfo += "\[[time2text(src.timerecorded*10,"mm:ss")]\] [M.name] exclaims, \"[msg]\"" return - src.storedinfo += "[M.name] says, \"[msg]\"" + src.storedinfo += "\[[time2text(src.timerecorded*10,"mm:ss")]\] [M.name] says, \"[msg]\"" return /obj/item/device/taperecorder/attackby(obj/item/weapon/W as obj, mob/user as mob) @@ -60,15 +63,18 @@ set name = "Start Recording" set category = "Object" if(usr.stat) - usr << "Not when you're incapicated." + usr << "Not when you're incapacitated." return if(src.emagged == 1) usr << "\red The tape recorder makes a scratchy noise." return src.icon_state = "taperecorderrecording" - if(src.timerecorded < 60 && src.playing == 0) + if(src.timerecorded < 3600 && src.playing == 0) + usr << "\blue Recording started." src.recording = 1 - for(src.timerecorded, src.timerecorded<60) + src.timestamp+= src.timerecorded + src.storedinfo += "\[[time2text(src.timerecorded*10,"mm:ss")]\] Recording started." + for(src.timerecorded, src.timerecorded<3600) if(src.recording == 0) break src.timerecorded++ @@ -80,17 +86,25 @@ usr << "\red Either your tape recorder's memory is full, or it is currently playing back its memory." -/obj/item/device/taperecorder/verb/stop_recording() - set name = "Stop Recording" +/obj/item/device/taperecorder/verb/stop() + set name = "Stop" set category = "Object" if(usr.stat) - usr << "Not when you're incapicated." + usr << "Not when you're incapacitated." return - if (src.recording == 1 || src.playing == 1) + if (src.recording == 1) src.recording = 0 + src.timestamp+= src.timerecorded + src.storedinfo += "\[[time2text(src.timerecorded*10,"mm:ss")]\] Recording stopped." + usr << "\blue Recording stopped." + src.icon_state = "taperecorderidle" + return + else if (src.playing == 1) src.playing = 0 - usr << "\blue Stopped." + var/turf/T = get_turf(src) + for(var/mob/O in hearers(world.view-1, T)) + O.show_message("Tape Recorder: Playback stopped.",2) src.icon_state = "taperecorderidle" return else @@ -113,6 +127,7 @@ return else src.storedinfo -= src.storedinfo + src.timestamp -= src.timestamp src.timerecorded = 0 usr << "\blue Memory cleared." return @@ -133,20 +148,32 @@ return src.playing = 1 src.icon_state = "taperecorderplaying" - for(var/i=1,src.timerecorded<60,sleep(10 * (src.timerecorded/src.storedinfo.len))) + usr << "\blue Playing started." + for(var/i=1,src.timerecorded<3600,sleep(10 * (src.playsleepseconds) )) if (src.playing == 0) break if (src.storedinfo.len < i) break var/turf/T = get_turf(src) for(var/mob/O in hearers(world.view-1, T)) - O.show_message("\green Tape Recorder: \"[src.storedinfo[i]]\"",2) + O.show_message("Tape Recorder: [src.storedinfo[i]]",2) + if (src.storedinfo.len < i+1) + src.playsleepseconds = 1 + sleep(10) + T = get_turf(src) + for(var/mob/O in hearers(world.view-1, T)) + O.show_message("Tape Recorder: End of recording.",2) + else + src.playsleepseconds = src.timestamp[i+1] - src.timestamp[i] + if (src.playsleepseconds > 19) + sleep(10) + T = get_turf(src) + for(var/mob/O in hearers(world.view-1, T)) + O.show_message("Tape Recorder: Skipping [src.playsleepseconds] seconds of silence",2) + src.playsleepseconds = 1 i++ src.icon_state = "taperecorderidle" src.playing = 0 - var/turf/T = get_turf(src) - for(var/mob/O in hearers(world.view-1, T)) - O.show_message("Tape Recorder: End playback.",2) if (src.emagged == 1.0) for(var/mob/O in hearers(world.view-1, get_turf(src))) O.show_message("Tape Recorder: This tape recorder will self destruct in 5",2) @@ -163,4 +190,67 @@ for(var/mob/O in hearers(world.view-1, get_turf(src))) O.show_message("1",2) sleep(10) - src.explode() \ No newline at end of file + src.explode() + + +/obj/item/device/taperecorder/verb/print_transcript() + set name = "Print Transcript" + set category = "Object" + + if (src.recording == 1 || src.playing == 1) + usr << "\red You can't print the transcript while playing or recording!" + return + usr << "\blue Transcript printed." + var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(get_turf(src)) + var/t1 = "Transcript:

" + for(var/i=1,src.storedinfo.len >= i,i++) + t1 += "[src.storedinfo[i]]
" + P.info = t1 + P.name = "paper- 'Transcript'" + + +/obj/item/device/taperecorder/attack_self(mob/user) + if(src.recording == 0 && src.playing == 0) + if(usr.stat) + usr << "Not when you're incapacitated." + return + if(src.emagged == 1) + usr << "\red The tape recorder makes a scratchy noise." + return + src.icon_state = "taperecorderrecording" + if(src.timerecorded < 3600 && src.playing == 0) + usr << "\blue Recording started." + src.recording = 1 + src.timestamp+= src.timerecorded + src.storedinfo += "\[[time2text(src.timerecorded*10,"mm:ss")]\] Recording started." + for(src.timerecorded, src.timerecorded<3600) + if(src.recording == 0) + break + src.timerecorded++ + sleep(10) + src.recording = 0 + src.icon_state = "taperecorderidle" + return + else + usr << "\red Either your tape recorder's memory is full, or it is currently playing back its memory." + else + if(usr.stat) + usr << "Not when you're incapacitated." + return + if (src.recording == 1) + src.recording = 0 + src.timestamp+= src.timerecorded + src.storedinfo += "\[[time2text(src.timerecorded*10,"mm:ss")]\] Recording stopped." + usr << "\blue Recording stopped." + src.icon_state = "taperecorderidle" + return + else if (src.playing == 1) + src.playing = 0 + var/turf/T = get_turf(src) + for(var/mob/O in hearers(world.view-1, T)) + O.show_message("Tape Recorder: Playback stopped.",2) + src.icon_state = "taperecorderidle" + return + else + usr << "\red Stop what?" + return \ No newline at end of file diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 118b89ccd7d..0183dcc26d3 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -466,3 +466,25 @@ istype(W, /obj/item/weapon/reagent_containers/syringe) || \ istype(W, /obj/item/weapon/kitchen/utensil/fork) && W.icon_state != "forkloaded" \ ) + +/proc/is_cut(obj/item/W as obj) + return ( \ + istype(W, /obj/item/weapon/wirecutters) || \ + istype(W, /obj/item/weapon/circular_saw) || \ + istype(W, /obj/item/weapon/melee/energy/sword) && W:active || \ + istype(W, /obj/item/weapon/melee/energy/blade) || \ + istype(W, /obj/item/weapon/shovel) || \ + istype(W, /obj/item/weapon/kitchenknife) || \ + istype(W, /obj/item/weapon/butch) || \ + istype(W, /obj/item/weapon/scalpel) || \ + istype(W, /obj/item/weapon/kitchen/utensil/knife) || \ + istype(W, /obj/item/weapon/shard) \ + ) + +/proc/is_burn(obj/item/W as obj) + return ( \ + istype(W, /obj/item/weapon/weldingtool) && W:welding || \ + istype(W, /obj/item/weapon/zippo) && W:lit || \ + istype(W, /obj/item/weapon/match) && W:lit || \ + istype(W, /obj/item/clothing/mask/cigarette) && W:lit \ + ) \ No newline at end of file diff --git a/code/game/objects/items/weapons/evidence.dm b/code/game/objects/items/weapons/evidence.dm index 1519f563075..aa20e83a851 100644 --- a/code/game/objects/items/weapons/evidence.dm +++ b/code/game/objects/items/weapons/evidence.dm @@ -38,9 +38,10 @@ user << "You take the [I] out of the [src]." I.loc = user.loc src.underlays -= I - icon_state = "evidenceobj" + src.icon_state = "evidenceobj" else user << "The [src] is empty." + src.icon_state = "evidenceobj" /obj/item/weapon/storage/box/evidence name = "evidence bag box" @@ -51,7 +52,7 @@ new /obj/item/weapon/evidencebag(src) new /obj/item/weapon/evidencebag(src) new /obj/item/weapon/evidencebag(src) - new /obj/item/weapon/evidencebag(src) - new /obj/item/weapon/evidencebag(src) + new /obj/item/weapon/f_card(src) + new /obj/item/weapon/f_card(src) ..() return \ No newline at end of file diff --git a/code/game/objects/storage/belt.dm b/code/game/objects/storage/belt.dm index 5a51aa630df..7fb560776fc 100644 --- a/code/game/objects/storage/belt.dm +++ b/code/game/objects/storage/belt.dm @@ -116,7 +116,6 @@ "/obj/item/ammo_magazine", "/obj/item/weapon/reagent_containers/food/snacks/donut", "/obj/item/weapon/reagent_containers/food/snacks/jellydonut", - "/obj/item/device/radio", "/obj/item/device/detective_scanner", "/obj/item/device/pda", @@ -131,5 +130,6 @@ "/obj/item/weapon/camera_test", "/obj/item/weapon/cigpacket", "/obj/item/weapon/zippo", - "/obj/item/device/taperecorder" + "/obj/item/device/taperecorder", + "/obj/item/weapon/evidencebag" ) \ No newline at end of file diff --git a/code/game/throwing.dm b/code/game/throwing.dm index 12e7696f912..2311cd69b32 100644 --- a/code/game/throwing.dm +++ b/code/game/throwing.dm @@ -96,11 +96,12 @@ src.throw_impact(A) src.throwing = 0 if(isobj(A)) - if(A.density) // **TODO: Better behaviour for windows - // which are dense, but shouldn't always stop movement + if(A.density && !A.throwpass) // **TODO: Better behaviour for windows + // which are dense, but shouldn't always stop movement src.throw_impact(A) src.throwing = 0 +/atom/var/throwpass = 0 /atom/proc/throw_impact(atom/hit_atom) if(istype(hit_atom,/mob/living)) var/mob/living/M = hit_atom diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 59b311bfa84..83a8e37890a 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -62,6 +62,8 @@ item_state = "gearharness" body_parts_covered = UPPER_TORSO|LOWER_TORSO flags = FPRINT | TABLEPASS | ONESIZEFITSALL + allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/pepperspray,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs) + /obj/item/clothing/suit/storage/armourrigvest name = "armour rig vest" @@ -70,6 +72,8 @@ item_state = "armourrigvest" body_parts_covered = UPPER_TORSO|LOWER_TORSO flags = FPRINT | TABLEPASS | ONESIZEFITSALL + allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/pepperspray,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs) + armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) diff --git a/icons/policetape.dmi b/icons/policetape.dmi new file mode 100644 index 0000000000000000000000000000000000000000..f2736418da4b4b8128f841c322b5f37a0990f259 GIT binary patch literal 930 zcmV;T16}-yP)V=-0C=2@&Akf3Fcih{Irk|J?Jj<;StLa=wC@mXG#6qcHHtcz{0m)F`U4jj>~^;k)C&g@E+w#{#P-tu;u) zICf^50B$!s#^YhoYU{nucyL#p!Q)S()z-1=9$ST}fe$+PG+LqHe9w=4V=2l5FaqwX zGt`P4{G9JvDflITT7L~Li}P@h24@aK9-z9%7bBy!+B!~sZc|CnXsu8gzURlTaSECuKy{s=mW{c7?=zbT0kq~8 zrE+*cGX%sap2OlCZ$Aq(l>=&^nGo25oc#%6LcrIb0Fd4$BZ2_l6GTB5ZBs}PlLJci zCp7N?G5rYuZchLRd&B8^g{n)}J^{D%C-{06e9t)Vd6mq8W$~Y1>rX)78YS%*AIHuh z3D}>oM#7mdb#eEKS$_}xX3b>*0EQuae;4N2zbH#dz?K~s2_ox&Sj6Ol)Ax7X9Iz~L zIRM}}>+}8uSFFeMCpDb}0o)`Y_RRl?=BGh`^+G5|e}V`C0RH};5Mu9&wHN{b%JdwH zBA^7sybF}VK|pN*YU3cFwg9zp5Kvoy+BgWPEkJGj0P0B9D#{!XaR2}S07*qoM6N<$ Ef+%60Q2+n{ literal 0 HcmV?d00001 From 2d36f81e9b860f4dee1d1d24988f02185c8b23cd Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Sun, 25 Dec 2011 11:07:19 -0700 Subject: [PATCH 03/10] Herp derp. --- baystation12.dme | 2 ++ 1 file changed, 2 insertions(+) diff --git a/baystation12.dme b/baystation12.dme index 38710d30f7c..3b1b41b84db 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -141,6 +141,7 @@ #define FILE_DIR "code/WorkInProgress/mapload" #define FILE_DIR "code/WorkInProgress/Mini" #define FILE_DIR "code/WorkInProgress/organs" +#define FILE_DIR "code/WorkInProgress/SkyMarshal" #define FILE_DIR "code/WorkInProgress/virus2" #define FILE_DIR "code/WorkInProgress/virus2/Disease2" #define FILE_DIR "html" @@ -981,6 +982,7 @@ #include "code\WorkInProgress\mapload\dmm_suite.dm" #include "code\WorkInProgress\mapload\reader.dm" #include "code\WorkInProgress\Mini\customitems.dm" +#include "code\WorkInProgress\SkyMarshal\policetape.dm" #include "code\WorkInProgress\virus2\Prob.dm" #include "code\WorkInProgress\virus2\Disease2\analyser.dm" #include "code\WorkInProgress\virus2\Disease2\base.dm" From 0297084fc2d950e75c2f381152f4bdb1ee037e9f Mon Sep 17 00:00:00 2001 From: Albert Iordache Date: Sun, 25 Dec 2011 21:30:35 +0200 Subject: [PATCH 04/10] Fixed runtime error preventing the player panel from opening --- code/modules/admin/admin.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 035365e2717..865e2ee9582 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -1880,7 +1880,7 @@ if(istype(M, /mob/living/carbon/alien)) dat += "Alien" - if(M.mind && M.mind.assigned_role) // Adds a column to Player Panel that shows their current job. + if(M.mind && M.mind.assigned_role && istype(M, /mob/living/carbon/human)) // Adds a column to Player Panel that shows their current job. var/mob/living/carbon/human/H = M if (H.wear_id) var/obj/item/weapon/card/id/id = H.wear_id From 8ee8875e8026af2dc1d4a86e8bc9e41a85775cb9 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Sun, 25 Dec 2011 12:37:20 -0700 Subject: [PATCH 05/10] Fixed some bugginess with evidence bags. --- code/WorkInProgress/detective_work.dm | 1 + code/game/objects/items/weapons/evidence.dm | 3 +++ 2 files changed, 4 insertions(+) diff --git a/code/WorkInProgress/detective_work.dm b/code/WorkInProgress/detective_work.dm index 673c81bbb78..6a6023950e8 100644 --- a/code/WorkInProgress/detective_work.dm +++ b/code/WorkInProgress/detective_work.dm @@ -136,6 +136,7 @@ obj/machinery/computer/forensic_scanning scanning = I.contents[1] scanning.loc = src I.underlays -= scanning + I.icon_state = "evidenceobj" else scanning = I M.drop_item() diff --git a/code/game/objects/items/weapons/evidence.dm b/code/game/objects/items/weapons/evidence.dm index aa20e83a851..1d7f5cc69ef 100644 --- a/code/game/objects/items/weapons/evidence.dm +++ b/code/game/objects/items/weapons/evidence.dm @@ -23,6 +23,9 @@ if(!(O && istype(O)) || O.anchored == 1) user << "You can't put that inside the [src]!" return ..() + if(O in user) + user << "You are wearing that." + return if(src.contents.len > 0) user << "The [src] already has something inside it." return ..() From 77d28802fe21d19f7fd25af1a6ffa83ea048f15e Mon Sep 17 00:00:00 2001 From: Albert Iordache Date: Mon, 26 Dec 2011 01:07:30 +0200 Subject: [PATCH 06/10] Fixed another bug related to the player panel --- code/modules/admin/admin.dm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 865e2ee9582..8e2e12f247a 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -1882,14 +1882,24 @@ if(M.mind && M.mind.assigned_role && istype(M, /mob/living/carbon/human)) // Adds a column to Player Panel that shows their current job. var/mob/living/carbon/human/H = M + if (H.wear_id) - var/obj/item/weapon/card/id/id = H.wear_id + var/obj/item/weapon/card/id/id + + if(istype(H.wear_id, /obj/item/weapon/card/id)) + id = H.wear_id // The ID is on the ID slot + else if(istype(H.wear_id, /obj/item/device/pda)) + var/obj/item/device/pda/PDA = H.wear_id + id = PDA.id // The ID is contained inside the PDA + if(M.mind.assigned_role == id.assignment) // Polymorph dat += "[M.mind.assigned_role]" else dat += "[M.mind.assigned_role] ([id.assignment])" + else dat += "[M.mind.assigned_role] (No ID)" + else dat += "No Assigned Role" From de67b05dcee4bf5d262d1ae706ee1e7f5fd33c12 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Mon, 26 Dec 2011 00:03:05 -0700 Subject: [PATCH 07/10] More updates. The evidence bags are kinda borked. --- code/WorkInProgress/SkyMarshal/coatrack.dm | 96 ++++++++++++++++++++ code/WorkInProgress/detective_work.dm | 2 +- code/defines/obj/machinery.dm | 10 ++ code/game/machinery/computer/security.dm | 2 +- code/game/objects/items/weapons/evidence.dm | 21 ++++- code/modules/power/lighting.dm | 2 +- icons/obj/clothing/hats.dmi | Bin 24736 -> 24592 bytes icons/obj/coatrack.dmi | Bin 0 -> 529 bytes 8 files changed, 128 insertions(+), 5 deletions(-) create mode 100644 code/WorkInProgress/SkyMarshal/coatrack.dm create mode 100644 icons/obj/coatrack.dmi diff --git a/code/WorkInProgress/SkyMarshal/coatrack.dm b/code/WorkInProgress/SkyMarshal/coatrack.dm new file mode 100644 index 00000000000..b0fa8dfc211 --- /dev/null +++ b/code/WorkInProgress/SkyMarshal/coatrack.dm @@ -0,0 +1,96 @@ +/obj/machinery/coatrack/attack_hand(mob/user as mob) + switch(alert("What do you want from the coatrack?",,"Coat","Hat")) + if("Coat") + if(coat) + if(!user.get_active_hand()) + user.put_in_hand(coat) + else + coat.loc = get_turf(user) + coat = null + if(!hat) + icon_state = "coatrack0" + else + icon_state = "coatrack1" + return + else + user << "\blue There is no coat to take!" + return + if("Hat") + if(hat) + if(!user.get_active_hand()) + user.put_in_hand(hat) + else + hat.loc = get_turf(user) + hat = null + if(!coat) + icon_state = "coatrack0" + else + icon_state = "coatrack2" + return + else + user << "\blue There is no hat to take!" + return + user << "Something went wrong." + return + +/obj/machinery/coatrack/attackby(obj/item/weapon/W as obj, mob/user as mob) + var/obj/item/I = user.equipped() + if ( istype(I,/obj/item/clothing/head/det_hat) && !hat) + user.drop_item() + I.loc = src + hat = I + if(!coat) + icon_state = "coatrack1" + else + icon_state = "coatrack3" + for(var/mob/M in viewers(src, null)) + if(M.client) + M.show_message(text("\blue [user] puts his hat onto the rack."), 2) + return + if ( istype(I,/obj/item/clothing/suit/storage/det_suit) && !coat) + user.drop_item() + I.loc = src + coat = I + if(!hat) + icon_state = "coatrack2" + else + icon_state = "coatrack3" + for(var/mob/M in viewers(src, null)) + if(M.client) + M.show_message(text("\blue [user] puts his coat onto the rack."), 2) + return + if ( istype(I,/obj/item/clothing/head/det_hat) && hat) + user << "There's already a hat on the rack!" + return ..() + if ( istype(I,/obj/item/clothing/suit/storage/det_suit) && coat) + user << "There's already a coat on the rack!" + return ..() + user << "The coatrack wants none of what you offer." + return ..() + + +/obj/machinery/coatrack/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) + if ( istype(mover,/obj/item/clothing/head/det_hat) && !hat) + mover.loc = src + hat = mover + if(!coat) + icon_state = "coatrack1" + else + icon_state = "coatrack3" + for(var/mob/M in viewers(src, null)) + if(M.client) + M.show_message(text("\blue The hat lands perfectly atop its hanger!"), 2) + return 0 + if ( istype(mover,/obj/item/clothing/suit/storage/det_suit) && !coat) + mover.loc = src + coat = mover + if(!hat) + icon_state = "coatrack2" + else + icon_state = "coatrack3" + for(var/mob/M in viewers(src, null)) + if(M.client) + M.show_message(text("\blue The coat lands perfectly atop its hanger!"), 2) + return 0 + else + return 0 \ No newline at end of file diff --git a/code/WorkInProgress/detective_work.dm b/code/WorkInProgress/detective_work.dm index 6a6023950e8..9b2d62cb00e 100644 --- a/code/WorkInProgress/detective_work.dm +++ b/code/WorkInProgress/detective_work.dm @@ -135,7 +135,7 @@ obj/machinery/computer/forensic_scanning if(istype(I, /obj/item/weapon/evidencebag)) scanning = I.contents[1] scanning.loc = src - I.underlays -= scanning + I.underlays = null I.icon_state = "evidenceobj" else scanning = I diff --git a/code/defines/obj/machinery.dm b/code/defines/obj/machinery.dm index 15dbf0a4ab4..98e7a3efdeb 100644 --- a/code/defines/obj/machinery.dm +++ b/code/defines/obj/machinery.dm @@ -451,3 +451,13 @@ h_r = 245.0 h_g = 245.0 h_b = 245.0 + +/obj/machinery/coatrack + name = "coatrack" + desc = "A fancy stand for the Detective's coat and hat." + icon_state = "coatrack0" + icon = 'coatrack.dmi' + density = 1 + anchored = 1.0 + var/obj/item/clothing/suit/storage/det_suit/coat + var/obj/item/clothing/head/det_hat/hat \ No newline at end of file diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 41234657697..8e2b81390c2 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -232,7 +232,7 @@ What a mess.*/ Perp = new/list() t1 = lowertext(t1) for(var/datum/data/record/R in data_core.general) - var/temptext = R.fields["name"] + " " + R.fields["id"] + " " + R.fields["fingerprint"] + " " + R.fields["b_dna"] + var/temptext = R.fields["name"] + " " + R.fields["id"] + " " + R.fields["fingerprint"] if(findtext(temptext,t1)) var/prelist = new/list(2) prelist[1] = R diff --git a/code/game/objects/items/weapons/evidence.dm b/code/game/objects/items/weapons/evidence.dm index 1d7f5cc69ef..b9e9026dbc0 100644 --- a/code/game/objects/items/weapons/evidence.dm +++ b/code/game/objects/items/weapons/evidence.dm @@ -8,6 +8,7 @@ desc = "An empty evidence bag." icon = 'storage.dmi' icon_state = "evidenceobj" + w_class = 1 /* buggy and stuff /obj/item/weapon/evidencebag/attackby(obj/item/weapon/O, mob/user as mob) @@ -29,11 +30,24 @@ if(src.contents.len > 0) user << "The [src] already has something inside it." return ..() + if(istype(O.loc, /obj/item/weapon/storage)) + user << "This is broke as hell." + return +/* var/obj/item/weapon/storage/U = O.loc + w_class = O.w_class + for(var/i, i < U.contents.len, i++) + if(O in U.contents[i]) + U.contents[i] = null + O.loc = src + continue*/ user << "You put the [O] inside the [src]." - O.loc = src icon_state = "evidence" src.underlays += O desc = "An evidence bag containing \a [O]. [O.desc]" + else + O.loc = src + return + /obj/item/weapon/evidencebag/attack_self(mob/user as mob) if (src.contents.len > 0) @@ -41,10 +55,13 @@ user << "You take the [I] out of the [src]." I.loc = user.loc src.underlays -= I + w_class = 1 src.icon_state = "evidenceobj" + desc = "An empty evidence bag." else - user << "The [src] is empty." + user << "[src] is empty." src.icon_state = "evidenceobj" + return /obj/item/weapon/storage/box/evidence name = "evidence bag box" diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 7c24acb92c4..c31eb236599 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -58,7 +58,7 @@ icon_state = "lamp1" base_state = "lamp" fitting = "bulb" - brightness = 5 + brightness = 7 desc = "A desk lamp" light_type = /obj/item/weapon/light/bulb var/switchon = 0 // independent switching for lamps - not controlled by area lightswitch diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 74e10dfad4f0726d1545d64bce51627e1eb46220..3fd78d2ee5367d4494cc2de8ea8390fc298fe12c 100644 GIT binary patch literal 24592 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 literal 24736 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 diff --git a/icons/obj/coatrack.dmi b/icons/obj/coatrack.dmi new file mode 100644 index 0000000000000000000000000000000000000000..96c1171d82e869ced42157f712dead7e1be6ae3e GIT binary patch literal 529 zcmV+s0`C2ZP)d00001bW%=J06^y0W&i*H zd3sb>bVOxyV{&P5bZKvH004NLQ&w^Q^>YDx3;^IzKg(;>R&xLV0TxL_K~zYI?UYRpf-n$9r^?QaV?01h zyaB|xG(k^*p1`>04sP7*#+^sCKT2mH86+4J6T9M-*O|1G58y*XO=W&V(3G-_v-OoG zYsQ;`v0Jb7C{E=!jXoa;gU^S>b^R*f^C7Y?VbXaNd_K&X zVDllC4EexYxLwpM!mpR`3f)3AsY`}@n6z5lnZVD1pX5`3zCwKd=feQu*Yn{46az(5 T-|kGb00000NkvXXu0mjfa5dlm literal 0 HcmV?d00001 From 02b456d26e07a3e6e5c796dfe41cd7c25b444743 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Mon, 26 Dec 2011 00:06:44 -0700 Subject: [PATCH 08/10] Evidence bags now work for things outside of storage containers. --- code/game/objects/items/weapons/evidence.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/weapons/evidence.dm b/code/game/objects/items/weapons/evidence.dm index b9e9026dbc0..0dd4243b75d 100644 --- a/code/game/objects/items/weapons/evidence.dm +++ b/code/game/objects/items/weapons/evidence.dm @@ -44,8 +44,8 @@ icon_state = "evidence" src.underlays += O desc = "An evidence bag containing \a [O]. [O.desc]" - else - O.loc = src + O.loc = src + w_class = O.w_class return From 646665bf27ad1587f1516da8ea52a61e929e13d0 Mon Sep 17 00:00:00 2001 From: Albert Iordache Date: Mon, 26 Dec 2011 10:52:38 +0200 Subject: [PATCH 09/10] Fixed engineering SMES wiring, made player panel wider. --- code/modules/admin/admin.dm | 2 +- maps/tgstation.2.0.8.dmm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 8e2e12f247a..b2efa177b5a 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -1968,7 +1968,7 @@ dat += "" - usr << browse(dat, "window=players;size=540x480") + usr << browse(dat, "window=players;size=905x480") /obj/admins/proc/Jobbans() diff --git a/maps/tgstation.2.0.8.dmm b/maps/tgstation.2.0.8.dmm index 35f9273a646..a98b728112d 100644 --- a/maps/tgstation.2.0.8.dmm +++ b/maps/tgstation.2.0.8.dmm @@ -5356,7 +5356,7 @@ "bYZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/machinery/computer/security/telescreen{dir = 8; layer = 4; name = "Singularity Engine Telescreen"; network = "Singularity"; pixel_x = 0; pixel_y = -30},/obj/machinery/hologram/holopad,/turf/simulated/floor/plating,/area/engine/engineering) "bZa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/turf/simulated/floor/plating,/area/engine/engineering) "bZb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/turf/simulated/floor/plating,/area/engine/engineering) -"bZc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/turf/simulated/floor/plating,/area/engine/particle_accelerator) +"bZc" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/engine/particle_accelerator) "bZd" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = "90Curve"},/turf/simulated/floor/plating,/area/engine/particle_accelerator) "bZe" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area) "bZf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) From 4a8c5e9478d3ee0d300c66fb0912d4d042389da1 Mon Sep 17 00:00:00 2001 From: Albert Iordache Date: Mon, 26 Dec 2011 17:37:04 +0200 Subject: [PATCH 10/10] Fixed a minor spelling mistake. --- code/WorkInProgress/SkyMarshal/coatrack.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/WorkInProgress/SkyMarshal/coatrack.dm b/code/WorkInProgress/SkyMarshal/coatrack.dm index b0fa8dfc211..0807dce7448 100644 --- a/code/WorkInProgress/SkyMarshal/coatrack.dm +++ b/code/WorkInProgress/SkyMarshal/coatrack.dm @@ -1,5 +1,5 @@ /obj/machinery/coatrack/attack_hand(mob/user as mob) - switch(alert("What do you want from the coatrack?",,"Coat","Hat")) + switch(alert("What do you want from the coat rack?",,"Coat","Hat")) if("Coat") if(coat) if(!user.get_active_hand())