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
+2
View File
@@ -181,3 +181,5 @@ Temporary Items
Temporary Items
.apdisk
*.before
+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)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.