Ports n' Stuff (#65)

* baykun

* spooky lavaland music

* deserted sound +  burger fix

* powertools

* forgot

* ex d

* atom support

* Revert "atom support"

This reverts commit 5c9790bfef97b3a5b3bf324950de6cbe91af71d9.

* ignore atom file for my setup

* oh whoops xd
This commit is contained in:
Somebody once told me the world is gonna roll me; I ain't the sharpest tool in the shed. She was looking kind of dumb with her finger and her thumb in the shape of an "L" on her forehead
2016-10-29 22:13:30 -04:00
committed by TalkingCactus
parent c78fddcf13
commit 9b07cb4798
64 changed files with 371 additions and 143 deletions
+4 -4
View File
@@ -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 << "<span class='notice'>You start removing [src]'s front panel's screws...</span>"
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 << "<span class='notice'>You start removing [src]'s front panel...</span>"
playsound(loc, 'sound/items/Crowbar.ogg', 100, 1)
playsound(loc, I.usesound, 100, 1)
if(do_after(user,30/I.toolspeed,target=src))
user << "<span class='notice'>You remove [src]'s front panel.</span>"
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 << "<span class='notice'>You start cutting [src]'s inner plate...</span>"
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 << "<span class='notice'>You start prying off [src]'s inner plate...</span>"
playsound(loc, 'sound/items/Crowbar.ogg', 100, 1)
playsound(loc, I.usesound, 100, 1)
if(do_after(user,50/I.toolspeed,target=src))
user << "<span class='notice'>You pry off [src]'s inner plate. You can see the core's green glow!</span>"
deconstruction_state = NUKESTATE_CORE_EXPOSED
+1 -1
View File
@@ -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 << "<span class='notice'>You [panel_open ? "open" : "close"] the maintenance hatch of [src].</span>"
update_icon()
+2 -2
View File
@@ -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 = "<span class='notice'>You attach [W] into the assembly's inner circuits.</span>"
var/msg2 = "<span class='notice'>[src] already has that upgrade!</span>"
@@ -134,7 +134,7 @@
if(istype(W, /obj/item/weapon/screwdriver))
panel_open = !panel_open
user << "<span class='notice'>You screw the camera's panel [panel_open ? "open" : "closed"].</span>"
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
playsound(src.loc, W.usesound, 50, 1)
return
if(panel_open)
@@ -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 << "<span class='notice'>You unattach the assembly from its place.</span>"
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 << "<span class='notice'>You cut the wires from the circuits.</span>"
state = 2
return
@@ -115,7 +115,7 @@
var/obj/U = locate(/obj) in upgrades
if(U)
user << "<span class='notice'>You unattach an upgrade from the assembly.</span>"
playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
playsound(src.loc, W.usesound, 50, 1)
U.loc = get_turf(src)
upgrades -= U
return
+10 -10
View File
@@ -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 << "<span class='notice'>You start wrenching the frame into place...</span>"
if(do_after(user, 20/P.toolspeed, target = src))
user << "<span class='notice'>You wrench the frame into place.</span>"
@@ -21,7 +21,7 @@
if(!WT.isOn())
user << "<span class='warning'>The welding tool must be on to complete this task!</span>"
return
playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
playsound(src.loc, P.usesound, 50, 1)
user << "<span class='notice'>You start deconstructing the frame...</span>"
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 << "<span class='notice'>You start to unfasten the frame...</span>"
if(do_after(user, 20/P.toolspeed, target = src))
user << "<span class='notice'>You unfasten the frame.</span>"
@@ -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 << "<span class='notice'>You place the circuit board inside the frame.</span>"
icon_state = "1"
circuit = P
@@ -51,12 +51,12 @@
user << "<span class='warning'>This frame does not accept circuit boards of this type!</span>"
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 << "<span class='notice'>You screw the circuit board into place.</span>"
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 << "<span class='notice'>You remove the circuit board.</span>"
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 << "<span class='notice'>You unfasten the circuit board.</span>"
state = 1
icon_state = "1"
@@ -84,7 +84,7 @@
user << "<span class='warning'>You need five lengths of cable to wire the frame!</span>"
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 << "<span class='notice'>You remove the cables.</span>"
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 << "<span class='notice'>You remove the glass panel.</span>"
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 << "<span class='notice'>You connect the monitor.</span>"
var/obj/B = new src.circuit.build_path (src.loc, circuit)
transfer_fingerprints_to(B)
+1 -1
View File
@@ -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 << "<span class='notice'> You start to disconnect the monitor...</span>"
if(do_after(user, 20/I.toolspeed, target = src))
deconstruction()
+6 -6
View File
@@ -85,7 +85,7 @@
user << "<span class='warning'>You need five length of cable to wire the frame!</span>"
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("<span class='warning'>[user] disassembles the frame.</span>", \
"<span class='notice'>You start to disassemble the frame...</span>", "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 << "<span class='notice'>You start [anchored ? "un" : ""]securing [name]...</span>"
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 << "<span class='notice'>You [anchored ? "un" : ""]secure [name].</span>"
@@ -105,7 +105,7 @@
if(2)
if(istype(P, /obj/item/weapon/wrench))
user << "<span class='notice'>You start [anchored ? "un" : ""]securing [name]...</span>"
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 << "<span class='notice'>You [anchored ? "un" : ""]secure [name].</span>"
anchored = !anchored
@@ -131,7 +131,7 @@
user << "<span class='warning'>This frame does not accept circuit boards of this type!</span>"
if(istype(P, /obj/item/weapon/wirecutters))
playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1)
playsound(src.loc, P.usesound, 50, 1)
user << "<span class='notice'>You remove the cables.</span>"
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)
+27 -2
View File
@@ -870,7 +870,7 @@ var/list/airlock_overlays = list()
beingcrowbarred = 0
if(panel_open && charge)
user << "<span class='notice'>You carefully start removing [charge] from [src]...</span>"
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 << "<span class='warning'>You slip and [charge] detonates!</span>"
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.", \
"<span class='notice'>You start to remove electronics from the airlock assembly...</span>")
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 << "<span class='warning'>The bolts are down, it won't budge!</span>"
return
if(welded)
user << "<span class='warning'>It's welded, it won't budge!</span>"
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 << "<span class='warning'>Despite your attempts, the [src] refuses to open.</span>"
/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)](<A HREF='?_src_=holder;adminmoreinfo=\ref[user]'>?</A>) (<A HREF='?_src_=holder;adminplayerobservefollow=\ref[user]'>FLW</A>) in ([x],[y],[z] - <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>)")
+5 -5
View File
@@ -440,7 +440,7 @@
if(istype(I, /obj/item/weapon/screwdriver))
if(construction_state == GEAR_SECURE)
user.visible_message("<span class='notice'>[user] begins unfastening [src]'s gear...</span>", "<span class='notice'>You begin unfastening [src]'s gear...</span>")
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("<span class='notice'>[user] unfastens [src]'s gear!</span>", "<span class='notice'>[src]'s gear shifts slightly with a pop.</span>")
@@ -448,7 +448,7 @@
construction_state = GEAR_UNFASTENED
else if(construction_state == GEAR_UNFASTENED)
user.visible_message("<span class='notice'>[user] begins fastening [src]'s gear...</span>", "<span class='notice'>You begin fastening [src]'s gear...</span>")
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("<span class='notice'>[user] fastens [src]'s gear!</span>", "<span class='notice'>[src]'s gear shifts back into place.</span>")
@@ -463,7 +463,7 @@
return 0
else if(construction_state == GEAR_UNFASTENED)
user.visible_message("<span class='notice'>[user] begins loosening [src]'s gear...</span>", "<span class='notice'>You begin loosening [src]'s gear...</span>")
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("<span class='notice'>[user] loosens [src]'s gear!</span>", "<span class='notice'>[src]'s gear pops off and dangles loosely.</span>")
@@ -471,7 +471,7 @@
construction_state = GEAR_LOOSE
else if(construction_state == GEAR_LOOSE)
user.visible_message("<span class='notice'>[user] begins tightening [src]'s gear...</span>", "<span class='notice'>You begin tightening [src]'s gear into place...</span>")
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("<span class='notice'>[user] tightens [src]'s gear!</span>", "<span class='notice'>You firmly tighten [src]'s gear into place.</span>")
@@ -484,7 +484,7 @@
return 1
else if(construction_state == GEAR_LOOSE)
user.visible_message("<span class='notice'>[user] begins slowly lifting off [src]'s gear...</span>", "<span class='notice'>You slowly begin lifting off [src]'s gear...</span>")
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("<span class='notice'>[user] lifts off [src]'s gear, causing it to fall apart!</span>", "<span class='notice'>You lift off [src]'s gear, causing it to fall \
+2 -2
View File
@@ -246,14 +246,14 @@
if(density || operating)
user << "<span class='warning'>You need to open the door to access the maintenance panel!</span>"
return
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
playsound(src.loc, I.usesound, 50, 1)
panel_open = !panel_open
user << "<span class='notice'>You [panel_open ? "open":"close"] the maintenance panel of the [src.name].</span>"
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].", \
"<span class='notice'>You start to remove electronics from the [src.name]...</span>")
if(do_after(user,40/I.toolspeed, target = src))
+4 -4
View File
@@ -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 << "<span class='notice'>The wires have been [panel_open ? "exposed" : "unexposed"].</span>"
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].", \
"<span class='notice'>You start prying out the circuit...</span>")
if(do_after(user, 20/W.toolspeed, target = src))
@@ -199,7 +199,7 @@
"<span class='notice'>You remove the fire alarm assembly from the wall.</span>")
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 ..()
+5 -5
View File
@@ -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("<span class='notice'>[usr] pries open \the [src].</span>", "<span class='notice'>You pry open \the [src].</span>")
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 << "<span class='notice'>You rotate [src].</span>"
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 << "<span class='notice'>You begin [anchored ? "un" : ""]securing [name]...</span>"
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(loc, W.usesound, 50, 1)
if(do_after(user, time/W.toolspeed, target = src))
user << "<span class='notice'>You [anchored ? "un" : ""]secure [name].</span>"
anchored = !anchored
@@ -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 << "<span class='notice'>You secure the external bolts.</span>"
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 << "<span class='notice'>You dismantle the turret construction.</span>"
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 << "<span class='notice'>You unfasten the external bolts.</span>"
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 << "<span class='notice'>You bolt the metal armor into place.</span>"
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 << "<span class='notice'>You remove the turret's metal armor bolts.</span>"
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 << "<span class='notice'>You close the internal access hatch.</span>"
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 << "<span class='notice'>You open the internal access hatch.</span>"
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 << "<span class='notice'>You pry off the turret's exterior armor.</span>"
new /obj/item/stack/sheet/metal(loc, 2)
build_step = PTURRET_CLOSED
+5 -5
View File
@@ -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 << "<span class='notice'>You open the panel and expose the wiring.</span>"
@@ -228,11 +228,11 @@
user << "<span class='warning'>The bolts are covered! Unlocking this would retract the covers.</span>"
return
if(!anchored && !isinspace())
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
playsound(src.loc, W.usesound, 100, 1)
user << "<span class='notice'>You secure \the [src] to the floor!</span>"
anchored = 1
else if(anchored)
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
playsound(src.loc, W.usesound, 100, 1)
user << "<span class='notice'>You unsecure \the [src] from the floor!</span>"
if(active)
user << "<span class='notice'>\The [src] shuts off!</span>"
@@ -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 << "<span class='notice'>You secure the external reinforcing bolts to the floor.</span>"
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 << "<span class='notice'>You undo the external reinforcing bolts.</span>"
anchored = 0
return
+1
View File
@@ -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.
@@ -121,7 +121,7 @@
user << "<span class='warning'>Turn off [src] before you perform this action!</span>"
return 0
user.visible_message("<span class='notice'>[user] unscrews [src]'s maintenance panel and begins fiddling with its innards...</span>", "<span class='notice'>You begin resetting [src]...</span>")
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("<span class='notice'>[user] refastens [src]'s maintenance panel!</span>", "<span class='notice'>You reset [src] to its factory settings!</span>")
@@ -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)
+125 -6
View File
@@ -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("<span class='suicide'>[user] is beating \himself to death with the [src.name]! It looks like \he's trying to commit suicide.</span>")
user.visible_message("<span class='suicide'>[user] is beating \himself to death with the [src]! It looks like \he's trying to commit suicide.</span>")
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 << "<span class='notice'>You attach the screw driver bit to the [src].</span>"
user.unEquip(src)
user.put_in_active_hand(s_drill)
qdel(src)
obj/item/weapon/wrench/power/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[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("<span class='suicide'>[user] is praying to the medical wrench to take \his soul. It looks like \he's trying to commit suicide.</span>")
@@ -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("<span class='suicide'>[user] is stabbing the [src.name] into \his temple! It looks like \he's trying to commit suicide.</span>", \
"<span class='suicide'>[user] is stabbing the [src.name] into \his heart! It looks like \he's trying to commit suicide.</span>"))
user.visible_message(pick("<span class='suicide'>[user] is stabbing the [src] into \his temple! It looks like \he's trying to commit suicide.</span>", \
"<span class='suicide'>[user] is stabbing the [src] into \his heart! It looks like \he's trying to commit suicide.</span>"))
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("<span class='suicide'>[user] is putting the [src] up to \his temple, it looks like they're trying to commit suicide</span>")
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 << "<span class='notice'>You attach the bolt driver bit to the [src].</span>"
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("<span class='suicide'>[user] is cutting at \his arteries with the [src.name]! It looks like \he's trying to commit suicide.</span>")
user.visible_message("<span class='suicide'>[user] is cutting at \his arteries with the [src]! It looks like \he's trying to commit suicide.</span>")
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("<span class='suicide'>[user] is the [src] around \his neck, it looks like \he's trying to rip \his head off!</span>")
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("<span class='suicide'>[user] doesn't have a head to cutt off, but dies anyway.</span>")
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 << "<span class='notice'>You attach the pry jaws to the [src].</span>"
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 << "<span class='notice'>You switch [src] on.</span>"
playsound(loc, acti_sound, 50, 1)
force = 15
damtype = "fire"
hitsound = 'sound/items/welder.ogg'
@@ -389,6 +481,7 @@
else
if(!message)
user << "<span class='notice'>You switch [src] off.</span>"
playsound(loc, deac_sound, 50, 1)
else
user << "<span class='warning'>[src] shuts off!</span>"
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("<span class='suicide'>[user] is beating \himself to death with the [src.name]! It looks like \he's trying to commit suicide.</span>")
user.visible_message("<span class='suicide'>[user] is beating \himself to death with the [src]! It looks like \he's trying to commit suicide.</span>")
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("<span class='suicide'>[user] is putting his head in the [src], it looks like \he's trying to commit suicide!</span>")
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 << "<span class='notice'>You attach the cutting jaws to the [src].</span>"
user.unEquip(src)
user.put_in_active_hand(cutjaws)
qdel(src)
+10 -10
View File
@@ -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 << "<span class='notice'>You start wrenching the frame into place...</span>"
if(do_after(user, 20/P.toolspeed, target = src))
user << "<span class='notice'>You wrench the frame into place.</span>"
@@ -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 << "<span class='notice'>You start to unfasten the frame...</span>"
if(do_after(user, 20/P.toolspeed, target = src))
user << "<span class='notice'>You unfasten the frame.</span>"
@@ -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 << "<span class='notice'>You screw the circuit board into place.</span>"
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 << "<span class='notice'>You remove the circuit board.</span>"
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 << "<span class='notice'>You unfasten the circuit board.</span>"
state = 1
icon_state = "1"
@@ -95,7 +95,7 @@
if (brain)
user << "<span class='warning'>Get that brain out of there first!</span>"
else
playsound(loc, 'sound/items/Wirecutter.ogg', 50, 1)
playsound(loc, P.usesound, 50, 1)
user << "<span class='notice'>You remove the cables.</span>"
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 << "<span class='notice'>You remove the brain.</span>"
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 << "<span class='notice'>You remove the glass panel.</span>"
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 << "<span class='notice'>You connect the monitor.</span>"
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].", \
"<span class='notice'>You start to [anchored ? "fasten [src] to" : "unfasten [src] from"] the floor...</span>")
switch(anchored)
@@ -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.", \
"<span class='notice'>You start to secure the airlock assembly to the floor...</span>", \
"<span class='italics'>You hear wrenching.</span>")
@@ -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.", \
"<span class='notice'>You start to unsecure the airlock assembly from the floor...</span>", \
"<span class='italics'>You hear wrenching.</span>")
@@ -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.", \
"<span class='notice'>You start to cut the wires from the airlock assembly...</span>")
@@ -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.", \
"<span class='notice'>You start to install electronics into the airlock assembly...</span>")
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.", \
"<span class='notice'>You start to remove electronics from the airlock assembly...</span>")
@@ -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.", \
"<span class='notice'>You start to install [G.name] into the airlock assembly...</span>")
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.", \
"<span class='notice'>You start to install [G.name] into the airlock assembly...</span>")
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.", \
"<span class='notice'>You start finishing the airlock...</span>")
+6 -6
View File
@@ -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("<span class='warning'>[user] disassembles the girder.</span>", \
"<span class='notice'>You start to disassemble the girder...</span>", "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 << "<span class='notice'>You start unsecuring support struts...</span>"
if(do_after(user, 40/W.toolspeed, target = src))
if(state != GIRDER_REINF)
@@ -43,7 +43,7 @@
if(!istype(loc, /turf/open/floor))
user << "<span class='warning'>A floor must be present to secure the girder!</span>"
return
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
playsound(src.loc, W.usesound, 100, 1)
user << "<span class='notice'>You start securing the girder...</span>"
if(do_after(user, 40/W.toolspeed, target = src))
user << "<span class='notice'>You secure the girder.</span>"
@@ -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 << "<span class='notice'>You start unsecuring the girder...</span>"
if(do_after(user, 40/W.toolspeed, target = src))
user << "<span class='notice'>You unsecure the girder.</span>"
@@ -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 << "<span class='notice'>You start removing support struts...</span>"
if(do_after(user, 40/W.toolspeed, target = src))
user << "<span class='notice'>You remove the support struts.</span>"
@@ -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 << "<span class='notice'>You start slicing apart the girder...</span>"
if(do_after(user, 40/W.toolspeed, target = src))
if( !WT.isOn() )
+3 -3
View File
@@ -45,16 +45,16 @@
if(istype(W, /obj/item/weapon/screwdriver) && !anchored)
if(deconstruction_state == SHOWCASE_SCREWDRIVERED)
user << "<span class='notice'>You screw the screws back into the showcase.</span>"
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 << "<span class='notice'>You unscrew the screws.</span>"
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 << "<span class='notice'>You start to crowbar the showcase apart...</span>"
new /obj/item/stack/sheet/metal (get_turf(src), 4)
qdel(src)
+3 -4
View File
@@ -227,7 +227,7 @@
return
if(disassembling)
user << "<span class='notice'>You start disassembling [src]...</span>"
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 << "<span class='notice'>You start strengthening the reinforced table...</span>"
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
@@ -101,7 +101,7 @@
if(WD.dir == dir)
user << "<span class='warning'>There is already a windoor in that location!</span>"
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.", "<span class='notice'>You start to secure the windoor assembly to the floor...</span>")
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.", "<span class='notice'>You start to unsecure the windoor assembly to the floor...</span>")
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.", "<span class='notice'>You start to cut the wires from airlock assembly...</span>")
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.", "<span class='notice'>You start to install electronics into the airlock assembly...</span>")
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.", "<span class='notice'>You start to uninstall electronics from the airlock assembly...</span>")
if(do_after(user, 40/W.toolspeed, target = src))
@@ -245,7 +245,7 @@
usr << "<span class='warning'>The assembly is missing electronics!</span>"
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.", "<span class='notice'>You start prying the windoor into the frame...</span>")
if(do_after(user, 40/W.toolspeed, target = src))
+3 -3
View File
@@ -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 ? "<span class='notice'>You begin to unscrew the window from the frame...</span>" : "<span class='notice'>You begin to screw the window to the frame...</span>")
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 ? "<span class='notice'>You begin to lever the window into the frame...</span>" : "<span class='notice'>You begin to lever the window out of the frame...</span>")
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 << "<span class='notice'> You begin to disassemble [src]...</span>"
if(do_after(user, 40/I.toolspeed, target = src))
if(qdeleted(src))
@@ -18,7 +18,7 @@
user << "<span class='danger'>You unscrew the planks.</span>"
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
+1 -1
View File
@@ -177,7 +177,7 @@
var/obj/item/weapon/weldingtool/WT = W
if( WT.remove_fuel(0,user) )
user << "<span class='notice'>You begin slicing through the outer plating...</span>"
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
@@ -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 << "<span class='notice'>You cut the outer grille.</span>"
@@ -74,7 +74,7 @@
if(1)
if (istype(W, /obj/item/weapon/screwdriver))
user << "<span class='notice'>You begin removing the support lines...</span>"
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 << "<span class='notice'>You begin slicing through the metal cover...</span>"
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 << "<span class='notice'>You begin slicing through the metal cover...</span>"
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 << "<span class='notice'>You struggle to pry off the cover...</span>"
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 << "<span class='notice'>You start loosening the anchoring bolts which secure the support rods to their frame...</span>"
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 << "<span class='notice'>You begin slicing through the support rods...</span>"
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 << "<span class='notice'>You begin slicing through the support rods...</span>"
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 << "<span class='notice'>You struggle to pry off the outer sheath...</span>"
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 )
@@ -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 << "<span class='notice'>You cut the final wires.</span>"
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 << "<span class='notice'>The wires have been [panel_open ? "exposed" : "unexposed"].</span>"
update_icon()
@@ -642,7 +642,7 @@
if(istype(W, /obj/item/weapon/crowbar))
user.visible_message("[user.name] removes the electronics from [src.name].",\
"<span class='notice'>You start prying out the circuit...</span>")
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 <<"<span class='notice'>You remove the air alarm electronics.</span>"
@@ -683,7 +683,7 @@
if(istype(W, /obj/item/weapon/wrench))
user << "<span class='notice'>You detach \the [src] from the wall.</span>"
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
@@ -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"
@@ -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 ///////////////////////////////////////////////////////////
@@ -196,4 +196,10 @@
name = "rat burger"
desc = "Pretty much what you'd expect..."
icon_state = "ratburger"
bonus_reagents = list("nutriment" = 1, "vitamin" = 1)
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)
@@ -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
@@ -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
+1 -1
View File
@@ -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
@@ -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
@@ -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 << "<span class='notice'>You start attaching the gun to the frame...</span>"
sleep(40)
+1 -1
View File
@@ -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 << "<span class='notice'>\The [storedcutter] has been [cuttersecured ? "unsecured" : "secured"].</span>"
cuttersecured = !cuttersecured
return
+3 -3
View File
@@ -373,7 +373,7 @@
if (terminal)
user << "<span class='warning'>Disconnect the wires first!</span>"
return
playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
playsound(src.loc, W.usesound, 50, 1)
user << "<span class='notice'>You are trying to remove the power control board...</span>" //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 << "<span class='notice'>You screw the circuit electronics into place.</span>"
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 << "<span class='notice'>You unfasten the electronics.</span>"
else /* has_electronics==0 */
user << "<span class='warning'>There is nothing to secure!</span>"
+2 -2
View File
@@ -186,7 +186,7 @@ var/const/GRAV_NEEDS_WRENCH = 3
if(GRAV_NEEDS_SCREWDRIVER)
if(istype(I, /obj/item/weapon/screwdriver))
user << "<span class='notice'>You secure the screws of the framework.</span>"
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 << "<span class='notice'>You secure the plating to the framework.</span>"
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
playsound(src.loc, I.usesound, 75, 1)
set_fix()
return
return ..()
+4 -4
View File
@@ -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 << "<span class='notice'>You begin deconstructing [src]...</span>"
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].", \
"<span class='notice'>You remove the wiring from [src].</span>", "<span class='italics'>You hear clicking.</span>")
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.", \
"<span class='notice'>You close [src]'s casing.</span>", "<span class='italics'>You hear screwing.</span>")
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.", \
"<span class='notice'>You open [src]'s casing.</span>", "<span class='italics'>You hear a noise.</span>")
var/obj/machinery/light_construct/newlight = null
+1 -1
View File
@@ -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 << "<span class='notice'>You open the access panel.</span>"
else
+3 -3
View File
@@ -236,10 +236,10 @@
anchored = !anchored
if(anchored)
user.visible_message("[user] wrenches the solar assembly into place.", "<span class='notice'>You wrench the solar assembly into place.</span>")
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.", "<span class='notice'>You unwrench the solar assembly from its place.</span>")
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 << "<span class='notice'>The broken glass falls out.</span>"
@@ -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 << "<span class='notice'>You remove the screws around the power connection.</span>"
else if(mode==1)
mode=0
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
playsound(src.loc, I.usesound, 50, 1)
user << "<span class='notice'>You attach the screws around the power connection.</span>"
else if(istype(I,/obj/item/weapon/weldingtool) && mode==1)
+20
View File
@@ -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."
+8
View File
@@ -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)