diff --git a/.gitignore b/.gitignore index 03c121e080..b563ac3f98 100644 --- a/.gitignore +++ b/.gitignore @@ -181,3 +181,5 @@ Temporary Items .apdisk *.before + +.atom-build.json \ No newline at end of file diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index 349dfda037..ee18eee594 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -83,7 +83,7 @@ var/bomb_set switch(deconstruction_state) if(NUKESTATE_INTACT) if(istype(I, /obj/item/weapon/screwdriver/nuke)) - playsound(loc, 'sound/items/Screwdriver.ogg', 100, 1) + playsound(loc, I.usesound, 100, 1) user << "You start removing [src]'s front panel's screws..." if(do_after(user, 60/I.toolspeed,target=src)) deconstruction_state = NUKESTATE_UNSCREWED @@ -93,7 +93,7 @@ var/bomb_set if(NUKESTATE_UNSCREWED) if(istype(I, /obj/item/weapon/crowbar)) user << "You start removing [src]'s front panel..." - playsound(loc, 'sound/items/Crowbar.ogg', 100, 1) + playsound(loc, I.usesound, 100, 1) if(do_after(user,30/I.toolspeed,target=src)) user << "You remove [src]'s front panel." deconstruction_state = NUKESTATE_PANEL_REMOVED @@ -102,7 +102,7 @@ var/bomb_set if(NUKESTATE_PANEL_REMOVED) if(istype(I, /obj/item/weapon/weldingtool)) var/obj/item/weapon/weldingtool/welder = I - playsound(loc, 'sound/items/Welder.ogg', 100, 1) + playsound(loc, I.usesound, 100, 1) user << "You start cutting [src]'s inner plate..." if(welder.remove_fuel(1,user)) if(do_after(user,80/I.toolspeed,target=src)) @@ -113,7 +113,7 @@ var/bomb_set if(NUKESTATE_WELDED) if(istype(I, /obj/item/weapon/crowbar)) user << "You start prying off [src]'s inner plate..." - playsound(loc, 'sound/items/Crowbar.ogg', 100, 1) + playsound(loc, I.usesound, 100, 1) if(do_after(user,50/I.toolspeed,target=src)) user << "You pry off [src]'s inner plate. You can see the core's green glow!" deconstruction_state = NUKESTATE_CORE_EXPOSED diff --git a/code/game/machinery/announcement_system.dm b/code/game/machinery/announcement_system.dm index f7b172a445..58a8729df0 100644 --- a/code/game/machinery/announcement_system.dm +++ b/code/game/machinery/announcement_system.dm @@ -78,7 +78,7 @@ var/list/announcement_systems = list() /obj/machinery/announcement_system/attackby(obj/item/P, mob/user, params) if(istype(P, /obj/item/weapon/screwdriver)) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src.loc, P.usesound, 50, 1) panel_open = !panel_open user << "You [panel_open ? "open" : "close"] the maintenance hatch of [src]." update_icon() diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 649dc556fe..852bc2a070 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -126,7 +126,7 @@ return user.electrocute_act(10, src) -/obj/machinery/camera/attackby(obj/W, mob/living/user, params) +/obj/machinery/camera/attackby(obj/item/W, mob/living/user, params) var/msg = "You attach [W] into the assembly's inner circuits." var/msg2 = "[src] already has that upgrade!" @@ -134,7 +134,7 @@ if(istype(W, /obj/item/weapon/screwdriver)) panel_open = !panel_open user << "You screw the camera's panel [panel_open ? "open" : "closed"]." - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src.loc, W.usesound, 50, 1) return if(panel_open) diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index d51fee69c7..7b15b7f53e 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -41,7 +41,7 @@ return else if(istype(W, /obj/item/weapon/wrench)) - playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) + playsound(src.loc, W.usesound, 50, 1) user << "You unattach the assembly from its place." new /obj/item/wallframe/camera(get_turf(src)) qdel(src) @@ -71,7 +71,7 @@ if(3) // State 3 if(istype(W, /obj/item/weapon/screwdriver)) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src.loc, W.usesound, 50, 1) var/input = stripped_input(usr, "Which networks would you like to connect this camera to? Seperate networks with a comma. No Spaces!\nFor example: SS13,Security,Secret ", "Set Network", "SS13") if(!input) @@ -96,7 +96,7 @@ else if(istype(W, /obj/item/weapon/wirecutters)) new/obj/item/stack/cable_coil(get_turf(src), 2) - playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1) + playsound(src.loc, W.usesound, 50, 1) user << "You cut the wires from the circuits." state = 2 return @@ -115,7 +115,7 @@ var/obj/U = locate(/obj) in upgrades if(U) user << "You unattach an upgrade from the assembly." - playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) + playsound(src.loc, W.usesound, 50, 1) U.loc = get_turf(src) upgrades -= U return diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index 852d4a6582..ab84b1612c 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -9,7 +9,7 @@ switch(state) if(0) if(istype(P, /obj/item/weapon/wrench)) - playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) + playsound(src.loc, P.usesound, 50, 1) user << "You start wrenching the frame into place..." if(do_after(user, 20/P.toolspeed, target = src)) user << "You wrench the frame into place." @@ -21,7 +21,7 @@ if(!WT.isOn()) user << "The welding tool must be on to complete this task!" return - playsound(src.loc, 'sound/items/Welder.ogg', 50, 1) + playsound(src.loc, P.usesound, 50, 1) user << "You start deconstructing the frame..." if(do_after(user, 20/P.toolspeed, target = src)) if(!src || !WT.isOn()) return @@ -31,7 +31,7 @@ qdel(src) if(1) if(istype(P, /obj/item/weapon/wrench)) - playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) + playsound(src.loc, P.usesound, 50, 1) user << "You start to unfasten the frame..." if(do_after(user, 20/P.toolspeed, target = src)) user << "You unfasten the frame." @@ -40,7 +40,7 @@ if(istype(P, /obj/item/weapon/circuitboard/computer) && !circuit) if(!user.drop_item()) return - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) + playsound(src.loc, P.usesound, 50, 1) user << "You place the circuit board inside the frame." icon_state = "1" circuit = P @@ -51,12 +51,12 @@ user << "This frame does not accept circuit boards of this type!" if(istype(P, /obj/item/weapon/screwdriver) && circuit) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src.loc, P.usesound, 50, 1) user << "You screw the circuit board into place." state = 2 icon_state = "2" if(istype(P, /obj/item/weapon/crowbar) && circuit) - playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) + playsound(src.loc, P.usesound, 50, 1) user << "You remove the circuit board." state = 1 icon_state = "0" @@ -65,7 +65,7 @@ circuit = null if(2) if(istype(P, /obj/item/weapon/screwdriver) && circuit) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src.loc, P.usesound, 50, 1) user << "You unfasten the circuit board." state = 1 icon_state = "1" @@ -84,7 +84,7 @@ user << "You need five lengths of cable to wire the frame!" if(3) if(istype(P, /obj/item/weapon/wirecutters)) - playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1) + playsound(src.loc, P.usesound, 50, 1) user << "You remove the cables." state = 2 icon_state = "2" @@ -108,14 +108,14 @@ src.icon_state = "4" if(4) if(istype(P, /obj/item/weapon/crowbar)) - playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) + playsound(src.loc, P.usesound, 50, 1) user << "You remove the glass panel." state = 3 icon_state = "3" var/obj/item/stack/sheet/glass/G = new (loc, 2) G.add_fingerprint(user) if(istype(P, /obj/item/weapon/screwdriver)) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src.loc, P.usesound, 50, 1) user << "You connect the monitor." var/obj/B = new src.circuit.build_path (src.loc, circuit) transfer_fingerprints_to(B) diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm index ca867853fa..5523e47e8e 100644 --- a/code/game/machinery/computer/computer.dm +++ b/code/game/machinery/computer/computer.dm @@ -96,7 +96,7 @@ /obj/machinery/computer/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/weapon/screwdriver) && circuit && !(flags&NODECONSTRUCT)) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src.loc, I.usesound, 50, 1) user << " You start to disconnect the monitor..." if(do_after(user, 20/I.toolspeed, target = src)) deconstruction() diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index 327abfaa09..5bd38111bd 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -85,7 +85,7 @@ user << "You need five length of cable to wire the frame!" return if(istype(P, /obj/item/weapon/screwdriver) && !anchored) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src.loc, P.usesound, 50, 1) user.visible_message("[user] disassembles the frame.", \ "You start to disassemble the frame...", "You hear banging and clanking.") if(do_after(user, 40/P.toolspeed, target = src)) @@ -96,7 +96,7 @@ qdel(src) if(istype(P, /obj/item/weapon/wrench)) user << "You start [anchored ? "un" : ""]securing [name]..." - playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) + playsound(src.loc, P.usesound, 75, 1) if(do_after(user, 40/P.toolspeed, target = src)) if(state == 1) user << "You [anchored ? "un" : ""]secure [name]." @@ -105,7 +105,7 @@ if(2) if(istype(P, /obj/item/weapon/wrench)) user << "You start [anchored ? "un" : ""]securing [name]..." - playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) + playsound(src.loc, P.usesound, 75, 1) if(do_after(user, 40/P.toolspeed, target = src)) user << "You [anchored ? "un" : ""]secure [name]." anchored = !anchored @@ -131,7 +131,7 @@ user << "This frame does not accept circuit boards of this type!" if(istype(P, /obj/item/weapon/wirecutters)) - playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1) + playsound(src.loc, P.usesound, 50, 1) user << "You remove the cables." state = 1 icon_state = "box_0" @@ -140,7 +140,7 @@ if(3) if(istype(P, /obj/item/weapon/crowbar)) - playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) + playsound(src.loc, P.usesound, 50, 1) state = 2 circuit.loc = src.loc components.Remove(circuit) @@ -163,7 +163,7 @@ component_check = 0 break if(component_check) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src.loc, P.usesound, 50, 1) var/obj/machinery/new_machine = new src.circuit.build_path(src.loc, 1) new_machine.construction() for(var/obj/O in new_machine.component_parts) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 1afec0c473..d5999d7de8 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -870,7 +870,7 @@ var/list/airlock_overlays = list() beingcrowbarred = 0 if(panel_open && charge) user << "You carefully start removing [charge] from [src]..." - playsound(get_turf(src), 'sound/items/Crowbar.ogg', 50, 1) + playsound(get_turf(src), I.usesound, 50, 1) if(!do_after(user, 150/I.toolspeed, target = src)) user << "You slip and [charge] detonates!" charge.ex_act(1) @@ -882,7 +882,7 @@ var/list/airlock_overlays = list() charge = null return if( beingcrowbarred && (density && welded && !operating && src.panel_open && (!hasPower()) && !src.locked) ) - playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) + playsound(src.loc, I.usesound, 100, 1) user.visible_message("[user] removes the electronics from the airlock assembly.", \ "You start to remove electronics from the airlock assembly...") if(do_after(user,40/I.toolspeed, target = src)) @@ -937,6 +937,31 @@ var/list/airlock_overlays = list() else close(2) + if(istype(I, /obj/item/weapon/crowbar/power)) + if(isElectrified()) + shock(user,100)//it's like sticking a forck in a power socket + return + + if(!density)//already open + return + + if(locked) + user << "The bolts are down, it won't budge!" + return + + if(welded) + user << "It's welded, it won't budge!" + return + + var/time_to_open = 5 + if(hasPower()) + time_to_open = 50 + playsound(src, 'sound/machines/airlock_alien_prying.ogg',100,1) //is it aliens or just the CE being a dick? + if(do_after(user, time_to_open,target = src)) + open(2) + if(density && !open(2)) + user << "Despite your attempts, the [src] refuses to open." + /obj/machinery/door/airlock/plasma/attackby(obj/item/C, mob/user, params) if(C.is_hot() > 300)//If the temperature of the object is over 300, then ignite message_admins("Plasma airlock ignited by [key_name_admin(user)](?) (FLW) in ([x],[y],[z] - JMP)") diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index 53de5f9dd7..afa989a290 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -440,7 +440,7 @@ if(istype(I, /obj/item/weapon/screwdriver)) if(construction_state == GEAR_SECURE) user.visible_message("[user] begins unfastening [src]'s gear...", "You begin unfastening [src]'s gear...") - playsound(src, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src, I.usesound, 50, 1) if(!do_after(user, 75 / I.toolspeed, target = src)) return 1 //Returns 1 so as not to have extra interactions with the tools used (i.e. prying open) user.visible_message("[user] unfastens [src]'s gear!", "[src]'s gear shifts slightly with a pop.") @@ -448,7 +448,7 @@ construction_state = GEAR_UNFASTENED else if(construction_state == GEAR_UNFASTENED) user.visible_message("[user] begins fastening [src]'s gear...", "You begin fastening [src]'s gear...") - playsound(src, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src, I.usesound, 50, 1) if(!do_after(user, 75 / I.toolspeed, target = src)) return 1 user.visible_message("[user] fastens [src]'s gear!", "[src]'s gear shifts back into place.") @@ -463,7 +463,7 @@ return 0 else if(construction_state == GEAR_UNFASTENED) user.visible_message("[user] begins loosening [src]'s gear...", "You begin loosening [src]'s gear...") - playsound(src, 'sound/items/Ratchet.ogg', 50, 1) + playsound(src, I.usesound, 50, 1) if(!do_after(user, 80 / I.toolspeed, target = src)) return 1 user.visible_message("[user] loosens [src]'s gear!", "[src]'s gear pops off and dangles loosely.") @@ -471,7 +471,7 @@ construction_state = GEAR_LOOSE else if(construction_state == GEAR_LOOSE) user.visible_message("[user] begins tightening [src]'s gear...", "You begin tightening [src]'s gear into place...") - playsound(src, 'sound/items/Ratchet.ogg', 50, 1) + playsound(src, I.usesound, 50, 1) if(!do_after(user, 80 / I.toolspeed, target = src)) return 1 user.visible_message("[user] tightens [src]'s gear!", "You firmly tighten [src]'s gear into place.") @@ -484,7 +484,7 @@ return 1 else if(construction_state == GEAR_LOOSE) user.visible_message("[user] begins slowly lifting off [src]'s gear...", "You slowly begin lifting off [src]'s gear...") - playsound(src, 'sound/items/Crowbar.ogg', 50, 1) + playsound(src, I.usesound, 50, 1) if(!do_after(user, 85 / I.toolspeed, target = src)) return 1 user.visible_message("[user] lifts off [src]'s gear, causing it to fall apart!", "You lift off [src]'s gear, causing it to fall \ diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index c63ea2149d..771b900d1e 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -246,14 +246,14 @@ if(density || operating) user << "You need to open the door to access the maintenance panel!" return - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src.loc, I.usesound, 50, 1) panel_open = !panel_open user << "You [panel_open ? "open":"close"] the maintenance panel of the [src.name]." return if(istype(I, /obj/item/weapon/crowbar)) if(panel_open && !density && !operating) - playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) + playsound(src.loc, I.usesound, 100, 1) user.visible_message("[user] removes the electronics from the [src.name].", \ "You start to remove electronics from the [src.name]...") if(do_after(user,40/I.toolspeed, target = src)) diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 36abdb51fd..44a005e231 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -134,7 +134,7 @@ add_fingerprint(user) if(istype(W, /obj/item/weapon/screwdriver) && buildstage == 2) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src.loc, W.usesound, 50, 1) panel_open = !panel_open user << "The wires have been [panel_open ? "exposed" : "unexposed"]." update_icon() @@ -153,7 +153,7 @@ else if (istype(W, /obj/item/weapon/wirecutters)) buildstage = 1 - playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1) + playsound(src.loc, W.usesound, 50, 1) var/obj/item/stack/cable_coil/coil = new /obj/item/stack/cable_coil() coil.amount = 5 coil.loc = user.loc @@ -173,7 +173,7 @@ return else if(istype(W, /obj/item/weapon/crowbar)) - playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) + playsound(src.loc, W.usesound, 50, 1) user.visible_message("[user.name] removes the electronics from [src.name].", \ "You start prying out the circuit...") if(do_after(user, 20/W.toolspeed, target = src)) @@ -199,7 +199,7 @@ "You remove the fire alarm assembly from the wall.") var/obj/item/wallframe/firealarm/frame = new /obj/item/wallframe/firealarm() frame.loc = user.loc - playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) + playsound(src.loc, W.usesound, 50, 1) qdel(src) return return ..() diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index ae8e248240..6824ebe611 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -338,7 +338,7 @@ Class Procs: /obj/machinery/proc/default_pry_open(obj/item/weapon/crowbar/C) . = !(state_open || panel_open || is_operational() || (flags & NODECONSTRUCT)) && istype(C) if(.) - playsound(loc, 'sound/items/Crowbar.ogg', 50, 1) + playsound(loc, C.usesound, 50, 1) visible_message("[usr] pries open \the [src].", "You pry open \the [src].") open_machine() return 1 @@ -347,7 +347,7 @@ Class Procs: . = istype(C) && (panel_open || ignore_panel) && !(flags & NODECONSTRUCT) if(.) deconstruction() - playsound(loc, 'sound/items/Crowbar.ogg', 50, 1) + playsound(loc, C.usesound, 50, 1) var/obj/structure/frame/machine/M = new /obj/structure/frame/machine(loc) transfer_fingerprints_to(M) M.state = 2 @@ -358,7 +358,7 @@ Class Procs: /obj/machinery/proc/default_deconstruction_screwdriver(mob/user, icon_state_open, icon_state_closed, obj/item/weapon/screwdriver/S) if(istype(S) && !(flags & NODECONSTRUCT)) - playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(loc, S.usesound, 50, 1) if(!panel_open) panel_open = 1 icon_state = icon_state_open @@ -372,7 +372,7 @@ Class Procs: /obj/machinery/proc/default_change_direction_wrench(mob/user, obj/item/weapon/wrench/W) if(panel_open && istype(W)) - playsound(loc, 'sound/items/Ratchet.ogg', 50, 1) + playsound(loc, W.usesound, 50, 1) setDir(turn(dir,-90)) user << "You rotate [src]." return 1 @@ -381,7 +381,7 @@ Class Procs: /obj/proc/default_unfasten_wrench(mob/user, obj/item/weapon/wrench/W, time = 20) if(istype(W) && !(flags & NODECONSTRUCT)) user << "You begin [anchored ? "un" : ""]securing [name]..." - playsound(loc, 'sound/items/Ratchet.ogg', 50, 1) + playsound(loc, W.usesound, 50, 1) if(do_after(user, time/W.toolspeed, target = src)) user << "You [anchored ? "un" : ""]secure [name]." anchored = !anchored diff --git a/code/game/machinery/porta_turret/portable_turret_construct.dm b/code/game/machinery/porta_turret/portable_turret_construct.dm index 4e92cf434d..5ac7b22e2e 100644 --- a/code/game/machinery/porta_turret/portable_turret_construct.dm +++ b/code/game/machinery/porta_turret/portable_turret_construct.dm @@ -23,14 +23,14 @@ switch(build_step) if(PTURRET_UNSECURED) //first step if(istype(I, /obj/item/weapon/wrench) && !anchored) - playsound(loc, 'sound/items/Ratchet.ogg', 100, 1) + playsound(loc, I.usesound, 100, 1) user << "You secure the external bolts." anchored = 1 build_step = PTURRET_BOLTED return else if(istype(I, /obj/item/weapon/crowbar) && !anchored) - playsound(loc, 'sound/items/Crowbar.ogg', 75, 1) + playsound(loc, I.usesound, 75, 1) user << "You dismantle the turret construction." new /obj/item/stack/sheet/metal( loc, 5) qdel(src) @@ -48,7 +48,7 @@ return else if(istype(I, /obj/item/weapon/wrench)) - playsound(loc, 'sound/items/Ratchet.ogg', 75, 1) + playsound(loc, I.usesound, 75, 1) user << "You unfasten the external bolts." anchored = 0 build_step = PTURRET_UNSECURED @@ -57,7 +57,7 @@ if(PTURRET_START_INTERNAL_ARMOUR) if(istype(I, /obj/item/weapon/wrench)) - playsound(loc, 'sound/items/Ratchet.ogg', 100, 1) + playsound(loc, I.usesound, 100, 1) user << "You bolt the metal armor into place." build_step = PTURRET_INTERNAL_ARMOUR_ON return @@ -94,7 +94,7 @@ return else if(istype(I, /obj/item/weapon/wrench)) - playsound(loc, 'sound/items/Ratchet.ogg', 100, 1) + playsound(loc, I.usesound, 100, 1) user << "You remove the turret's metal armor bolts." build_step = PTURRET_START_INTERNAL_ARMOUR return @@ -111,7 +111,7 @@ if(PTURRET_SENSORS_ON) if(istype(I, /obj/item/weapon/screwdriver)) - playsound(loc, 'sound/items/Screwdriver.ogg', 100, 1) + playsound(loc, I.usesound, 100, 1) build_step = PTURRET_CLOSED user << "You close the internal access hatch." return @@ -128,7 +128,7 @@ return else if(istype(I, /obj/item/weapon/screwdriver)) - playsound(loc, 'sound/items/Screwdriver.ogg', 100, 1) + playsound(loc, I.usesound, 100, 1) build_step = PTURRET_SENSORS_ON user << "You open the internal access hatch." return @@ -159,7 +159,7 @@ qdel(src) else if(istype(I, /obj/item/weapon/crowbar)) - playsound(loc, 'sound/items/Crowbar.ogg', 75, 1) + playsound(loc, I.usesound, 75, 1) user << "You pry off the turret's exterior armor." new /obj/item/stack/sheet/metal(loc, 2) build_step = PTURRET_CLOSED diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index 345dfec445..8b32b15698 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -202,7 +202,7 @@ /obj/machinery/shieldgen/attackby(obj/item/weapon/W, mob/user, params) if(istype(W, /obj/item/weapon/screwdriver)) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) + playsound(src.loc, W.usesound, 100, 1) panel_open = !panel_open if(panel_open) user << "You open the panel and expose the wiring." @@ -228,11 +228,11 @@ user << "The bolts are covered! Unlocking this would retract the covers." return if(!anchored && !isinspace()) - playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) + playsound(src.loc, W.usesound, 100, 1) user << "You secure \the [src] to the floor!" anchored = 1 else if(anchored) - playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) + playsound(src.loc, W.usesound, 100, 1) user << "You unsecure \the [src] from the floor!" if(active) user << "\The [src] shuts off!" @@ -417,13 +417,13 @@ return else if(!anchored && !isinspace()) //Can't fasten this thing in space - playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) + playsound(src.loc, W.usesound, 75, 1) user << "You secure the external reinforcing bolts to the floor." anchored = 1 return else //You can unfasten it tough, if you somehow manage to fasten it. - playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) + playsound(src.loc, W.usesound, 75, 1) user << "You undo the external reinforcing bolts." anchored = 0 return diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 09d255e1a3..8229882e29 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -21,6 +21,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s var/alternate_worn_layer = null//If this is set, update_icons() will force the on mob state (WORN, NOT INHANDS) onto this layer, instead of it's default var/hitsound = null + var/usesound = null var/throwhitsound = null var/w_class = 3 var/slot_flags = 0 //This is used to determine on which slots an item can fit. diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm index c35b04a34b..59f0e9fdbc 100644 --- a/code/game/objects/items/devices/geiger_counter.dm +++ b/code/game/objects/items/devices/geiger_counter.dm @@ -121,7 +121,7 @@ user << "Turn off [src] before you perform this action!" return 0 user.visible_message("[user] unscrews [src]'s maintenance panel and begins fiddling with its innards...", "You begin resetting [src]...") - playsound(user, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(user, I.usesound, 50, 1) if(!do_after(user, 40/I.toolspeed, target = user)) return 0 user.visible_message("[user] refastens [src]'s maintenance panel!", "You reset [src] to its factory settings!") diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index 0488a20426..410d1d19f5 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -34,6 +34,22 @@ /obj/item/clothing/gloves/ ) +/obj/item/weapon/storage/belt/utility/chief + name = "Chief Engineer's toolbelt" + desc = "Holds tools, looks snazzy" + icon_state = "utilitybelt_ce" + item_state = "utility_ce" + +/obj/item/weapon/storage/belt/utility/chief/full/New() + ..() + new /obj/item/weapon/screwdriver/power(src) + new /obj/item/weapon/crowbar/power(src) + new /obj/item/weapon/weldingtool/experimental(src)//This can be changed if this is too much + new /obj/item/device/multitool(src) + new /obj/item/stack/cable_coil(src,30,pick("red","yellow","orange")) + new /obj/item/weapon/extinguisher/mini(src) + //much roomier now that we've managed to remove two tools + /obj/item/weapon/storage/belt/utility/full/New() ..() new /obj/item/weapon/screwdriver(src) diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 65a47d5537..7925a50ca0 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -24,13 +24,14 @@ force = 5 throwforce = 7 w_class = 2 + usesound = 'sound/items/Ratchet.ogg' materials = list(MAT_METAL=150) origin_tech = "materials=1;engineering=1" attack_verb = list("bashed", "battered", "bludgeoned", "whacked") toolspeed = 1 /obj/item/weapon/wrench/suicide_act(mob/user) - user.visible_message("[user] is beating \himself to death with the [src.name]! It looks like \he's trying to commit suicide.") + user.visible_message("[user] is beating \himself to death with the [src]! It looks like \he's trying to commit suicide.") playsound(loc, 'sound/weapons/genhit.ogg', 50, 1, -1) return (BRUTELOSS) @@ -46,6 +47,32 @@ icon_state = "wrench_brass" toolspeed = 2 +/obj/item/weapon/wrench/power + name = "Hand Drill" + desc ="A simple powered drill with a bolt bit" + icon_state = "drill_bolt" + item_state = "drill" + usesound = 'sound/items/drill_use.ogg' + materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25) + origin_tech = "materials=2;engineering=2" //done for balance reasons, making them high value for research, but harder to get + force = 8 //might or might not be too high, subject to change + throwforce = 8 + attack_verb = list("drilled", "screwed", "jabbed") + toolspeed = 4 + +/obj/item/weapon/wrench/power/attack_self(mob/user) + playsound(get_turf(user),'sound/items/change_drill.ogg',50,1) + var/obj/item/weapon/wirecutters/power/s_drill = new /obj/item/weapon/screwdriver/power + user << "You attach the screw driver bit to the [src]." + user.unEquip(src) + user.put_in_active_hand(s_drill) + qdel(src) + +obj/item/weapon/wrench/power/suicide_act(mob/user) + user.visible_message("[user] is pressing the [src] against \his head, it looks like he's trying to drill \his head off") + return (BRUTELOSS) + + /obj/item/weapon/wrench/medical name = "medical wrench" desc = "A medical wrench with common(medical?) uses. Can be found in your hand." @@ -53,7 +80,7 @@ force = 2 //MEDICAL throwforce = 4 origin_tech = "materials=1;engineering=1;biotech=3" - attack_verb = list("wrenched", "medicaled", "tapped", "jabbed") + attack_verb = list("wrenched", "medicaled", "tapped", "jabbed", "whacked") /obj/item/weapon/wrench/medical/suicide_act(mob/user) user.visible_message("[user] is praying to the medical wrench to take \his soul. It looks like \he's trying to commit suicide.") @@ -102,11 +129,12 @@ materials = list(MAT_METAL=75) attack_verb = list("stabbed") hitsound = 'sound/weapons/bladeslice.ogg' + usesound = 'sound/items/Screwdriver.ogg' toolspeed = 1 /obj/item/weapon/screwdriver/suicide_act(mob/user) - user.visible_message(pick("[user] is stabbing the [src.name] into \his temple! It looks like \he's trying to commit suicide.", \ - "[user] is stabbing the [src.name] into \his heart! It looks like \he's trying to commit suicide.")) + user.visible_message(pick("[user] is stabbing the [src] into \his temple! It looks like \he's trying to commit suicide.", \ + "[user] is stabbing the [src] into \his heart! It looks like \he's trying to commit suicide.")) return(BRUTELOSS) /obj/item/weapon/screwdriver/New(loc, var/param_color = null) @@ -135,11 +163,40 @@ icon_state = "screwdriver_brass" toolspeed = 2 +/obj/item/weapon/screwdriver/power + name = "Hand Drill" + desc = "A simple hand drill with a screwdriver bit attached." + icon_state = "drill_screw" + item_state = "drill" + materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25) + origin_tech = "materials=2;engineering=2" //done for balance reasons, making them high value for research, but harder to get + force = 8 //might or might not be too high, subject to change + throwforce = 8 + throw_speed = 2 + throw_range = 3//it's heavier than a screw driver/wrench, so it does more damage, but can't be thrown as far + attack_verb = list("drilled", "screwed", "jabbed","whacked") + hitsound = 'sound/items/drill_hit.ogg' + usesound = 'sound/items/drill_use.ogg' + toolspeed = 4 + +/obj/item/weapon/screwdriver/power/suicide_act(mob/user) + user.visible_message("[user] is putting the [src] up to \his temple, it looks like they're trying to commit suicide") + return(BRUTELOSS) + +/obj/item/weapon/screwdriver/power/attack_self(mob/user) + playsound(get_turf(user),'sound/items/change_drill.ogg',50,1) + var/obj/item/weapon/wrench/power/b_drill = new /obj/item/weapon/wrench/power + user << "You attach the bolt driver bit to the [src]." + user.unEquip(src) + user.put_in_active_hand(b_drill) + qdel(src) + /obj/item/weapon/screwdriver/cyborg name = "powered screwdriver" desc = "An electrical screwdriver, designed to be both precise and quick." icon = 'icons/obj/items_cyborg.dmi' icon_state = "screwdriver_cyborg" + usesound = 'sound/items/drill_use.ogg' toolspeed = 2 /* @@ -160,6 +217,7 @@ origin_tech = "materials=1;engineering=1" attack_verb = list("pinched", "nipped") hitsound = 'sound/items/Wirecutter.ogg' + usesound = 'sound/items/Wirecutter.ogg' toolspeed = 1 /obj/item/weapon/wirecutters/New(loc, var/param_color = null) @@ -182,7 +240,7 @@ ..() /obj/item/weapon/wirecutters/suicide_act(mob/user) - user.visible_message("[user] is cutting at \his arteries with the [src.name]! It looks like \he's trying to commit suicide.") + user.visible_message("[user] is cutting at \his arteries with the [src]! It looks like \he's trying to commit suicide.") playsound(loc, 'sound/items/Wirecutter.ogg', 50, 1, -1) return (BRUTELOSS) @@ -199,6 +257,36 @@ icon_state = "cutters_cyborg" toolspeed = 2 +/obj/item/weapon/wirecutters/power + name = "Jaws of Life" + desc = "A set of jaws of life, the magic of science has managed to fit it down into a device small enough to fit in a tool belt. It's fitted with a cutting head" + icon_state = "jaws_cutter" + item_state = "jawsoflife" + origin_tech = "materials=2;engineering=2" + materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25) + usesound = 'sound/items/jaws_cut.ogg' + toolspeed = 4 + +/obj/item/weapon/wirecutters/power/suicide_act(mob/user) + user.visible_message("[user] is the [src] around \his neck, it looks like \he's trying to rip \his head off!") + playsound(loc, 'sound/items/jaws_cut.ogg', 50, 1, -1) + var/mob/living/carbon/C = user + var/obj/item/bodypart/BP = C.get_bodypart("head") + if(BP) + BP.drop_limb()// <- i have no idea why this works, but it does + playsound(loc,pick('sound/misc/desceration-01.ogg','sound/misc/desceration-02.ogg','sound/misc/desceration-01.ogg') ,50, 1, -1) + else + user.visible_message("[user] doesn't have a head to cutt off, but dies anyway.") + return (BRUTELOSS) + +/obj/item/weapon/wirecutters/power/attack_self(mob/user) + playsound(get_turf(user),"sound/items/change_jaws.ogg",50,1) + var/obj/item/weapon/crowbar/power/pryjaws = new /obj/item/weapon/crowbar/power + user << "You attach the pry jaws to the [src]." + user.unEquip(src) + user.put_in_active_hand(pryjaws) + qdel(src) + /* * Welding Tool */ @@ -213,6 +301,9 @@ force = 3 throwforce = 5 hitsound = "swing_hit" + usesound = 'sound/items/Welder.ogg' + var/acti_sound = 'sound/items/WelderActivate.ogg' + var/deac_sound = 'sound/items/WelderDeactivate.ogg' throw_speed = 3 throw_range = 5 w_class = 2 @@ -378,6 +469,7 @@ if(welding) if(get_fuel() >= 1) user << "You switch [src] on." + playsound(loc, acti_sound, 50, 1) force = 15 damtype = "fire" hitsound = 'sound/items/welder.ogg' @@ -389,6 +481,7 @@ else if(!message) user << "You switch [src] off." + playsound(loc, deac_sound, 50, 1) else user << "[src] shuts off!" force = 3 @@ -514,6 +607,7 @@ desc = "A small crowbar. This handy tool is useful for lots of things, such as prying floor tiles or opening unpowered doors." icon = 'icons/obj/tools.dmi' icon_state = "crowbar" + usesound = 'sound/items/Crowbar.ogg' flags = CONDUCT slot_flags = SLOT_BELT force = 5 @@ -525,7 +619,7 @@ toolspeed = 1 /obj/item/weapon/crowbar/suicide_act(mob/user) - user.visible_message("[user] is beating \himself to death with the [src.name]! It looks like \he's trying to commit suicide.") + user.visible_message("[user] is beating \himself to death with the [src]! It looks like \he's trying to commit suicide.") playsound(loc, 'sound/weapons/genhit.ogg', 50, 1, -1) return (BRUTELOSS) @@ -555,5 +649,30 @@ name = "hydraulic crowbar" desc = "A hydraulic prying tool, compact but powerful. Designed to replace crowbar in construction cyborgs." icon = 'icons/obj/items_cyborg.dmi' + usesound = 'sound/items/jaws_pry.ogg' force = 10 toolspeed = 2 + +/obj/item/weapon/crowbar/power + name = "Jaws of Life" + desc = "A set of jaws of life, the magic of science has managed to fit it down into a device small enough to fit in a tool belt. It's fitted with a prying head" + icon_state = "jaws_pry" + item_state = "jawsoflife" + materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25) + origin_tech = "materials=2;engineering=2" + usesound = 'sound/items/jaws_pry.ogg' + force = 15 + toolspeed = 4 + +/obj/item/weapon/crowbar/power/suicide_act(mob/user) + user.visible_message("[user] is putting his head in the [src], it looks like \he's trying to commit suicide!") + playsound(loc, 'sound/items/jaws_pry.ogg', 50, 1, -1) + return (BRUTELOSS) + +/obj/item/weapon/crowbar/power/attack_self(mob/user) + playsound(get_turf(user),"sound/items/change_jaws.ogg",50,1) + var/obj/item/weapon/wirecutters/power/cutjaws = new /obj/item/weapon/wirecutters/power + user << "You attach the cutting jaws to the [src]." + user.unEquip(src) + user.put_in_active_hand(cutjaws) + qdel(src) \ No newline at end of file diff --git a/code/game/objects/structures/ai_core.dm b/code/game/objects/structures/ai_core.dm index 85fe324eca..d9d0a95e1b 100644 --- a/code/game/objects/structures/ai_core.dm +++ b/code/game/objects/structures/ai_core.dm @@ -17,7 +17,7 @@ switch(state) if(0) if(istype(P, /obj/item/weapon/wrench)) - playsound(loc, 'sound/items/Ratchet.ogg', 50, 1) + playsound(loc, P.usesound, 50, 1) user << "You start wrenching the frame into place..." if(do_after(user, 20/P.toolspeed, target = src)) user << "You wrench the frame into place." @@ -39,7 +39,7 @@ return if(1) if(istype(P, /obj/item/weapon/wrench)) - playsound(loc, 'sound/items/Ratchet.ogg', 50, 1) + playsound(loc, P.usesound, 50, 1) user << "You start to unfasten the frame..." if(do_after(user, 20/P.toolspeed, target = src)) user << "You unfasten the frame." @@ -56,13 +56,13 @@ P.loc = src return if(istype(P, /obj/item/weapon/screwdriver) && circuit) - playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(loc, P.usesound, 50, 1) user << "You screw the circuit board into place." state = 2 icon_state = "2" return if(istype(P, /obj/item/weapon/crowbar) && circuit) - playsound(loc, 'sound/items/Crowbar.ogg', 50, 1) + playsound(loc, P.usesound, 50, 1) user << "You remove the circuit board." state = 1 icon_state = "0" @@ -71,7 +71,7 @@ return if(2) if(istype(P, /obj/item/weapon/screwdriver) && circuit) - playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(loc, P.usesound, 50, 1) user << "You unfasten the circuit board." state = 1 icon_state = "1" @@ -95,7 +95,7 @@ if (brain) user << "Get that brain out of there first!" else - playsound(loc, 'sound/items/Wirecutter.ogg', 50, 1) + playsound(loc, P.usesound, 50, 1) user << "You remove the cables." state = 2 icon_state = "2" @@ -163,7 +163,7 @@ return if(istype(P, /obj/item/weapon/crowbar) && brain) - playsound(loc, 'sound/items/Crowbar.ogg', 50, 1) + playsound(loc, P.usesound, 50, 1) user << "You remove the brain." brain.loc = loc brain = null @@ -172,7 +172,7 @@ if(4) if(istype(P, /obj/item/weapon/crowbar)) - playsound(loc, 'sound/items/Crowbar.ogg', 50, 1) + playsound(loc, P.usesound, 50, 1) user << "You remove the glass panel." state = 3 if (brain) @@ -183,7 +183,7 @@ return if(istype(P, /obj/item/weapon/screwdriver)) - playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(loc, P.usesound, 50, 1) user << "You connect the monitor." new /mob/living/silicon/ai (loc, laws, brain) feedback_inc("cyborg_ais_created",1) @@ -202,7 +202,7 @@ if(istype(A, /obj/item/device/aicard))//Is it? A.transfer_ai("INACTIVE","AICARD",src,user) else if(istype(A, /obj/item/weapon/wrench)) - playsound(loc, 'sound/items/Ratchet.ogg', 50, 1) + playsound(loc, A.usesound, 50, 1) user.visible_message("[user] [anchored ? "fastens" : "unfastens"] [src].", \ "You start to [anchored ? "fasten [src] to" : "unfasten [src] from"] the floor...") switch(anchored) diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index 2941bf9c3c..a7b0226321 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -517,7 +517,7 @@ break if(door_check) - playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) + playsound(src.loc, W.usesound, 100, 1) user.visible_message("[user] secures the airlock assembly to the floor.", \ "You start to secure the airlock assembly to the floor...", \ "You hear wrenching.") @@ -532,7 +532,7 @@ user << "There is another door here!" else - playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) + playsound(src.loc, W.usesound, 100, 1) user.visible_message("[user] unsecures the airlock assembly from the floor.", \ "You start to unsecure the airlock assembly from the floor...", \ "You hear wrenching.") @@ -558,7 +558,7 @@ src.name = "wired airlock assembly" else if(istype(W, /obj/item/weapon/wirecutters) && state == 1 ) - playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1) + playsound(src.loc, W.usesound, 100, 1) user.visible_message("[user] cuts the wires from the airlock assembly.", \ "You start to cut the wires from the airlock assembly...") @@ -571,7 +571,7 @@ src.name = "secured airlock assembly" else if(istype(W, /obj/item/weapon/electronics/airlock) && state == 1 ) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) + playsound(src.loc, W.usesound, 100, 1) user.visible_message("[user] installs the electronics into the airlock assembly.", \ "You start to install electronics into the airlock assembly...") if(do_after(user, 40, target = src)) @@ -588,7 +588,7 @@ else if(istype(W, /obj/item/weapon/crowbar) && state == 2 ) - playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) + playsound(src.loc, W.usesound, 100, 1) user.visible_message("[user] removes the electronics from the airlock assembly.", \ "You start to remove electronics from the airlock assembly...") @@ -610,7 +610,7 @@ if(G) if(G.get_amount() >= 1) if(istype(G, /obj/item/stack/sheet/rglass) || istype(G, /obj/item/stack/sheet/glass)) - playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) + playsound(src.loc, W.usesound, 100, 1) user.visible_message("[user] adds [G.name] to the airlock assembly.", \ "You start to install [G.name] into the airlock assembly...") if(do_after(user, 40, target = src)) @@ -638,7 +638,7 @@ else if(istype(G, /obj/item/stack/sheet/mineral)) var/M = G.sheettype if(G.get_amount() >= 2) - playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) + playsound(src.loc, W.usesound, 100, 1) user.visible_message("[user] adds [G.name] to the airlock assembly.", \ "You start to install [G.name] into the airlock assembly...") if(do_after(user, 40, target = src)) @@ -651,7 +651,7 @@ glass_type = /obj/machinery/door/airlock/glass else if(istype(W, /obj/item/weapon/screwdriver) && state == 2 ) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) + playsound(src.loc, W.usesound, 100, 1) user.visible_message("[user] finishes the airlock.", \ "You start finishing the airlock...") diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index ed54a36736..b57859331b 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -18,7 +18,7 @@ add_fingerprint(user) if(istype(W, /obj/item/weapon/screwdriver)) if(state == GIRDER_DISPLACED) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) + playsound(src.loc, W.usesound, 100, 1) user.visible_message("[user] disassembles the girder.", \ "You start to disassemble the girder...", "You hear clanking and banging noises.") if(do_after(user, 40/W.toolspeed, target = src)) @@ -30,7 +30,7 @@ M.add_fingerprint(user) qdel(src) else if(state == GIRDER_REINF) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) + playsound(src.loc, W.usesound, 100, 1) user << "You start unsecuring support struts..." if(do_after(user, 40/W.toolspeed, target = src)) if(state != GIRDER_REINF) @@ -43,7 +43,7 @@ if(!istype(loc, /turf/open/floor)) user << "A floor must be present to secure the girder!" return - playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) + playsound(src.loc, W.usesound, 100, 1) user << "You start securing the girder..." if(do_after(user, 40/W.toolspeed, target = src)) user << "You secure the girder." @@ -51,7 +51,7 @@ transfer_fingerprints_to(G) qdel(src) else if(state == GIRDER_NORMAL && can_displace) - playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) + playsound(src.loc, W.usesound, 100, 1) user << "You start unsecuring the girder..." if(do_after(user, 40/W.toolspeed, target = src)) user << "You unsecure the girder." @@ -76,7 +76,7 @@ qdel(src) else if(istype(W, /obj/item/weapon/wirecutters) && state == GIRDER_REINF_STRUTS) - playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1) + playsound(src.loc, W.usesound, 100, 1) user << "You start removing support struts..." if(do_after(user, 40/W.toolspeed, target = src)) user << "You remove the support struts." @@ -334,7 +334,7 @@ else if(istype(W, /obj/item/weapon/weldingtool)) var/obj/item/weapon/weldingtool/WT = W if(WT.remove_fuel(0,user)) - playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1) + playsound(src.loc, W.usesound, 50, 1) user << "You start slicing apart the girder..." if(do_after(user, 40/W.toolspeed, target = src)) if( !WT.isOn() ) diff --git a/code/game/objects/structures/showcase.dm b/code/game/objects/structures/showcase.dm index 170b709328..f6b85d537c 100644 --- a/code/game/objects/structures/showcase.dm +++ b/code/game/objects/structures/showcase.dm @@ -45,16 +45,16 @@ if(istype(W, /obj/item/weapon/screwdriver) && !anchored) if(deconstruction_state == SHOWCASE_SCREWDRIVERED) user << "You screw the screws back into the showcase." - playsound(loc, 'sound/items/Screwdriver.ogg', 100, 1) + playsound(loc, W.usesound, 100, 1) deconstruction_state = SHOWCASE_CONSTRUCTED else if (deconstruction_state == SHOWCASE_CONSTRUCTED) user << "You unscrew the screws." - playsound(loc, 'sound/items/Screwdriver.ogg', 100, 1) + playsound(loc, W.usesound, 100, 1) deconstruction_state = SHOWCASE_SCREWDRIVERED if(istype(W, /obj/item/weapon/crowbar) && deconstruction_state == SHOWCASE_SCREWDRIVERED) if(do_after(user, 20/W.toolspeed, target = src)) - playsound(loc, 'sound/items/Crowbar.ogg', 100, 1) + playsound(loc, W.usesound, 100, 1) user << "You start to crowbar the showcase apart..." new /obj/item/stack/sheet/metal (get_turf(src), 4) qdel(src) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 7def710169..c16605b126 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -227,7 +227,7 @@ return if(disassembling) user << "You start disassembling [src]..." - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) if(do_after(user, 20, target = src)) new frame(src.loc) for(var/i = 1, i <= buildstackamount, i++) @@ -350,7 +350,7 @@ if(istype(W, /obj/item/weapon/weldingtool)) var/obj/item/weapon/weldingtool/WT = W if(WT.remove_fuel(0, user)) - playsound(src.loc, 'sound/items/Welder.ogg', 50, 1) + playsound(src.loc, W.usesound, 50, 1) if(deconstruction_ready) user << "You start strengthening the reinforced table..." if (do_after(user, 50/W.toolspeed, target = src)) @@ -496,7 +496,7 @@ /obj/structure/rack/attackby(obj/item/weapon/W, mob/user, params) if (istype(W, /obj/item/weapon/wrench) && !(flags&NODECONSTRUCT)) - playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) + playsound(src.loc, W.usesound, 50, 1) rack_destroy() return if(user.a_intent == "harm") @@ -610,4 +610,3 @@ R.add_fingerprint(user) qdel(src) return - diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index f9289288eb..a22fb1c8b7 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -101,7 +101,7 @@ if(WD.dir == dir) user << "There is already a windoor in that location!" return - playsound(loc, 'sound/items/Ratchet.ogg', 100, 1) + playsound(loc, W.usesound, 100, 1) user.visible_message("[user] secures the windoor assembly to the floor.", "You start to secure the windoor assembly to the floor...") if(do_after(user, 40/W.toolspeed, target = src)) @@ -120,7 +120,7 @@ //Unwrenching an unsecure assembly un-anchors it. Step 4 undone else if(istype(W, /obj/item/weapon/wrench) && anchored) - playsound(loc, 'sound/items/Ratchet.ogg', 100, 1) + playsound(loc, W.usesound, 100, 1) user.visible_message("[user] unsecures the windoor assembly to the floor.", "You start to unsecure the windoor assembly to the floor...") if(do_after(user, 40/W.toolspeed, target = src)) @@ -177,7 +177,7 @@ //Removing wire from the assembly. Step 5 undone. if(istype(W, /obj/item/weapon/wirecutters)) - playsound(loc, 'sound/items/Wirecutter.ogg', 100, 1) + playsound(loc, W.usesound, 100, 1) user.visible_message("[user] cuts the wires from the airlock assembly.", "You start to cut the wires from airlock assembly...") if(do_after(user, 40/W.toolspeed, target = src)) @@ -196,7 +196,7 @@ else if(istype(W, /obj/item/weapon/electronics/airlock)) if(!user.drop_item()) return - playsound(loc, 'sound/items/Screwdriver.ogg', 100, 1) + playsound(loc, W.usesound, 100, 1) user.visible_message("[user] installs the electronics into the airlock assembly.", "You start to install electronics into the airlock assembly...") W.loc = src @@ -215,7 +215,7 @@ if(!electronics) return - playsound(loc, 'sound/items/Screwdriver.ogg', 100, 1) + playsound(loc, W.usesound, 100, 1) user.visible_message("[user] removes the electronics from the airlock assembly.", "You start to uninstall electronics from the airlock assembly...") if(do_after(user, 40/W.toolspeed, target = src)) @@ -245,7 +245,7 @@ usr << "The assembly is missing electronics!" return usr << browse(null, "window=windoor_access") - playsound(loc, 'sound/items/Crowbar.ogg', 100, 1) + playsound(loc, W.usesound, 100, 1) user.visible_message("[user] pries the windoor into the frame.", "You start prying the windoor into the frame...") if(do_after(user, 40/W.toolspeed, target = src)) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 58f3de3d68..045bd9bbf1 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -191,7 +191,7 @@ if(!(flags&NODECONSTRUCT)) if(istype(I, /obj/item/weapon/screwdriver)) - playsound(loc, 'sound/items/Screwdriver.ogg', 75, 1) + playsound(loc, I.usesound, 75, 1) if(reinf && (state == 2 || state == 1)) user << (state == 2 ? "You begin to unscrew the window from the frame..." : "You begin to screw the window to the frame...") else if(reinf && state == 0) @@ -216,7 +216,7 @@ else if (istype(I, /obj/item/weapon/crowbar) && reinf && (state == 0 || state == 1)) user << (state == 0 ? "You begin to lever the window into the frame..." : "You begin to lever the window out of the frame...") - playsound(loc, 'sound/items/Crowbar.ogg', 75, 1) + playsound(loc, I.usesound, 75, 1) if(do_after(user, 40/I.toolspeed, target = src)) //If state was out of frame, put into frame, else do the reverse state = (state == 0 ? 1 : 0) @@ -224,7 +224,7 @@ return else if(istype(I, /obj/item/weapon/wrench) && !anchored) - playsound(loc, 'sound/items/Ratchet.ogg', 75, 1) + playsound(loc, I.usesound, 75, 1) user << " You begin to disassemble [src]..." if(do_after(user, 40/I.toolspeed, target = src)) if(qdeleted(src)) diff --git a/code/game/turfs/simulated/floor/fancy_floor.dm b/code/game/turfs/simulated/floor/fancy_floor.dm index e339189cf5..a868ddc4fc 100644 --- a/code/game/turfs/simulated/floor/fancy_floor.dm +++ b/code/game/turfs/simulated/floor/fancy_floor.dm @@ -18,7 +18,7 @@ user << "You unscrew the planks." new floor_tile(src) make_plating() - playsound(src, 'sound/items/Screwdriver.ogg', 80, 1) + playsound(src, C.usesound, 80, 1) return /turf/open/floor/wood/cold diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 90875a5cb5..002a4f1d8a 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -177,7 +177,7 @@ var/obj/item/weapon/weldingtool/WT = W if( WT.remove_fuel(0,user) ) user << "You begin slicing through the outer plating..." - playsound(src, 'sound/items/Welder.ogg', 100, 1) + playsound(src, W.usesound, 100, 1) if(do_after(user, slicing_duration/W.toolspeed, target = src)) if( !istype(src, /turf/closed/wall) || !user || !WT || !WT.isOn() || !T ) return 1 diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm index 0212e8f32d..fd7c428865 100644 --- a/code/game/turfs/simulated/walls_reinforced.dm +++ b/code/game/turfs/simulated/walls_reinforced.dm @@ -65,7 +65,7 @@ switch(d_state) if(0) if (istype(W, /obj/item/weapon/wirecutters)) - playsound(src, 'sound/items/Wirecutter.ogg', 100, 1) + playsound(src, W.usesound, 100, 1) src.d_state = 1 update_icon() user << "You cut the outer grille." @@ -74,7 +74,7 @@ if(1) if (istype(W, /obj/item/weapon/screwdriver)) user << "You begin removing the support lines..." - playsound(src, 'sound/items/Screwdriver.ogg', 100, 1) + playsound(src, W.usesound, 100, 1) if(do_after(user, 40, target = src)) if( !istype(src, /turf/closed/wall/r_wall) || !user || !W || !T ) @@ -105,7 +105,7 @@ if( WT.remove_fuel(0,user) ) user << "You begin slicing through the metal cover..." - playsound(src, 'sound/items/Welder.ogg', 100, 1) + playsound(src, W.usesound, 100, 1) if(do_after(user, 60, target = src)) if( !istype(src, /turf/closed/wall/r_wall) || !user || !WT || !WT.isOn() || !T ) @@ -120,7 +120,7 @@ if( istype(W, /obj/item/weapon/gun/energy/plasmacutter) ) user << "You begin slicing through the metal cover..." - playsound(src, 'sound/items/Welder.ogg', 100, 1) + playsound(src, W.usesound, 100, 1) if(do_after(user, 60, target = src)) if( !istype(src, /turf/closed/wall/r_wall) || !user || !W || !T ) @@ -136,7 +136,7 @@ if (istype(W, /obj/item/weapon/crowbar)) user << "You struggle to pry off the cover..." - playsound(src, 'sound/items/Crowbar.ogg', 100, 1) + playsound(src, W.usesound, 100, 1) if(do_after(user, 100, target = src)) if( !istype(src, /turf/closed/wall/r_wall) || !user || !W || !T ) @@ -152,7 +152,7 @@ if (istype(W, /obj/item/weapon/wrench)) user << "You start loosening the anchoring bolts which secure the support rods to their frame..." - playsound(src, 'sound/items/Ratchet.ogg', 100, 1) + playsound(src, W.usesound, 100, 1) if(do_after(user, 40, target = src)) if( !istype(src, /turf/closed/wall/r_wall) || !user || !W || !T ) @@ -170,7 +170,7 @@ if( WT.remove_fuel(0,user) ) user << "You begin slicing through the support rods..." - playsound(src, 'sound/items/Welder.ogg', 100, 1) + playsound(src, W.usesound, 100, 1) if(do_after(user, 100, target = src)) if( !istype(src, /turf/closed/wall/r_wall) || !user || !WT || !WT.isOn() || !T ) @@ -185,7 +185,7 @@ if( istype(W, /obj/item/weapon/gun/energy/plasmacutter) ) user << "You begin slicing through the support rods..." - playsound(src, 'sound/items/Welder.ogg', 100, 1) + playsound(src, W.usesound, 100, 1) if(do_after(user, 70, target = src)) if( !istype(src, /turf/closed/wall/r_wall) || !user || !W || !T ) @@ -201,7 +201,7 @@ if( istype(W, /obj/item/weapon/crowbar) ) user << "You struggle to pry off the outer sheath..." - playsound(src, 'sound/items/Crowbar.ogg', 100, 1) + playsound(src, W.usesound, 100, 1) if(do_after(user, 100, target = src)) if( !istype(src, /turf/closed/wall/r_wall) || !user || !W || !T ) diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index aa10961a8f..34bdf16a73 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -612,7 +612,7 @@ switch(buildstage) if(2) if(istype(W, /obj/item/weapon/wirecutters) && panel_open && wires.is_all_cut()) - playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1) + playsound(src.loc, W.usesound, 50, 1) user << "You cut the final wires." var/obj/item/stack/cable_coil/cable = new /obj/item/stack/cable_coil(loc) cable.amount = 5 @@ -620,7 +620,7 @@ update_icon() return else if(istype(W, /obj/item/weapon/screwdriver)) // Opening that Air Alarm up. - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src.loc, W.usesound, 50, 1) panel_open = !panel_open user << "The wires have been [panel_open ? "exposed" : "unexposed"]." update_icon() @@ -642,7 +642,7 @@ if(istype(W, /obj/item/weapon/crowbar)) user.visible_message("[user.name] removes the electronics from [src.name].",\ "You start prying out the circuit...") - playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) + playsound(src.loc, W.usesound, 50, 1) if (do_after(user, 20/W.toolspeed, target = src)) if (buildstage == 1) user <<"You remove the air alarm electronics." @@ -683,7 +683,7 @@ if(istype(W, /obj/item/weapon/wrench)) user << "You detach \the [src] from the wall." - playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) + playsound(src.loc, W.usesound, 50, 1) new /obj/item/wallframe/airalarm( user.loc ) qdel(src) return diff --git a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm index de9f37bb4a..4c4d91022e 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm @@ -37,7 +37,7 @@ if(istype(I, /obj/item/weapon/screwdriver)) var/new_setting = "Heater" - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src.loc, I.usesound, 50, 1) if(build_path == initial(heater.build_path)) newtype = freezer new_setting = "Freezer" diff --git a/code/modules/food_and_drinks/food/snacks/meat.dm b/code/modules/food_and_drinks/food/snacks/meat.dm index d006bfb6ee..b225b736d7 100644 --- a/code/modules/food_and_drinks/food/snacks/meat.dm +++ b/code/modules/food_and_drinks/food/snacks/meat.dm @@ -190,6 +190,23 @@ icon_state = "meatwheat_clump" bitesize = 4 +/obj/item/weapon/reagent_containers/food/snacks/meat/rawbacon + name = "raw piece of bacon" + desc = "A raw piece of bacon." + icon_state = "bacon" + cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/bacon + bitesize = 2 + list_reagents = list("nutriment" = 1) + filling_color = "#B22222" + +/obj/item/weapon/reagent_containers/food/snacks/meat/bacon + name = "piece of bacon" + desc = "A delicious piece of bacon." + icon_state = "baconcooked" + list_reagents = list("nutriment" = 2) + bonus_reagents = list("nutriment" = 1, "vitamin" = 1) + filling_color = "#854817" + ////////////////////////////////////// MEAT STEAKS /////////////////////////////////////////////////////////// diff --git a/code/modules/food_and_drinks/food/snacks_burgers.dm b/code/modules/food_and_drinks/food/snacks_burgers.dm index 061a28d6c9..7aebb685cd 100644 --- a/code/modules/food_and_drinks/food/snacks_burgers.dm +++ b/code/modules/food_and_drinks/food/snacks_burgers.dm @@ -196,4 +196,10 @@ name = "rat burger" desc = "Pretty much what you'd expect..." icon_state = "ratburger" - bonus_reagents = list("nutriment" = 1, "vitamin" = 1) \ No newline at end of file + bonus_reagents = list("nutriment" = 1, "vitamin" = 1) + +/obj/item/weapon/reagent_containers/food/snacks/burger/baconburger + name = "bacon burger" + desc = "The perfect combination of all things American." + icon_state = "baconburger" + bonus_reagents = list("nutriment" = 8, "vitamin" = 1) \ No newline at end of file diff --git a/code/modules/food_and_drinks/kitchen_machinery/processor.dm b/code/modules/food_and_drinks/kitchen_machinery/processor.dm index 96d32d3902..a2f4389558 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/processor.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/processor.dm @@ -73,6 +73,10 @@ input = /obj/item/weapon/reagent_containers/food/snacks/meat/slab output = /obj/item/weapon/reagent_containers/food/snacks/faggot +/datum/food_processor_process/bacon + input = /obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet + output = /obj/item/weapon/reagent_containers/food/snacks/meat/rawbacon + /datum/food_processor_process/sweetpotato input = /obj/item/weapon/reagent_containers/food/snacks/grown/potato/sweet output = /obj/item/weapon/reagent_containers/food/snacks/yakiimo diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm index 8b70e10f14..9db8cb7006 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm @@ -252,4 +252,15 @@ /obj/item/weapon/reagent_containers/food/snacks/bun = 1 ) result = /obj/item/weapon/reagent_containers/food/snacks/burger/rat + category = CAT_FOOD + +/datum/crafting_recipe/food/baconburger + name = "Bacon Burger" + reqs = list( + /obj/item/weapon/reagent_containers/food/snacks/meat/bacon = 3, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge = 1, + /obj/item/weapon/reagent_containers/food/snacks/bun = 1 + ) + + result = /obj/item/weapon/reagent_containers/food/snacks/burger/baconburger category = CAT_FOOD \ No newline at end of file diff --git a/code/modules/jobs/job_types/engineering.dm b/code/modules/jobs/job_types/engineering.dm index 03ecc1e671..7114a8b13d 100644 --- a/code/modules/jobs/job_types/engineering.dm +++ b/code/modules/jobs/job_types/engineering.dm @@ -29,7 +29,7 @@ Chief Engineer name = "Chief Engineer" id = /obj/item/weapon/card/id/silver - belt = /obj/item/weapon/storage/belt/utility/full + belt = /obj/item/weapon/storage/belt/utility/chief/full l_pocket = /obj/item/device/pda/heads/ce ears = /obj/item/device/radio/headset/heads/ce uniform = /obj/item/clothing/under/rank/chief_engineer diff --git a/code/modules/mining/lavaland/lavaland_areas.dm b/code/modules/mining/lavaland/lavaland_areas.dm index d87b231061..f77a278ef8 100644 --- a/code/modules/mining/lavaland/lavaland_areas.dm +++ b/code/modules/mining/lavaland/lavaland_areas.dm @@ -9,7 +9,7 @@ icon_state = "explored" music = null requires_power = 1 - ambientsounds = list('sound/ambience/ambimine.ogg') + ambientsounds = list('sound/ambience/ambilava.ogg') /area/lavaland/underground name = "Lavaland Caves" @@ -21,7 +21,7 @@ power_environ = 0 power_equip = 0 power_light = 0 - ambientsounds = list('sound/ambience/ambimine.ogg') + ambientsounds = list('sound/ambience/ambilava.ogg') /area/lavaland/surface/outdoors diff --git a/code/modules/mob/living/simple_animal/bot/construction.dm b/code/modules/mob/living/simple_animal/bot/construction.dm index cc05c51103..4db80c3bac 100644 --- a/code/modules/mob/living/simple_animal/bot/construction.dm +++ b/code/modules/mob/living/simple_animal/bot/construction.dm @@ -174,7 +174,7 @@ if(8) if(istype(W, /obj/item/weapon/screwdriver)) - playsound(loc, 'sound/items/Screwdriver.ogg', 100, 1) + playsound(loc, W.usesound, 100, 1) var/turf/T = get_turf(user) user << "You start attaching the gun to the frame..." sleep(40) diff --git a/code/modules/paperwork/paper_cutter.dm b/code/modules/paperwork/paper_cutter.dm index 88d12fbd1c..965322a3ce 100644 --- a/code/modules/paperwork/paper_cutter.dm +++ b/code/modules/paperwork/paper_cutter.dm @@ -55,7 +55,7 @@ update_icon() return if(istype(P, /obj/item/weapon/screwdriver) && storedcutter) - playsound(src, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src, P.usesound, 50, 1) user << "\The [storedcutter] has been [cuttersecured ? "unsecured" : "secured"]." cuttersecured = !cuttersecured return diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index ed590a2496..9df9e9337c 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -373,7 +373,7 @@ if (terminal) user << "Disconnect the wires first!" return - playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) + playsound(src.loc, W.usesound, 50, 1) user << "You are trying to remove the power control board..." //lpeters - fixed grammar issues if(do_after(user, 50/W.toolspeed, target = src)) if (has_electronics==1) @@ -425,12 +425,12 @@ if (has_electronics==1 && terminal) has_electronics = 2 stat &= ~MAINT - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src.loc, W.usesound, 50, 1) user << "You screw the circuit electronics into place." else if (has_electronics==2) has_electronics = 1 stat |= MAINT - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src.loc, W.usesound, 50, 1) user << "You unfasten the electronics." else /* has_electronics==0 */ user << "There is nothing to secure!" diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm index 4e6059ae5d..79a7990a40 100644 --- a/code/modules/power/gravitygenerator.dm +++ b/code/modules/power/gravitygenerator.dm @@ -186,7 +186,7 @@ var/const/GRAV_NEEDS_WRENCH = 3 if(GRAV_NEEDS_SCREWDRIVER) if(istype(I, /obj/item/weapon/screwdriver)) user << "You secure the screws of the framework." - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src.loc, I.usesound, 50, 1) broken_state++ update_icon() return @@ -216,7 +216,7 @@ var/const/GRAV_NEEDS_WRENCH = 3 if(GRAV_NEEDS_WRENCH) if(istype(I, /obj/item/weapon/wrench)) user << "You secure the plating to the framework." - playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) + playsound(src.loc, I.usesound, 75, 1) set_fix() return return ..() diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 97855e2e16..fbf343381d 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -58,7 +58,7 @@ switch(stage) if(1) if(istype(W, /obj/item/weapon/wrench)) - playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) + playsound(src.loc, W.usesound, 75, 1) usr << "You begin deconstructing [src]..." if (!do_after(usr, 30/W.toolspeed, target = src)) return @@ -98,13 +98,13 @@ new /obj/item/stack/cable_coil(get_turf(loc), 1, "red") user.visible_message("[user.name] removes the wiring from [src].", \ "You remove the wiring from [src].", "You hear clicking.") - playsound(loc, 'sound/items/Wirecutter.ogg', 100, 1) + playsound(loc, W.usesound, 100, 1) return if(istype(W, /obj/item/weapon/screwdriver)) user.visible_message("[user.name] closes [src]'s casing.", \ "You close [src]'s casing.", "You hear screwing.") - playsound(loc, 'sound/items/Screwdriver.ogg', 75, 1) + playsound(loc, W.usesound, 75, 1) switch(fixture_type) if("tube") newlight = new /obj/machinery/light/built(loc) @@ -308,7 +308,7 @@ // attempt to stick weapon into light socket else if(status == LIGHT_EMPTY) if(istype(W, /obj/item/weapon/screwdriver)) //If it's a screwdriver open it. - playsound(src.loc, 'sound/items/Screwdriver.ogg', 75, 1) + playsound(src.loc, W.usesound, 75, 1) user.visible_message("[user.name] opens [src]'s casing.", \ "You open [src]'s casing.", "You hear a noise.") var/obj/machinery/light_construct/newlight = null diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 9b602af5ea..02ba3df07e 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -241,7 +241,7 @@ display round(lastgen) and plasmatank amount return else if(istype(O, /obj/item/weapon/screwdriver)) panel_open = !panel_open - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src.loc, O.usesound, 50, 1) if(panel_open) user << "You open the access panel." else diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index 67c4e44821..9a88564a0e 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -236,10 +236,10 @@ anchored = !anchored if(anchored) user.visible_message("[user] wrenches the solar assembly into place.", "You wrench the solar assembly into place.") - playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) + playsound(src.loc, W.usesound, 75, 1) else user.visible_message("[user] unwrenches the solar assembly from its place.", "You unwrench the solar assembly from its place.") - playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) + playsound(src.loc, W.usesound, 75, 1) return 1 if(istype(W, /obj/item/stack/sheet/glass) || istype(W, /obj/item/stack/sheet/rglass)) @@ -438,7 +438,7 @@ /obj/machinery/power/solar_control/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/weapon/screwdriver)) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src.loc, I.usesound, 50, 1) if(do_after(user, 20/I.toolspeed, target = src)) if (src.stat & BROKEN) user << "The broken glass falls out." diff --git a/code/modules/recycling/disposal-structures.dm b/code/modules/recycling/disposal-structures.dm index 5e116c89d7..283369a5d1 100644 --- a/code/modules/recycling/disposal-structures.dm +++ b/code/modules/recycling/disposal-structures.dm @@ -751,11 +751,11 @@ if(istype(I, /obj/item/weapon/screwdriver)) if(mode==0) mode=1 - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src.loc, I.usesound, 50, 1) user << "You remove the screws around the power connection." else if(mode==1) mode=0 - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) + playsound(src.loc, I.usesound, 50, 1) user << "You attach the screws around the power connection." else if(istype(I,/obj/item/weapon/weldingtool) && mode==1) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 92e8647ee4..48f33cff94 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -434,6 +434,26 @@ datum/design/diagnostic_hud_night build_path = /obj/item/clothing/glasses/science category = list("Equipment") +/datum/design/handdrill + name = "Hand Drill" + desc = "A small electric hand drill with an interchangable screwdriver and bolt bit" + id = "handdrill" + req_tech = list("materials" = 4, "engineering" = 6) + build_type = PROTOLATHE + materials = list(MAT_METAL = 3500, MAT_SILVER = 1500, MAT_TITANIUM = 2500) + build_path = /obj/item/weapon/screwdriver/power + category = list("Equipment") + +/datum/design/jawsoflife + name = "Jaws of Life" + desc = "A small, compact Jaws of Life with an interchangable pry jaws and cutting jaws" + id = "jawsoflife" + req_tech = list("materials" = 4, "engineering" = 6, "magnets" = 6) // added one more requirment since the Jaws of Life are a bit OP + build_path = /obj/item/weapon/crowbar/power + build_type = PROTOLATHE + materials = list(MAT_METAL = 4500, MAT_SILVER = 2500, MAT_TITANIUM = 3500) + category = list("Equipment") + /datum/design/diskplantgene name = "Plant data disk" desc = "A disk for storing plant genetic data." diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index 108b2f320f..7e43f0c611 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -326,8 +326,16 @@ launch_status = ENDGAME_LAUNCHED timer = world.time priority_announce("The Emergency Shuttle has left the station. Estimate [timeLeft(600)] minutes until the shuttle docks at Central Command.", null, null, "Priority") + for(var/mob/Player in mob_list) + if(!istype(Player,/mob/living/silicon || /mob/living/simple_animal)) + if(Player.mind) + if(Player.stat != DEAD && !isbrain(Player)) + if(Player.z != 2) + Player << sound('sound/ambience/deserted.ogg', repeat = 0, wait = 0, volume = 50, channel = 1) + if(SHUTTLE_ESCAPE) + if(time_left <= 50 && !end_sound_played) //4 seconds left:Hyperspace trip completed. - should sync up with the landing end_sound_played = 1 //Only rev them up once. for(var/area/shuttle/escape/E in world) diff --git a/icons/mob/belt.dmi b/icons/mob/belt.dmi index c8f507d1ae..4806e76ffd 100644 Binary files a/icons/mob/belt.dmi and b/icons/mob/belt.dmi differ diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index 41449fa3df..672ec85d4c 100644 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index 9f249c233f..592e42e0b7 100644 Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ diff --git a/icons/obj/clothing/belts.dmi b/icons/obj/clothing/belts.dmi index 872acd78a8..5d5e99aaba 100644 Binary files a/icons/obj/clothing/belts.dmi and b/icons/obj/clothing/belts.dmi differ diff --git a/icons/obj/food/burgerbread.dmi b/icons/obj/food/burgerbread.dmi index b7e1165b67..6947e03398 100644 Binary files a/icons/obj/food/burgerbread.dmi and b/icons/obj/food/burgerbread.dmi differ diff --git a/icons/obj/food/food.dmi b/icons/obj/food/food.dmi index 3165c60ff0..afaf6b89c2 100644 Binary files a/icons/obj/food/food.dmi and b/icons/obj/food/food.dmi differ diff --git a/icons/obj/tools.dmi b/icons/obj/tools.dmi index cf34d32c5c..cd0d3f835e 100644 Binary files a/icons/obj/tools.dmi and b/icons/obj/tools.dmi differ diff --git a/sound/ambience/ambilava.ogg b/sound/ambience/ambilava.ogg new file mode 100644 index 0000000000..51b788b2aa Binary files /dev/null and b/sound/ambience/ambilava.ogg differ diff --git a/sound/ambience/deserted.ogg b/sound/ambience/deserted.ogg new file mode 100644 index 0000000000..88f574d01c Binary files /dev/null and b/sound/ambience/deserted.ogg differ diff --git a/sound/items/WelderActivate.ogg b/sound/items/WelderActivate.ogg new file mode 100644 index 0000000000..5218f2ab1c Binary files /dev/null and b/sound/items/WelderActivate.ogg differ diff --git a/sound/items/WelderDeactivate.ogg b/sound/items/WelderDeactivate.ogg new file mode 100644 index 0000000000..22ac4f445c Binary files /dev/null and b/sound/items/WelderDeactivate.ogg differ diff --git a/sound/items/change_drill.ogg b/sound/items/change_drill.ogg new file mode 100644 index 0000000000..406027a595 Binary files /dev/null and b/sound/items/change_drill.ogg differ diff --git a/sound/items/change_jaws.ogg b/sound/items/change_jaws.ogg new file mode 100644 index 0000000000..b6a41eca80 Binary files /dev/null and b/sound/items/change_jaws.ogg differ diff --git a/sound/items/drill_hit.ogg b/sound/items/drill_hit.ogg new file mode 100644 index 0000000000..0f8fa631aa Binary files /dev/null and b/sound/items/drill_hit.ogg differ diff --git a/sound/items/drill_use.ogg b/sound/items/drill_use.ogg new file mode 100644 index 0000000000..82f37cd35b Binary files /dev/null and b/sound/items/drill_use.ogg differ diff --git a/sound/items/jaws_cut.ogg b/sound/items/jaws_cut.ogg new file mode 100644 index 0000000000..a0bfd85502 Binary files /dev/null and b/sound/items/jaws_cut.ogg differ diff --git a/sound/items/jaws_pry.ogg b/sound/items/jaws_pry.ogg new file mode 100644 index 0000000000..05178bd466 Binary files /dev/null and b/sound/items/jaws_pry.ogg differ