diff --git a/code/WorkInProgress/Sigyn/Softcurity/jobs.dm b/code/WorkInProgress/Sigyn/Softcurity/jobs.dm index 31012173420..7ef0b8ccddb 100644 --- a/code/WorkInProgress/Sigyn/Softcurity/jobs.dm +++ b/code/WorkInProgress/Sigyn/Softcurity/jobs.dm @@ -49,7 +49,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/warden(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses) - H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store) + H.equip_to_slot_or_del(new /obj/item/device/flash/handheld(H), slot_l_store) 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) var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H) @@ -115,7 +115,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/device/pda/security(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_r_store) - H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store) + H.equip_to_slot_or_del(new /obj/item/device/flash/handheld(H), slot_l_store) 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) var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H) diff --git a/code/WorkInProgress/Sigyn/Softcurity/secure_closet.dm b/code/WorkInProgress/Sigyn/Softcurity/secure_closet.dm index 3631930e596..49ae813fab0 100644 --- a/code/WorkInProgress/Sigyn/Softcurity/secure_closet.dm +++ b/code/WorkInProgress/Sigyn/Softcurity/secure_closet.dm @@ -49,7 +49,7 @@ new /obj/item/clothing/shoes/brown(src) new /obj/item/weapon/storage/id_kit(src) new /obj/item/weapon/storage/id_kit( src ) - new /obj/item/device/flash(src) + new /obj/item/device/flash/handheld(src) new /obj/item/clothing/glasses/sunglasses(src) return @@ -73,7 +73,7 @@ new /obj/item/weapon/storage/lockbox/loyalty(src) new /obj/item/weapon/storage/flashbang_kit(src) new /obj/item/weapon/storage/belt/security(src) - new /obj/item/device/flash(src) + new /obj/item/device/flash/handheld(src) new /obj/item/weapon/melee/baton(src) new /obj/item/weapon/gun/energy/taser(src) new /obj/item/weapon/reagent_containers/spray/pepper(src) @@ -122,7 +122,7 @@ new /obj/item/weapon/storage/backpack/satchel_sec(src) new /obj/item/device/radio/headset/headset_sec(src) new /obj/item/weapon/storage/belt/security(src) - new /obj/item/device/flash(src) + new /obj/item/device/flash/handheld(src) new /obj/item/weapon/reagent_containers/spray/pepper(src) new /obj/item/weapon/reagent_containers/spray/pepper(src) new /obj/item/clothing/glasses/sunglasses(src) diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 5aa5448c8c3..613b07e545c 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -84,7 +84,7 @@ Warden H.equip_to_slot_or_del(new /obj/item/clothing/head/warden(H), slot_head) H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) H.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/security/sunglasses(H), slot_glasses) - H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store) + H.equip_to_slot_or_del(new /obj/item/device/flash/handheld(H), slot_l_store) if(H.backbag == 1) H.equip_to_slot_or_del(new /obj/item/weapon/restraints/handcuffs(H), slot_l_hand) @@ -175,7 +175,7 @@ Security Officer H.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/head/helmet(H), slot_head) H.equip_to_slot_or_del(new /obj/item/weapon/restraints/handcuffs(H), slot_s_store) - H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store) + H.equip_to_slot_or_del(new /obj/item/device/flash/handheld(H), slot_l_store) if(H.backbag == 1) H.equip_to_slot_or_del(new /obj/item/weapon/restraints/handcuffs(H), slot_r_store) diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index 72e0126433d..e37f2cae4ed 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -46,7 +46,7 @@ bulb = null power_change() - else if (istype(W, /obj/item/device/flash)) + else if (istype(W, /obj/item/device/flash/handheld)) if (!bulb) user.visible_message("[user] installs [W] into [src].", "You install [W] into [src].") user.drop_item() @@ -174,4 +174,4 @@ icon_state = "launcherbtt" active = 0 - return \ No newline at end of file + return diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index 1c41c285f3e..48de883c68c 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -23,15 +23,15 @@ return 1 -/obj/item/device/flash/proc/burn_out(var/mob/user) //Made so you can override it if you want to have an invincible flash from R&D or something. +/obj/item/device/flash/proc/burn_out() //Made so you can override it if you want to have an invincible flash from R&D or something. broken = 1 icon_state = "[initial(icon_state)]burnt" - user.visible_message("The [src.name] burns out!") + visible_message("The [src.name] burns out!") /obj/item/device/flash/proc/flash_recharge(var/mob/user) if(prob(times_used * 2)) //if you use it 5 times in a minute it has a 10% chance to break! - burn_out(user) + burn_out() return 0 var/deciseconds_passed = world.time - last_used @@ -156,4 +156,6 @@ name = "memorizer" desc = "If you see this, you're not likely to remember it any time soon." icon_state = "memorizer" - item_state = "nullrod" \ No newline at end of file + item_state = "nullrod" + +/obj/item/device/flash/handheld //this is now the regular pocket flashes \ No newline at end of file diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index c765eff2eb3..26b79a0988c 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -20,6 +20,13 @@ keyslot1 = new /obj/item/device/encryptionkey/ recalculateChannels() +/obj/item/device/radio/headset/Destroy() + qdel(keyslot1) + qdel(keyslot2) + keyslot1 = null + keyslot2 = null + ..() + /obj/item/device/radio/headset/talk_into(mob/living/M as mob, message, channel) if (!listening) return diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index e41c84f971f..60b7a1d6c8e 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -50,7 +50,10 @@ initialize() /obj/item/device/radio/Destroy() - remove_radio_all(src) //Just to be sure. + qdel(wires) + wires = null + remove_radio_all(src) //Just to be sure + ..() /obj/item/device/radio/MouseDrop(obj/over_object as obj, src_location, over_location) var/mob/M = usr @@ -218,7 +221,7 @@ the signal gets processed and logged, and an audible transmission gets sent to each individual headset. */ - + /* be prepared to disregard any comments in all of tcomms code. i tried my best to keep them somewhat up-to-date, but eh */ diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 3deee5d8cdc..e2ff15d79ef 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -331,8 +331,8 @@ /obj/item/robot_parts/head/attackby(obj/item/W as obj, mob/user as mob) ..() - if(istype(W, /obj/item/device/flash)) - var/obj/item/device/flash/F = W + if(istype(W, /obj/item/device/flash/handheld)) + var/obj/item/device/flash/handheld/F = W if(src.flash1 && src.flash2) user << "You have already inserted the eyes!" return diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index f17a2d7d7c7..6e7efa8bf50 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -112,7 +112,7 @@ /obj/item/weapon/grenade/flashbang, /obj/item/weapon/reagent_containers/spray/pepper, /obj/item/weapon/restraints/handcuffs, - /obj/item/device/flash, + /obj/item/device/flash/handheld, /obj/item/clothing/glasses, /obj/item/ammo_casing/shotgun, /obj/item/ammo_box, diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 8f9d3250b30..f47d382fe15 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -183,12 +183,12 @@ /obj/item/weapon/storage/box/flashes/New() ..() - new /obj/item/device/flash(src) - new /obj/item/device/flash(src) - new /obj/item/device/flash(src) - new /obj/item/device/flash(src) - new /obj/item/device/flash(src) - new /obj/item/device/flash(src) + new /obj/item/device/flash/handheld(src) + new /obj/item/device/flash/handheld(src) + new /obj/item/device/flash/handheld(src) + new /obj/item/device/flash/handheld(src) + new /obj/item/device/flash/handheld(src) + new /obj/item/device/flash/handheld(src) /obj/item/weapon/storage/box/teargas name = "box of tear gas grenades (WARNING)" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index f0163f1279f..13e18c8e65b 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -30,7 +30,7 @@ new /obj/item/weapon/airlock_painter(src) new /obj/item/clothing/mask/gas(src) new /obj/item/device/multitool(src) - new /obj/item/device/flash(src) + new /obj/item/device/flash/handheld(src) return /obj/structure/closet/secure_closet/engineering_electrical diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index 896b0408417..5bf51ea6e1e 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -120,7 +120,7 @@ new /obj/item/clothing/shoes/sneakers/brown (src) new /obj/item/device/radio/headset/heads/cmo(src) new /obj/item/weapon/storage/belt/medical(src) - new /obj/item/device/flash(src) + new /obj/item/device/flash/handheld(src) new /obj/item/weapon/reagent_containers/hypospray/CMO(src) return diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm index 9b0cef34c99..40a861b0c4b 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm @@ -46,7 +46,7 @@ new /obj/item/weapon/tank/air(src) new /obj/item/clothing/mask/gas(src) new /obj/item/clothing/suit/armor/reactive(src) - new /obj/item/device/flash(src) + new /obj/item/device/flash/handheld(src) new /obj/item/device/laser_pointer(src) new /obj/item/clothing/under/rank/research_director/alt(src) return diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index c65fcfa194e..98dc42df1f0 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -49,7 +49,7 @@ new /obj/item/weapon/storage/box/ids(src) new /obj/item/clothing/suit/armor/vest(src) new /obj/item/weapon/gun/energy/gun(src) - new /obj/item/device/flash(src) + new /obj/item/device/flash/handheld(src) new /obj/item/clothing/glasses/sunglasses(src) new /obj/item/weapon/mining_voucher(src) return @@ -79,7 +79,7 @@ new /obj/item/weapon/shield/riot/tele(src) new /obj/item/clothing/mask/gas/sechailer/hos(src) new /obj/item/weapon/storage/box/flashbangs(src) - new /obj/item/device/flash(src) + new /obj/item/device/flash/handheld(src) new /obj/item/weapon/melee/baton/loaded(src) new /obj/item/weapon/gun/energy/gun(src) new /obj/item/weapon/storage/belt/security(src) @@ -134,7 +134,7 @@ new /obj/item/clothing/head/helmet(src) new /obj/item/device/radio/headset/headset_sec/alt(src) new /obj/item/clothing/mask/gas/sechailer(src) - new /obj/item/device/flash(src) + new /obj/item/device/flash/handheld(src) new /obj/item/weapon/reagent_containers/spray/pepper(src) new /obj/item/weapon/grenade/flashbang(src) new /obj/item/weapon/gun/energy/taser(src) diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index fbacb60a169..3fe024e44e8 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -20,7 +20,7 @@ item_state = "bio_suit" body_parts_covered = CHEST|GROIN|LEGS|ARMS flags_inv = HIDEJUMPSUIT - allowed = list(/obj/item/weapon/disk, /obj/item/weapon/stamp, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/weapon/melee, /obj/item/weapon/storage/lockbox/medal, /obj/item/device/flash, /obj/item/weapon/storage/box/matches, /obj/item/weapon/lighter, /obj/item/clothing/mask/cigarette, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/tank/emergency_oxygen) + allowed = list(/obj/item/weapon/disk, /obj/item/weapon/stamp, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/weapon/melee, /obj/item/weapon/storage/lockbox/medal, /obj/item/device/flash/handheld, /obj/item/weapon/storage/box/matches, /obj/item/weapon/lighter, /obj/item/clothing/mask/cigarette, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/tank/emergency_oxygen) //Chaplain /obj/item/clothing/suit/chaplain_hoodie diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index 1b1da0d3f34..0fa1779d52f 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -1,19 +1,27 @@ /obj/item/clothing/under/color - desc = "A standard issue colored jumpsuit for assistants. Variety is the spice of life!" + desc = "A standard issue colored jumpsuit. Variety is the spice of life!" /obj/item/clothing/under/color/random/New() - var/obj/item/clothing/under/color/C = pick(typesof(/obj/item/clothing/under/color) - /obj/item/clothing/under/color/random) + var/list/excluded = list(/obj/item/clothing/under/color/random, /obj/item/clothing/under/color) + var/obj/item/clothing/under/color/C = pick(typesof(/obj/item/clothing/under/color) - excluded) name = initial(C.name) icon_state = initial(C.icon_state) item_state = initial(C.item_state) item_color = initial(C.item_color) + /obj/item/clothing/under/color/black name = "black jumpsuit" icon_state = "black" item_state = "bl_suit" item_color = "black" +/obj/item/clothing/under/color/grey + name = "grey jumpsuit" + icon_state = "grey" + item_state = "gy_suit" + item_color = "grey" + /obj/item/clothing/under/color/blue name = "blue jumpsuit" icon_state = "blue" @@ -26,12 +34,6 @@ item_state = "g_suit" item_color = "green" -/obj/item/clothing/under/color/grey - name = "grey jumpsuit" - icon_state = "grey" - item_state = "gy_suit" - item_color = "grey" - /obj/item/clothing/under/color/orange name = "orange jumpsuit" desc = "Don't wear this near paranoid security officers." diff --git a/code/modules/mob/living/simple_animal/friendly/drone.dm b/code/modules/mob/living/simple_animal/friendly/drone.dm index a1ac622b9aa..7883cb6fe8d 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone.dm @@ -494,6 +494,10 @@ else mode() +/mob/living/simple_animal/drone/assess_threat() //Secbots won't hunt maintenance drones. + return -10 + + #undef HANDS_LAYER #undef HEAD_LAYER #undef TOTAL_LAYERS diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index c2e2ebf5e6a..8d9fabe0630 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -52,7 +52,7 @@ datum/design/synthetic_flash build_type = MECHFAB materials = list("$metal" = 750, "$glass" = 750) reliability = 76 - build_path = /obj/item/device/flash/ + build_path = /obj/item/device/flash/handheld category = "Misc" datum/design/bluespacebeaker diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 36882e647f3..5f0013f1400 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/underwear.dmi b/icons/mob/underwear.dmi index 18f7783d003..6a16f7002c2 100644 Binary files a/icons/mob/underwear.dmi and b/icons/mob/underwear.dmi differ diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index 3e606143549..e3f0c9630c1 100644 Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 5a2d9dcac64..bc49b0c5372 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index b6789863ebc..ff07bda85f6 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/icons/turf/walls.dmi b/icons/turf/walls.dmi index 6d65684a300..b4a89332495 100644 Binary files a/icons/turf/walls.dmi and b/icons/turf/walls.dmi differ