Abductor tools and tool sound refactor. (#22125)

* Everything in the PR

* I'm taking that as a yes
This commit is contained in:
XDTM
2016-12-14 18:09:41 +13:00
committed by oranges
parent ddd79ea572
commit 7d1a67d0c8
87 changed files with 358 additions and 162 deletions
+2 -2
View File
@@ -200,7 +200,7 @@ var/list/wire_name_directory = list()
for(var/color in colors)
payload.Add(list(list(
"color" = color,
"wire" = (IsAdminGhost(user) ? get_wire(color) : null),
"wire" = (IsAdminGhost(user) || (user.is_holding_item_of_type(/obj/item/device/multitool/abductor)) ? get_wire(color) : null),
"cut" = is_color_cut(color),
"attached" = is_attached(color)
)))
@@ -217,7 +217,7 @@ var/list/wire_name_directory = list()
switch(action)
if("cut")
if(istype(I, /obj/item/weapon/wirecutters) || IsAdminGhost(usr))
playsound(holder, 'sound/items/Wirecutter.ogg', 20, 1)
playsound(holder, I.usesound, 20, 1)
cut_color(target_wire)
. = TRUE
else
@@ -228,10 +228,11 @@
console.vest = V
V.flags |= NODROP
agent.equip_to_slot_or_del(V, slot_wear_suit)
agent.equip_to_slot_or_del(new /obj/item/weapon/abductor_baton(agent), slot_belt)
agent.equip_to_slot_or_del(new /obj/item/weapon/abductor_baton(agent), slot_in_backpack)
agent.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/alien(agent), slot_in_backpack)
agent.equip_to_slot_or_del(new /obj/item/device/abductor/silencer(agent), slot_in_backpack)
agent.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/abductor(agent), slot_head)
agent.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/military/abductor/full(agent), slot_belt)
/datum/game_mode/abduction/proc/equip_scientist(var/mob/living/carbon/human/scientist,var/team_number)
@@ -484,30 +484,35 @@ Congratulations! You are now trained for xenobiology research!"}
desc = "It's a gleaming sharp knife made out of silvery-green metal."
icon = 'icons/obj/abductor.dmi'
origin_tech = "materials=2;biotech=2;abductor=2"
toolspeed = 0.25
/obj/item/weapon/hemostat/alien
name = "alien hemostat"
desc = "You've never seen this before."
icon = 'icons/obj/abductor.dmi'
origin_tech = "materials=2;biotech=2;abductor=2"
toolspeed = 0.25
/obj/item/weapon/retractor/alien
name = "alien retractor"
desc = "You're not sure if you want the veil pulled back."
icon = 'icons/obj/abductor.dmi'
origin_tech = "materials=2;biotech=2;abductor=2"
toolspeed = 0.25
/obj/item/weapon/circular_saw/alien
name = "alien saw"
desc = "Do the aliens also lose this, and need to find an alien hatchet?"
icon = 'icons/obj/abductor.dmi'
origin_tech = "materials=2;biotech=2;abductor=2"
toolspeed = 0.25
/obj/item/weapon/surgicaldrill/alien
name = "alien drill"
desc = "Maybe alien surgeons have finally found a use for the drill."
icon = 'icons/obj/abductor.dmi'
origin_tech = "materials=2;biotech=2;abductor=2"
toolspeed = 0.25
/obj/item/weapon/cautery/alien
name = "alien cautery"
@@ -515,6 +520,7 @@ Congratulations! You are now trained for xenobiology research!"}
Unless..."
icon = 'icons/obj/abductor.dmi'
origin_tech = "materials=2;biotech=2;abductor=2"
toolspeed = 0.25
/obj/item/clothing/head/helmet/abductor
name = "agent headgear"
@@ -554,7 +560,7 @@ Congratulations! You are now trained for xenobiology research!"}
/obj/structure/table_frame/abductor/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wrench))
user << "<span class='notice'>You start disassembling [src]...</span>"
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(src.loc, I.usesound, 50, 1)
if(do_after(user, 30*I.toolspeed, target = src))
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
for(var/i = 1, i <= framestackamount, i++)
+2 -2
View File
@@ -87,7 +87,7 @@
user.visible_message("[user] is repairing [src].", \
"<span class='notice'>You begin repairing [src]...</span>", \
"<span class='italics'>You hear welding.</span>")
playsound(loc, 'sound/items/Welder.ogg', 40, 1)
playsound(loc, WT.usesound, 40, 1)
if(do_after(user,40*WT.toolspeed, 1, target = src))
if(!WT.isOn() || !(stat & BROKEN))
return
@@ -146,4 +146,4 @@
/obj/machinery/pdapainter/power_change()
..()
update_icon()
update_icon()
+1 -1
View File
@@ -89,7 +89,7 @@
if(!device && !board && istype(W, /obj/item/weapon/wrench))
user << "<span class='notice'>You start unsecuring the button frame...</span>"
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(loc, W.usesound, 50, 1)
if(do_after(user, 40*W.toolspeed, target = src))
user << "<span class='notice'>You unsecure the button frame.</span>"
transfer_fingerprints_to(new /obj/item/wallframe/button(get_turf(src)))
+2 -2
View File
@@ -374,9 +374,9 @@
return 0
user << "<span class='notice'>You start to weld [src]...</span>"
playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
playsound(src.loc, WT.usesound, 50, 1)
busy = 1
if(do_after(user, 100, target = src))
if(do_after(user, 100*WT.toolspeed, target = src))
busy = 0
if(!WT.isOn())
return 0
@@ -128,8 +128,8 @@
if(!WT.remove_fuel(0, user))
return 0
user << "<span class='notice'>You start to weld \the [src]...</span>"
playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
if(do_after(user, 20, target = src))
playsound(src.loc, WT.usesound, 50, 1)
if(do_after(user, 20*WT.toolspeed, target = src))
if(WT.isOn())
playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
return 1
+1 -1
View File
@@ -65,7 +65,7 @@
anchored = !anchored
user << "<span class='notice'>You [anchored ? "attach" : "detach"] the cell charger [anchored ? "to" : "from"] the ground</span>"
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
playsound(src.loc, W.usesound, 75, 1)
else
return ..()
+1 -1
View File
@@ -32,7 +32,7 @@
if(obj_integrity < max_integrity)
if(WT.remove_fuel(0,user))
user << "<span class='notice'>You begin repairing [src]...</span>"
playsound(loc, 'sound/items/Welder.ogg', 40, 1)
playsound(loc, WT.usesound, 40, 1)
if(do_after(user, 40*I.toolspeed, target = src))
obj_integrity = Clamp(obj_integrity + 20, 0, max_integrity)
else
+4 -4
View File
@@ -1065,12 +1065,12 @@ var/list/airlock_overlays = list()
return
if(AIRLOCK_SECURITY_PLASTEEL)
if(istype(C, /obj/item/weapon/wirecutters))
var/obj/item/weapon/W = C
var/obj/item/weapon/wirecutters/W = C
if(src.hasPower() && src.shock(user, 60)) // Protective grille of wiring is electrified
return
user << "<span class='notice'>You started cutting through outer grille</span>"
user << "<span class='notice'>You start cutting through outer grille.</span>"
playsound(src, W.usesound, 100, 1)
if(do_after(user, 10, 1, target = src))
if(do_after(user, 10*W.toolspeed, 1, target = src))
if(!panel_open)
return
user.visible_message("<span class='notice'>[user] cut through \the [src]'s outer grille.</span>",
@@ -1119,7 +1119,7 @@ var/list/airlock_overlays = list()
user.visible_message("[user] is [welded ? "unwelding":"welding"] the airlock.", \
"<span class='notice'>You begin [welded ? "unwelding":"welding"] the airlock...</span>", \
"<span class='italics'>You hear welding.</span>")
playsound(loc, 'sound/items/Welder.ogg', 40, 1)
playsound(loc, W.usesound, 40, 1)
if(do_after(user,40*W.toolspeed, 1, target = src))
if(density && !operating)//Door must be closed to weld.
if(!user || !W || !W.isOn() || !user.loc )
+8 -8
View File
@@ -49,7 +49,7 @@
return//Already doing something.
if(istype(C, /obj/item/weapon/wrench) && panel_open)
playsound(get_turf(src), 'sound/items/Ratchet.ogg', 50, 1)
playsound(get_turf(src), C.usesound, 50, 1)
user.visible_message("<span class='notice'>[user] starts undoing [src]'s bolts...</span>", \
"<span class='notice'>You start unfastening [src]'s floor bolts...</span>")
if(!do_after(user, 50*C.toolspeed, target = src))
@@ -218,7 +218,7 @@
switch(constructionStep)
if(CONSTRUCTION_PANEL_OPEN)
if(istype(C, /obj/item/weapon/crowbar))
playsound(get_turf(src), 'sound/items/Crowbar.ogg', 50, 1)
playsound(get_turf(src), C.usesound, 50, 1)
user.visible_message("<span class='notice'>[user] starts prying something out from [src]...</span>", \
"<span class='notice'>You begin prying out the wire cover...</span>")
if(!do_after(user, 50*C.toolspeed, target = src))
@@ -235,7 +235,7 @@
if(locate(/obj/machinery/door/firedoor) in get_turf(src))
user << "<span class='warning'>There's already a firelock there.</span>"
return
playsound(get_turf(src), 'sound/items/Ratchet.ogg', 50, 1)
playsound(get_turf(src), C.usesound, 50, 1)
user.visible_message("<span class='notice'>[user] starts bolting down [src]...</span>", \
"<span class='notice'>You begin bolting [src]...</span>")
if(!do_after(user, 30*C.toolspeed, target = src))
@@ -274,7 +274,7 @@
if(CONSTRUCTION_WIRES_EXPOSED)
if(istype(C, /obj/item/weapon/wirecutters))
playsound(get_turf(src), 'sound/items/Wirecutter.ogg', 50, 1)
playsound(get_turf(src), C.usesound, 50, 1)
user.visible_message("<span class='notice'>[user] starts cutting the wires from [src]...</span>", \
"<span class='notice'>You begin removing [src]'s wires...</span>")
if(!do_after(user, 60*C.toolspeed, target = src))
@@ -291,7 +291,7 @@
if(istype(C, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/W = C
if(W.remove_fuel(1, user))
playsound(get_turf(src), 'sound/items/Welder.ogg', 50, 1)
playsound(get_turf(src), W.usesound, 50, 1)
user.visible_message("<span class='notice'>[user] starts welding a metal plate into [src]...</span>", \
"<span class='notice'>You begin welding the cover plate back onto [src]...</span>")
if(!do_after(user, 80*C.toolspeed, target = src))
@@ -308,7 +308,7 @@
if(istype(C, /obj/item/weapon/crowbar))
user.visible_message("<span class='notice'>[user] begins removing the circuit board from [src]...</span>", \
"<span class='notice'>You begin prying out the circuit board from [src]...</span>")
playsound(get_turf(src), 'sound/items/Crowbar.ogg', 50, 1)
playsound(get_turf(src), C.usesound, 50, 1)
if(!do_after(user, 50*C.toolspeed, target = src))
return
if(constructionStep != CONSTRUCTION_GUTTED)
@@ -316,7 +316,7 @@
user.visible_message("<span class='notice'>[user] removes [src]'s circuit board.</span>", \
"<span class='notice'>You remove the circuit board from [src].</span>")
new /obj/item/weapon/electronics/firelock(get_turf(src))
playsound(get_turf(src), 'sound/items/Crowbar.ogg', 50, 1)
playsound(get_turf(src), C.usesound, 50, 1)
constructionStep = CONSTRUCTION_NOCIRCUIT
update_icon()
return
@@ -342,7 +342,7 @@
if(istype(C, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/W = C
if(W.remove_fuel(1,user))
playsound(get_turf(src), 'sound/items/Welder.ogg', 50, 1)
playsound(get_turf(src), W.usesound, 50, 1)
user.visible_message("<span class='notice'>[user] begins cutting apart [src]'s frame...</span>", \
"<span class='notice'>You begin slicing [src] apart...</span>")
if(!do_after(user, 80*C.toolspeed, target = src))
+2 -2
View File
@@ -32,7 +32,7 @@ var/list/doppler_arrays = list()
anchored = 0
power_change()
user << "<span class='notice'>You unfasten [src].</span>"
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(loc, O.usesound, 50, 1)
else
return ..()
@@ -108,4 +108,4 @@ var/list/doppler_arrays = list()
name = "integrated tachyon-doppler module"
integrated = 1
max_dist = 21 //Should detect most explosions in hearing range.
use_power = 0
use_power = 0
+2 -2
View File
@@ -268,7 +268,7 @@
else if(istype(O, /obj/item/weapon/crowbar))
materials.retrieve_all()
playsound(loc, 'sound/items/Crowbar.ogg', 50, 1)
playsound(loc, O.usesound, 50, 1)
user << "<span class='notice'>You retrieve the materials from [src].</span>"
else if(istype(O, /obj/item/weapon/weldingtool))
@@ -286,7 +286,7 @@
complete this task!</span>"
return
playsound(src, 'sound/items/Welder.ogg', 50, 1)
playsound(src, WT.usesound, 50, 1)
user.visible_message(
"<span class='notice'>[user] begins patching up \
[src] with [WT].</span>",
+3 -3
View File
@@ -62,7 +62,7 @@
if (istype(W, /obj/item/weapon/wirecutters))
if (bulb)
user.visible_message("[user] begins to disconnect [src]'s flashbulb.", "<span class='notice'>You begin to disconnect [src]'s flashbulb...</span>")
playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1)
playsound(src.loc, W.usesound, 100, 1)
if(do_after(user, 30*W.toolspeed, target = src) && bulb)
user.visible_message("[user] has disconnected [src]'s flashbulb!", "<span class='notice'>You disconnect [src]'s flashbulb.</span>")
bulb.forceMove(loc)
@@ -83,7 +83,7 @@
else if (istype(W, /obj/item/weapon/wrench))
if(!bulb)
user << "<span class='notice'>You start unsecuring the flasher frame...</span>"
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(loc, W.usesound, 50, 1)
if(do_after(user, 40*W.toolspeed, target = src))
user << "<span class='notice'>You unsecure the flasher frame.</span>"
deconstruct(TRUE)
@@ -173,7 +173,7 @@
/obj/machinery/flasher/portable/attackby(obj/item/weapon/W, mob/user, params)
if (istype(W, /obj/item/weapon/wrench))
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
playsound(src.loc, W.usesound, 100, 1)
if (!anchored && !isinspace())
user << "<span class='notice'>[src] is now secured.</span>"
+3 -3
View File
@@ -716,7 +716,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
/obj/machinery/newscaster/attackby(obj/item/I, mob/living/user, params)
if(istype(I, /obj/item/weapon/wrench))
user << "<span class='notice'>You start [anchored ? "un" : ""]securing [name]...</span>"
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(loc, I.usesound, 50, 1)
if(do_after(user, 60*I.toolspeed, target = src))
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
if(stat & BROKEN)
@@ -735,7 +735,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
user.visible_message("[user] is repairing [src].", \
"<span class='notice'>You begin repairing [src]...</span>", \
"<span class='italics'>You hear welding.</span>")
playsound(loc, 'sound/items/Welder.ogg', 40, 1)
playsound(loc, WT.usesound, 40, 1)
if(do_after(user,40*WT.toolspeed, 1, target = src))
if(!WT.isOn() || !(stat & BROKEN))
return
@@ -1046,4 +1046,4 @@ var/list/obj/machinery/newscaster/allCasters = list()
scribble = s
attack_self(user)
else
return ..()
return ..()
+2 -2
View File
@@ -232,7 +232,7 @@ var/global/list/pipeID2State = list(
T.flipped = flipped
A.on_construction(pipe_type, color)
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(src.loc, W.usesound, 50, 1)
user.visible_message( \
"[user] fastens \the [src].", \
"<span class='notice'>You fasten \the [src].</span>", \
@@ -270,6 +270,6 @@ var/global/list/pipeID2State = list(
user << "<span class='warning'>You need to fasten it to a pipe!</span>"
return 1
new/obj/machinery/meter( src.loc )
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(src.loc, W.usesound, 50, 1)
user << "<span class='notice'>You fasten the meter to the pipe.</span>"
qdel(src)
+2 -2
View File
@@ -79,7 +79,7 @@
return
else if (istype(W, /obj/item/weapon/wrench))
if (!anchored && !isinspace())
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(src.loc, W.usesound, 50, 1)
user << "<span class='notice'>You begin to fasten \the [src] to the floor...</span>"
if (do_after(user, 40*W.toolspeed, target = src))
add_fingerprint(user)
@@ -92,7 +92,7 @@
if (usr.machine==src)
usr << browse(null, "window=pipedispenser")
else if(anchored)
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(src.loc, W.usesound, 50, 1)
user << "<span class='notice'>You begin to unfasten \the [src] from the floor...</span>"
if (do_after(user, 20*W.toolspeed, target = src))
add_fingerprint(user)
@@ -69,7 +69,7 @@
user << "<span class='warning'>You need more fuel to complete this task!</span>"
return
playsound(loc, pick('sound/items/Welder.ogg', 'sound/items/Welder2.ogg'), 50, 1)
playsound(loc, WT.usesound, 50, 1)
user << "<span class='notice'>You start to remove the turret's interior metal armor...</span>"
if(do_after(user, 20*I.toolspeed, target = src))
if(!WT.isOn() || !WT.remove_fuel(5, user))
@@ -139,7 +139,7 @@
if(WT.get_fuel() < 5)
user << "<span class='warning'>You need more fuel to complete this task!</span>"
playsound(loc, pick('sound/items/Welder.ogg', 'sound/items/Welder2.ogg'), 50, 1)
playsound(loc, WT.usesound, 50, 1)
user << "<span class='notice'>You begin to weld the turret's armor down...</span>"
if(do_after(user, 30*I.toolspeed, target = src))
if(!WT.isOn() || !WT.remove_fuel(5, user))
+1 -1
View File
@@ -34,7 +34,7 @@
anchored = !anchored
power_change()
user << "<span class='notice'>You [anchored ? "attached" : "detached"] [src].</span>"
playsound(loc, 'sound/items/Ratchet.ogg', 75, 1)
playsound(loc, G.usesound, 75, 1)
return
var/allowed = is_type_in_list(G, allowed_devices)
+4 -4
View File
@@ -106,14 +106,14 @@
user << "<span class='notice'>The bomb must be placed on solid ground to attach it.</span>"
else
user << "<span class='notice'>You firmly wrench the bomb to the floor.</span>"
playsound(loc, 'sound/items/ratchet.ogg', 50, 1)
playsound(loc, I.usesound, 50, 1)
anchored = 1
if(active)
user << "<span class='notice'>The bolts lock in place.</span>"
else
if(!active)
user << "<span class='notice'>You wrench the bomb from the floor.</span>"
playsound(loc, 'sound/items/ratchet.ogg', 50, 1)
playsound(loc, I.usesound, 50, 1)
anchored = 0
else
user << "<span class='warning'>The bolts are locked down!</span>"
@@ -157,7 +157,7 @@
user << "<span class='warning'>You need more fuel to complete this task!</span>"
return
playsound(loc, pick('sound/items/Welder.ogg', 'sound/items/Welder2.ogg'), 50, 1)
playsound(loc, WT.usesound, 50, 1)
user << "<span class='notice'>You start to cut the [src] apart...</span>"
if(do_after(user, 20*I.toolspeed, target = src))
if(!WT.isOn() || !WT.remove_fuel(5, user))
@@ -437,7 +437,7 @@
/obj/item/weapon/bombcore/chemical/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/crowbar) && beakers.len > 0)
playsound(loc, 'sound/items/Crowbar.ogg', 50, 1)
playsound(loc, I.usesound, 50, 1)
for (var/obj/item/B in beakers)
B.loc = get_turf(src)
beakers -= B
+12 -6
View File
@@ -10,13 +10,16 @@
else
return 0
else if(istype(used_atom, /obj/item/weapon/wrench))
playsound(holder, 'sound/items/Ratchet.ogg', 50, 1)
var/obj/item/weapon/W = used_atom
playsound(holder, W.usesound, 50, 1)
else if(istype(used_atom, /obj/item/weapon/screwdriver))
playsound(holder, 'sound/items/Screwdriver.ogg', 50, 1)
var/obj/item/weapon/W = used_atom
playsound(holder, W.usesound, 50, 1)
else if(istype(used_atom, /obj/item/weapon/wirecutters))
playsound(holder, 'sound/items/Wirecutter.ogg', 50, 1)
var/obj/item/weapon/W = used_atom
playsound(holder, W.usesound, 50, 1)
else if(istype(used_atom, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/C = used_atom
@@ -42,13 +45,16 @@
else
return 0
else if(istype(used_atom, /obj/item/weapon/wrench))
playsound(holder, 'sound/items/Ratchet.ogg', 50, 1)
var/obj/item/weapon/W = used_atom
playsound(holder, W.usesound, 50, 1)
else if(istype(used_atom, /obj/item/weapon/screwdriver))
playsound(holder, 'sound/items/Screwdriver.ogg', 50, 1)
var/obj/item/weapon/W = used_atom
playsound(holder, W.usesound, 50, 1)
else if(istype(used_atom, /obj/item/weapon/wirecutters))
playsound(holder, 'sound/items/Wirecutter.ogg', 50, 1)
var/obj/item/weapon/W = used_atom
playsound(holder, W.usesound, 50, 1)
else if(istype(used_atom, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/C = used_atom
+1 -1
View File
@@ -201,7 +201,7 @@ list(name = "- Carbon Dioxide", desc = " This informational poster teaches the v
/obj/structure/sign/poster/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wirecutters))
playsound(loc, 'sound/items/Wirecutter.ogg', 100, 1)
playsound(loc, I.usesound, 100, 1)
if(ruined)
user << "<span class='notice'>You remove the remnants of the poster.</span>"
qdel(src)
+9 -1
View File
@@ -88,4 +88,12 @@
/obj/item/device/multitool/cyborg
name = "multitool"
desc = "Optimised and stripped-down version of a regular multitool."
toolspeed = 0.5
toolspeed = 0.5
/obj/item/device/multitool/abductor
name = "alien multitool"
desc = "An omni-technological interface."
icon = 'icons/obj/abductor.dmi'
icon_state = "multitool"
toolspeed = 0.1
origin_tech = "magnets=5;engineering=5;abductor=3"
@@ -54,7 +54,7 @@
if(beakers.len)
stage_change(READY)
user << "<span class='notice'>You lock the [initial(name)] assembly.</span>"
playsound(loc, 'sound/items/Screwdriver.ogg', 25, -3)
playsound(loc, I.usesound, 25, -3)
else
user << "<span class='warning'>You need to add at least one beaker before locking the [initial(name)] assembly!</span>"
else if(stage == READY && !nadeassembly)
@@ -35,7 +35,7 @@
update_icon()
return
if(nadeassembly && istype(I, /obj/item/weapon/wirecutters))
playsound(src, 'sound/items/Wirecutter.ogg', 20, 1)
playsound(src, I.usesound, 20, 1)
nadeassembly.loc = get_turf(src)
nadeassembly.master = null
nadeassembly = null
+1 -1
View File
@@ -43,7 +43,7 @@
fisto_setting = 3
if(3)
fisto_setting = 1
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(loc, W.usesound, 50, 1)
user << "<span class='notice'>You tweak \the [src]'s piston valve to [fisto_setting].</span>"
else if(istype(W, /obj/item/weapon/screwdriver))
if(tank)
@@ -258,6 +258,24 @@
item_state = "military"
max_w_class = WEIGHT_CLASS_SMALL
/obj/item/weapon/storage/belt/military/abductor
name = "agent belt"
desc = "A belt used by abductor agents."
icon = 'icons/obj/abductor.dmi'
icon_state = "belt"
item_state = "security"
/obj/item/weapon/storage/belt/military/abductor/full/New()
..()
new /obj/item/weapon/screwdriver/abductor(src)
new /obj/item/weapon/wrench/abductor(src)
new /obj/item/weapon/weldingtool/abductor(src)
new /obj/item/weapon/crowbar/abductor(src)
new /obj/item/weapon/wirecutters/abductor(src)
new /obj/item/device/multitool/abductor(src)
new /obj/item/stack/cable_coil(src,30,"white")
/obj/item/weapon/storage/belt/military/army
name = "army belt"
desc = "A belt used by military forces."
+49 -2
View File
@@ -47,6 +47,15 @@
icon_state = "wrench_brass"
toolspeed = 0.5
/obj/item/weapon/wrench/abductor
name = "alien wrench"
desc = "A polarized wrench. It causes anything placed between the jaws to turn."
icon = 'icons/obj/abductor.dmi'
icon_state = "wrench"
usesound = 'sound/effects/EMPulse.ogg'
toolspeed = 0.1
origin_tech = "materials=5;engineering=5;abductor=3"
/obj/item/weapon/wrench/power
name = "Hand Drill"
desc ="A simple powered drill with a bolt bit"
@@ -162,6 +171,14 @@
icon_state = "screwdriver_brass"
toolspeed = 0.5
/obj/item/weapon/screwdriver/abductor
name = "alien screwdriver"
desc = "An ultrasonic screwdriver."
icon = 'icons/obj/abductor.dmi'
icon_state = "screwdriver"
usesound = 'sound/items/PSHOOM.ogg'
toolspeed = 0.1
/obj/item/weapon/screwdriver/power
name = "Hand Drill"
desc = "A simple hand drill with a screwdriver bit attached."
@@ -238,7 +255,7 @@
/obj/item/weapon/wirecutters/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is cutting at [user.p_their()] arteries with [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
playsound(loc, 'sound/items/Wirecutter.ogg', 50, 1, -1)
playsound(loc, usesound, 50, 1, -1)
return (BRUTELOSS)
/obj/item/weapon/wirecutters/brass
@@ -247,6 +264,14 @@
icon_state = "cutters_brass"
toolspeed = 0.5
/obj/item/weapon/wirecutters/abductor
name = "alien wirecutters"
desc = "Extremely sharp wirecutters, made out of a silvery-green metal."
icon = 'icons/obj/abductor.dmi'
icon_state = "cutters"
toolspeed = 0.1
origin_tech = "materials=5;engineering=4;abductor=3"
/obj/item/weapon/wirecutters/cyborg
name = "wirecutters"
desc = "This cuts wires."
@@ -386,7 +411,7 @@
if(affecting && affecting.status == BODYPART_ROBOTIC && user.a_intent != INTENT_HARM)
if(src.remove_fuel(1))
playsound(loc, 'sound/items/Welder.ogg', 50, 1)
playsound(loc, usesound, 50, 1)
user.visible_message("<span class='notice'>[user] starts to fix some of the dents on [H]'s [affecting.name].</span>", "<span class='notice'>You start fixing some of the dents on [H]'s [affecting.name].</span>")
if(!do_mob(user, H, 50))
return
@@ -580,6 +605,19 @@
/obj/item/weapon/weldingtool/mini/flamethrower_screwdriver()
return
/obj/item/weapon/weldingtool/abductor
name = "alien welding tool"
desc = "An alien welding tool. Whatever fuel it uses, it never runs out."
icon = 'icons/obj/abductor.dmi'
icon_state = "welder"
toolspeed = 0.1
light_intensity = 0
origin_tech = "plasmatech=5;engineering=5;abductor=3"
/obj/item/weapon/weldingtool/abductor/process()
if(get_fuel() <= max_fuel)
reagents.add_reagent("welding_fuel", 1)
..()
/obj/item/weapon/weldingtool/hugetank
name = "upgraded industrial welding tool"
@@ -655,6 +693,15 @@
icon_state = "crowbar_brass"
toolspeed = 0.5
/obj/item/weapon/crowbar/abductor
name = "alien crowbar"
desc = "A hard-light crowbar. It appears to pry by itself, without any effort required."
icon = 'icons/obj/abductor.dmi'
usesound = 'sound/weapons/sonic_jackhammer.ogg'
icon_state = "crowbar"
toolspeed = 0.1
origin_tech = "combat=4;engineering=4;abductor=3"
/obj/item/weapon/crowbar/large
name = "crowbar"
desc = "It's a big crowbar. It doesn't fit in your pockets, because it's big."
+1 -1
View File
@@ -48,7 +48,7 @@
if(!WT.isOn())
user << "<span class='warning'>The welder must be on for this task!</span>"
return
playsound(loc, 'sound/items/Welder.ogg', 50, 1)
playsound(loc, WT.usesound, 50, 1)
user << "<span class='notice'>You start to deconstruct the frame...</span>"
if(do_after(user, 20*P.toolspeed, target = src) && src && state == EMPTY_CORE && WT && WT.remove_fuel(0, user))
user << "<span class='notice'>You deconstruct the frame.</span>"
@@ -33,7 +33,7 @@
/obj/structure/bed/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)
deconstruct(TRUE)
else
return ..()
@@ -166,4 +166,4 @@
/obj/structure/bed/alien
name = "resting contraption"
desc = "This looks similar to contraptions from earth. Could aliens be stealing our technology?"
icon_state = "abed"
icon_state = "abed"
@@ -35,7 +35,7 @@
/obj/structure/chair/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)
deconstruct()
else if(istype(W, /obj/item/assembly/shock_kit))
if(!user.drop_item())
@@ -236,7 +236,7 @@
if(do_after(user, 40*WT.toolspeed, 1, target = src))
if(opened || !WT.isOn())
return
playsound(loc, 'sound/items/welder.ogg', 50, 1)
playsound(loc, WT.usesound, 50, 1)
welded = !welded
user.visible_message("<span class='notice'>[user] [welded ? "welds shut" : "unweldeds"] \the [src].</span>",
"<span class='notice'>You [welded ? "weld" : "unwelded"] \the [src] with \the [WT].</span>",
@@ -246,7 +246,7 @@
if(isinspace() && !anchored)
return
anchored = !anchored
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
playsound(src.loc, W.usesound, 75, 1)
user.visible_message("<span class='notice'>[user] [anchored ? "anchored" : "unanchored"] \the [src] [anchored ? "to" : "from"] the ground.</span>", \
"<span class='notice'>You [anchored ? "anchored" : "unanchored"] \the [src] [anchored ? "to" : "from"] the ground.</span>", \
"<span class='italics'>You hear a ratchet.</span>")
@@ -439,4 +439,4 @@
/obj/structure/closet/contents_explosion(severity, target)
for(var/atom/A in contents)
A.ex_act(severity, target)
CHECK_TICK
CHECK_TICK
@@ -33,7 +33,7 @@
do_animate()
else if(istype(W, /obj/item/weapon/wrench))
anchored = !anchored
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
playsound(src.loc, W.usesound, 75, 1)
else
return ..()
+3 -4
View File
@@ -125,7 +125,7 @@
var/obj/item/weapon/weldingtool/WT = W
if(obj_integrity < max_integrity && WT.remove_fuel(5, user))
user << "<span class='notice'>You begin repairing [src].</span>"
playsound(loc, 'sound/items/Welder.ogg', 40, 1)
playsound(loc, WT.usesound, 40, 1)
if(do_after(user, 40*W.toolspeed, target = src))
obj_integrity = max_integrity
playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
@@ -204,7 +204,7 @@
/obj/structure/displaycase_chassis/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wrench)) //The player can only deconstruct the wooden frame
user << "<span class='notice'>You start disassembling [src]...</span>"
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(src.loc, I.usesound, 50, 1)
if(do_after(user, 30*I.toolspeed, target = src))
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
new /obj/item/stack/sheet/mineral/wood(get_turf(src))
@@ -212,7 +212,7 @@
else if(istype(I, /obj/item/weapon/electronics/airlock))
user << "<span class='notice'>You start installing the electronics into [src]...</span>"
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(src.loc, I.usesound, 50, 1)
if(user.unEquip(I) && do_after(user, 30, target = src))
I.loc = src
electronics = I
@@ -250,4 +250,3 @@
desc = "A glass lab container for storing interesting creatures."
start_showpiece_type = /obj/item/clothing/mask/facehugger/lamarr
req_access = list(access_rd)
@@ -13,7 +13,7 @@
/obj/structure/chair/e_chair/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench))
var/obj/structure/chair/C = new /obj/structure/chair(loc)
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(loc, W.usesound, 50, 1)
C.setDir(dir)
part.loc = loc
part.master = null
@@ -44,4 +44,4 @@
buckled_mob << "<span class='userdanger'>You feel a deep shock course through your body!</span>"
spawn(1)
buckled_mob.electrocute_act(85, src, 1)
visible_message("<span class='danger'>The electric chair went off!</span>", "<span class='italics'>You hear a deep sharp shock!</span>")
visible_message("<span class='danger'>The electric chair went off!</span>", "<span class='italics'>You hear a deep sharp shock!</span>")
+1 -1
View File
@@ -40,7 +40,7 @@
/obj/structure/extinguisher_cabinet/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wrench) && !stored_extinguisher)
user << "<span class='notice'>You start unsecuring [name]...</span>"
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(loc, I.usesound, 50, 1)
if(do_after(user, 60*I.toolspeed, target = src))
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
user << "<span class='notice'>You unsecure [name].</span>"
+1 -1
View File
@@ -30,7 +30,7 @@
var/obj/item/weapon/weldingtool/WT = I
if(obj_integrity < max_integrity && WT.remove_fuel(2, user))
user << "<span class='notice'>You begin repairing [src].</span>"
playsound(loc, 'sound/items/Welder.ogg', 40, 1)
playsound(loc, WT.usesound, 40, 1)
if(do_after(user, 40*I.toolspeed, target = src))
obj_integrity = max_integrity
playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
+2 -2
View File
@@ -13,7 +13,7 @@
/obj/structure/fluff/attackby(obj/item/I, mob/living/user, params)
if(istype(I, /obj/item/weapon/wrench) && deconstructible)
user.visible_message("<span class='notice'>[user] starts disassembling [src]...</span>", "<span class='notice'>You start disassembling [src]...</span>")
playsound(user, 'sound/items/Ratchet.ogg', 50, 1)
playsound(user, I.usesound, 50, 1)
if(!do_after(user, 50, target = src))
return 0
user.visible_message("<span class='notice'>[user] disassembles [src]!</span>", "<span class='notice'>You break down [src] into scrap metal.</span>")
@@ -159,4 +159,4 @@
/obj/structure/fluff/divine/shrine
name = "shrine"
desc = "A shrine dedicated to a deity."
icon_state = "shrine"
icon_state = "shrine"
@@ -27,11 +27,11 @@
if(!WT.remove_fuel(0, user))
return
user << "<span class='notice'>You begin cutting \the [src] apart...</span>"
playsound(src.loc, "sound/items/Welder.ogg", 40, 1)
playsound(src.loc, WT.usesound, 40, 1)
if(do_after(user, 40*WT.toolspeed, 1, target = src))
if(!WT.isOn())
return
playsound(src.loc, "sound/items/Welder.ogg", 50, 1)
playsound(src.loc, WT.usesound, 50, 1)
visible_message("<span class='notice'>[user] slices apart \the [src].</span>",
"<span class='notice'>You cut \the [src] apart with \the [WT].</span>",
"<span class='italics'>You hear welding.</span>")
@@ -61,7 +61,7 @@
/obj/structure/kitchenspike/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/crowbar))
if(!has_buckled_mobs())
playsound(loc, 'sound/items/Crowbar.ogg', 100, 1)
playsound(loc, I.usesound, 100, 1)
if(do_after(user, 20*I.toolspeed, target = src))
user << "<span class='notice'>You pry the spikes out of the frame.</span>"
deconstruct(TRUE)
+2 -2
View File
@@ -348,7 +348,7 @@
/obj/structure/piano/attackby(obj/item/O, mob/user, params)
if (istype(O, /obj/item/weapon/wrench))
if (!anchored && !isinspace())
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(src.loc, O.usesound, 50, 1)
user << "<span class='notice'> You begin to tighten \the [src] to the floor...</span>"
if (do_after(user, 20*O.toolspeed, target = src))
user.visible_message( \
@@ -357,7 +357,7 @@
"<span class='italics'>You hear ratchet.</span>")
anchored = 1
else if(anchored)
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(src.loc, O.usesound, 50, 1)
user << "<span class='notice'> You begin to loosen \the [src]'s casters...</span>"
if (do_after(user, 40*O.toolspeed, target = src))
user.visible_message( \
+1 -1
View File
@@ -45,7 +45,7 @@
if(anchored)
user << "Unweld the [src] first!"
if(do_after(user, 80*W.toolspeed, target = src))
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(src.loc, W.usesound, 50, 1)
user << "You dismantle the [src]."
new framebuildstacktype(loc, framebuildstackamount)
new buildstacktype(loc, buildstackamount)
+1 -3
View File
@@ -28,7 +28,7 @@
if(istype(O, /obj/item/weapon/wrench) && buildable_sign)
user.visible_message("<span class='notice'>[user] starts removing [src]...</span>", \
"<span class='notice'>You start unfastening [src].</span>")
playsound(src, 'sound/items/Ratchet.ogg', 50, 1)
playsound(src, O.usesound, 50, 1)
if(!do_after(user, 30*O.toolspeed, target = src))
return
playsound(src, 'sound/items/Deconstruct.ogg', 50, 1)
@@ -265,5 +265,3 @@
name = "escape arm"
desc = "A direction sign, pointing out which way the escape shuttle dock is."
icon_state = "direction_evac"
+4 -4
View File
@@ -19,7 +19,7 @@
user.changeNext_move(CLICK_CD_MELEE)
if(istype(W, /obj/item/weapon/wrench))
if(anchored)
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
playsound(src.loc, W.usesound, 100, 1)
user.visible_message("[user] is loosening the [name]'s bolts.", \
"<span class='notice'>You are loosening the [name]'s bolts...</span>")
if(do_after(user,40*W.toolspeed, target = src))
@@ -32,7 +32,7 @@
if(!isfloorturf(src.loc))
user.visible_message("<span class='warning'>A floor must be present to secure the [name]!</span>")
return
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
playsound(src.loc, W.usesound, 100, 1)
user.visible_message("[user] is securing the [name]'s bolts...", \
"<span class='notice'>You are securing the [name]'s bolts...</span>")
if(do_after(user, 40*W.toolspeed, target = src))
@@ -63,7 +63,7 @@
qdel(src)
else if(istype(W, /obj/item/weapon/weldingtool) && !anchored)
playsound(loc, 'sound/items/Welder.ogg', 40, 1)
playsound(loc, W.usesound, 40, 1)
user.visible_message("[user] is slicing apart the [name].", \
"<span class='notice'>You are slicing apart the [name]...</span>")
if(do_after(user, 40*W.toolspeed, target = src))
@@ -322,4 +322,4 @@
/obj/structure/statue/snow/snowman
name = "snowman"
desc = "Several lumps of snow put together to form a snowman."
icon_state = "snowman"
icon_state = "snowman"
+1 -1
View File
@@ -25,7 +25,7 @@
/obj/structure/table_frame/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wrench))
user << "<span class='notice'>You start disassembling [src]...</span>"
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(src.loc, I.usesound, 50, 1)
if(do_after(user, 30*I.toolspeed, target = src))
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
deconstruct(TRUE)
+2 -2
View File
@@ -102,14 +102,14 @@
if(istype(I, /obj/item/weapon/screwdriver) && deconstruction_ready)
user << "<span class='notice'>You start disassembling [src]...</span>"
playsound(src.loc, I.usesound, 50, 1)
if(do_after(user, 20, target = src))
if(do_after(user, 20*I.toolspeed, target = src))
deconstruct(TRUE)
return
if(istype(I, /obj/item/weapon/wrench) && deconstruction_ready)
user << "<span class='notice'>You start deconstructing [src]...</span>"
playsound(src.loc, I.usesound, 50, 1)
if(do_after(user, 40, target = src))
if(do_after(user, 40*I.toolspeed, target = src))
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
deconstruct(TRUE, 1)
return
+1 -1
View File
@@ -134,7 +134,7 @@
if(obj_integrity < max_integrity)
if(WT.remove_fuel(0,user))
user << "<span class='notice'>You begin repairing [src]...</span>"
playsound(loc, 'sound/items/Welder.ogg', 40, 1)
playsound(loc, WT.usesound, 40, 1)
if(do_after(user, 40*I.toolspeed, target = src))
obj_integrity = max_integrity
playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
+1 -2
View File
@@ -147,7 +147,7 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
if(floor_tile)
PoolOrNew(floor_tile, src)
make_plating()
playsound(src, 'sound/items/Crowbar.ogg', 80, 1)
playsound(src, C.usesound, 80, 1)
return 1
return 0
@@ -185,4 +185,3 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
/turf/open/floor/acid_melt()
ChangeTurf(baseturf)
@@ -134,11 +134,11 @@
/turf/open/floor/clockwork/attackby(obj/item/I, mob/living/user, params)
if(istype(I, /obj/item/weapon/crowbar))
user.visible_message("<span class='notice'>[user] begins slowly prying up [src]...</span>", "<span class='notice'>You begin painstakingly prying up [src]...</span>")
playsound(src, 'sound/items/Crowbar.ogg', 20, 1)
playsound(src, I.usesound, 20, 1)
if(!do_after(user, 70*I.toolspeed, target = src))
return 0
user.visible_message("<span class='notice'>[user] pries up [src]!</span>", "<span class='notice'>You pry up [src]!</span>")
playsound(src, 'sound/items/Crowbar.ogg', 80, 1)
playsound(src, I.usesound, 80, 1)
make_plating()
return 1
return ..()
@@ -214,4 +214,4 @@
for(var/obj/structure/spacevine/SV in src)
qdel(SV)
. = ..()
UpdateAffectingLights()
UpdateAffectingLights()
+1 -1
View File
@@ -65,7 +65,7 @@
if( welder.isOn() && (broken || burnt) )
if(welder.remove_fuel(0,user))
user << "<span class='danger'>You fix some dents on the broken plating.</span>"
playsound(src, 'sound/items/Welder.ogg', 80, 1)
playsound(src, welder.usesound, 80, 1)
icon_state = icon_plating
burnt = 0
broken = 0
@@ -25,7 +25,7 @@
return
if(istype(C, /obj/item/weapon/wrench))
user << "<span class='notice'>You begin removing rods...</span>"
playsound(src, 'sound/items/Ratchet.ogg', 80, 1)
playsound(src, C.usesound, 80, 1)
if(do_after(user, 30*C.toolspeed, target = src))
if(!istype(src, /turf/open/floor/engine))
return
+1 -3
View File
@@ -83,7 +83,7 @@
var/obj/item/weapon/weldingtool/WT = I
if(!WT.remove_fuel(0,user))
return 0
playsound(src, 'sound/items/Welder.ogg', 100, 1)
playsound(src, WT.usesound, 100, 1)
user.visible_message("<span class='notice'>[user] begins slowly breaking down [src]...</span>", "<span class='notice'>You begin painstakingly destroying [src]...</span>")
if(!do_after(user, 120*WT.toolspeed, target = src))
return 0
@@ -156,5 +156,3 @@
desc = "A huge chunk of rusted reinforced metal."
icon = 'icons/turf/walls/rusty_reinforced_wall.dmi'
hardness = 15
@@ -142,7 +142,7 @@
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0,user))
user << "<span class='notice'>You begin welding the metal cover back to the frame...</span>"
playsound(src, 'sound/items/Welder.ogg', 100, 1)
playsound(src, WT.usesound, 100, 1)
if(do_after(user, 60*WT.toolspeed, target = src))
if(!istype(src, /turf/closed/wall/r_wall) || !WT || !WT.isOn() || d_state != CUT_COVER)
return 1
@@ -201,7 +201,7 @@
if(istype(W, /obj/item/weapon/wrench))
user << "<span class='notice'>You start tightening the 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*W.toolspeed, target = src))
if(!istype(src, /turf/closed/wall/r_wall) || !W || d_state != SUPPORT_RODS)
return 1
@@ -225,7 +225,7 @@
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0,user))
user << "<span class='notice'>You begin welding the support rods back together...</span>"
playsound(src, 'sound/items/Welder.ogg', 100, 1)
playsound(src, WT.usesound, 100, 1)
if(do_after(user, 100*WT.toolspeed, target = src))
if(!istype(src, /turf/closed/wall/r_wall) || !WT || !WT.isOn() || d_state != SHEATH)
return 1
@@ -136,7 +136,7 @@ Pipelines + Other Objects -> Pipe network
var/unsafe_wrenching = FALSE
var/internal_pressure = int_air.return_pressure()-env_air.return_pressure()
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(src.loc, W.usesound, 50, 1)
user << "<span class='notice'>You begin to unfasten \the [src]...</span>"
if (internal_pressure > 2*ONE_ATMOSPHERE)
user << "<span class='warning'>As you begin unwrenching \the [src] a gush of air blows in your face... maybe you should reconsider?</span>"
@@ -288,4 +288,3 @@ Pipelines + Other Objects -> Pipe network
//Used for certain children of obj/machinery/atmospherics to not show pipe vision when mob is inside it.
/obj/machinery/atmospherics/proc/can_see_pipes()
return 1
@@ -247,7 +247,7 @@
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if (WT.remove_fuel(0,user))
playsound(loc, 'sound/items/Welder.ogg', 40, 1)
playsound(loc, WT.usesound, 40, 1)
user << "<span class='notice'>You begin welding the vent...</span>"
if(do_after(user, 20*W.toolspeed, target = src))
if(!src || !WT.isOn()) return
@@ -300,4 +300,4 @@
#undef NO_BOUND
#undef SIPHONING
#undef RELEASING
#undef RELEASING
@@ -339,7 +339,7 @@
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0,user))
playsound(loc, 'sound/items/Welder.ogg', 40, 1)
playsound(loc, WT.usesound, 40, 1)
user << "<span class='notice'>Now welding the scrubber.</span>"
if(do_after(user, 20*W.toolspeed, target = src))
if(!src || !WT.isOn())
@@ -98,7 +98,7 @@
/obj/machinery/meter/attackby(obj/item/weapon/W, mob/user, params)
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 begin to unfasten \the [src]...</span>"
if (do_after(user, 40*W.toolspeed, target = src))
user.visible_message( \
@@ -141,4 +141,3 @@
/obj/machinery/meter/turf/initialize()
if (!target)
src.target = loc
@@ -203,7 +203,7 @@
if(stat & BROKEN)
if(!WT.remove_fuel(0, user))
return
playsound(loc, 'sound/items/Welder.ogg', 40, 1)
playsound(loc, WT.usesound, 40, 1)
user << "<span class='notice'>You begin cutting [src] apart...</span>"
if(do_after(user, 30, target = src))
deconstruct(TRUE)
@@ -91,7 +91,7 @@
if(!(stat & BROKEN))
if(connected_port)
disconnect()
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(src.loc, W.usesound, 50, 1)
user.visible_message( \
"[user] disconnects [src].", \
"<span class='notice'>You unfasten [src] from the port.</span>", \
@@ -106,7 +106,7 @@
if(!connect(possible_port))
user << "<span class='notice'>[name] failed to connect to the port.</span>"
return
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(src.loc, W.usesound, 50, 1)
user.visible_message( \
"[user] connects [src].", \
"<span class='notice'>You fasten [src] to the port.</span>", \
@@ -123,4 +123,4 @@
else
investigate_log("was smacked with \a [I] by [key_name(user)].", "atmos")
add_fingerprint(user)
..()
..()
+1 -1
View File
@@ -45,7 +45,7 @@
if(istype(W, /obj/item/weapon/wirecutters))
if(can_be_cut && icon_state == initial(icon_state))//only if not dyed
user << "<span class='notice'>You snip the fingertips off of [src].</span>"
playsound(user.loc,'sound/items/Wirecutter.ogg', rand(10,50), 1)
playsound(user.loc, W.usesound, rand(10,50), 1)
new /obj/item/clothing/gloves/fingerless(user.loc)
qdel(src)
..()
+3 -3
View File
@@ -823,7 +823,7 @@
if(!anchored && !isinspace())
user.visible_message("[user] begins to wrench [src] into place.", \
"<span class='notice'>You begin to wrench [src] in place...</span>")
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(loc, O.usesound, 50, 1)
if (do_after(user, 20*O.toolspeed, target = src))
if(anchored)
return
@@ -833,7 +833,7 @@
else if(anchored)
user.visible_message("[user] begins to unwrench [src].", \
"<span class='notice'>You begin to unwrench [src]...</span>")
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(loc, O.usesound, 50, 1)
if (do_after(user, 20*O.toolspeed, target = src))
if(!anchored)
return
@@ -843,7 +843,7 @@
else if(istype(O, /obj/item/weapon/wirecutters) && unwrenchable)
using_irrigation = !using_irrigation
playsound(src, 'sound/items/Wirecutter.ogg', 50, 1)
playsound(src, O.usesound, 50, 1)
user.visible_message("<span class='notice'>[user] [using_irrigation ? "" : "dis"]connects [src]'s irrigation hoses.</span>", \
"<span class='notice'>You [using_irrigation ? "" : "dis"]connect [src]'s irrigation hoses.</span>")
for(var/obj/machinery/hydroponics/h in range(1,src))
+4 -4
View File
@@ -39,13 +39,13 @@
switch(state)
if(0)
if(istype(I, /obj/item/weapon/wrench))
playsound(loc, 'sound/items/Ratchet.ogg', 100, 1)
playsound(loc, I.usesound, 100, 1)
if(do_after(user, 20*I.toolspeed, target = src))
user << "<span class='notice'>You wrench the frame into place.</span>"
anchored = 1
state = 1
if(istype(I, /obj/item/weapon/crowbar))
playsound(loc, 'sound/items/Crowbar.ogg', 100, 1)
playsound(loc, I.usesound, 100, 1)
if(do_after(user, 20*I.toolspeed, target = src))
user << "<span class='notice'>You pry the frame apart.</span>"
deconstruct(TRUE)
@@ -59,7 +59,7 @@
state = 2
icon_state = "book-0"
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 unwrench the frame.</span>"
anchored = 0
state = 0
@@ -87,7 +87,7 @@
if(contents.len)
user << "<span class='warning'>You need to remove the books first!</span>"
else
playsound(loc, 'sound/items/Crowbar.ogg', 100, 1)
playsound(loc, I.usesound, 100, 1)
user << "<span class='notice'>You pry the shelf out.</span>"
new /obj/item/stack/sheet/mineral/wood(loc, 2)
state = 1
+2 -2
View File
@@ -358,7 +358,7 @@
/obj/item/device/gps/computer/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)
user.visible_message("<span class='warning'>[user] disassembles the gps.</span>", \
"<span class='notice'>You start to disassemble the gps...</span>", "You hear clanking and banging noises.")
if(do_after(user, 20*W.toolspeed, target = src))
@@ -431,7 +431,7 @@
/obj/structure/fans/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)
user.visible_message("<span class='warning'>[user] disassembles the fan.</span>", \
"<span class='notice'>You start to disassemble the fan...</span>", "You hear clanking and banging noises.")
if(do_after(user, 20*W.toolspeed, target = src))
+2 -2
View File
@@ -20,7 +20,7 @@
S.remove_from_storage(O, src) //This will move the item to this item's contents
user << "<span class='notice'>You empty the ore in [S] into \the [src].</span>"
else if(istype(W, /obj/item/weapon/crowbar))
playsound(loc, 'sound/items/Crowbar.ogg', 50, 1)
playsound(loc, W.usesound, 50, 1)
var/obj/item/weapon/crowbar/C = W
if(do_after(user, 50*C.toolspeed, target = src))
user.visible_message("[user] pries \the [src] apart.", "<span class='notice'>You pry apart \the [src].</span>", "<span class='italics'>You hear splitting wood.</span>")
@@ -70,4 +70,4 @@
if(user)
WD.add_fingerprint(user)
dump_box_contents()
qdel(src)
qdel(src)
@@ -418,7 +418,7 @@
spark_system.start()
return
else
playsound(src, 'sound/items/Ratchet.ogg', 50, 1)
playsound(src, W.usesound, 50, 1)
user << "<span class='notice'>You start to unfasten [src]'s securing bolts...</span>"
if(do_after(user, 50*W.toolspeed, target = src) && !cell)
user.visible_message("[user] deconstructs [src]!", "<span class='notice'>You unfasten the securing bolts, and [src] falls to pieces!</span>")
@@ -95,7 +95,7 @@
else if(istype(I, /obj/item/weapon/wrench) && user != src) //They aren't required to be hacked, because laws can change in other ways (i.e. admins)
user.visible_message("<span class='notice'>[user] starts resetting [src]...</span>", \
"<span class='notice'>You press down on [src]'s factory reset control...</span>")
playsound(src, 'sound/items/Ratchet.ogg', 50, 1)
playsound(src, I.usesound, 50, 1)
if(!do_after(user, 50*I.toolspeed, target = src))
return
user.visible_message("<span class='notice'>[user] resets [src]!</span>", \
@@ -199,4 +199,3 @@
name = "Select Vision Filter"
button_icon_state = "drone_vision"
procname = /mob/living/simple_animal/drone/verb/toggle_statics
+1 -1
View File
@@ -55,7 +55,7 @@
updateUsrDialog()
else if(istype(P, /obj/item/weapon/wrench))
user << "<span class='notice'>You begin to [anchored ? "wrench" : "unwrench"] [src].</span>"
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(loc, P.usesound, 50, 1)
if(do_after(user, 20, target = src))
user << "<span class='notice'>You successfully [anchored ? "wrench" : "unwrench"] [src].</span>"
anchored = !anchored
+1 -1
View File
@@ -298,7 +298,7 @@
if(isinspace())
user << "<span class='warning'>There's nothing to fasten [src] to!</span>"
return
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(loc, O.usesound, 50, 1)
user << "<span class='warning'>You start [anchored ? "unwrenching" : "wrenching"] [src]...</span>"
if(do_after(user, 20*O.toolspeed, target = src))
if(qdeleted(src))
+3 -3
View File
@@ -160,14 +160,14 @@
/obj/machinery/power/am_control_unit/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench))
if(!anchored)
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
playsound(src.loc, W.usesound, 75, 1)
user.visible_message("[user.name] secures the [src.name] to the floor.", \
"<span class='notice'>You secure the anchor bolts to the floor.</span>", \
"<span class='italics'>You hear a ratchet.</span>")
src.anchored = 1
connect_to_network()
else if(!linked_shielding.len > 0)
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
playsound(src.loc, W.usesound, 75, 1)
user.visible_message("[user.name] unsecures the [src.name].", \
"<span class='notice'>You remove the anchor bolts.</span>", \
"<span class='italics'>You hear a ratchet.</span>")
@@ -360,4 +360,4 @@
check_core_stability()
updateDialog()
return
return
+1 -1
View File
@@ -552,7 +552,7 @@
user.visible_message("[user.name] welds [src].", \
"<span class='notice'>You start welding the APC frame...</span>", \
"<span class='italics'>You hear welding.</span>")
playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
playsound(src.loc, WT.usesound, 50, 1)
if(do_after(user, 50*W.toolspeed, target = src))
if(!src || !WT.remove_fuel(3, user)) return
if ((stat & BROKEN) || opened==2)
+2 -3
View File
@@ -81,14 +81,14 @@ var/global/list/rad_collectors = list()
user << "<span class='warning'>Remove the plasma tank first!</span>"
return 1
if(!anchored && !isinspace())
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
playsound(src.loc, W.usesound, 75, 1)
anchored = 1
user.visible_message("[user.name] secures the [src.name].", \
"<span class='notice'>You secure the external bolts.</span>", \
"<span class='italics'>You hear a ratchet.</span>")
connect_to_network()
else if(anchored)
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
playsound(src.loc, W.usesound, 75, 1)
anchored = 0
user.visible_message("[user.name] unsecures the [src.name].", \
"<span class='notice'>You unsecure the external bolts.</span>", \
@@ -157,4 +157,3 @@ var/global/list/rad_collectors = list()
flick("ca_deactive", src)
update_icons()
return
+2 -2
View File
@@ -215,14 +215,14 @@
if(0)
if(isinspace()) return
state = 1
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
playsound(src.loc, W.usesound, 75, 1)
user.visible_message("[user.name] secures [src.name] to the floor.", \
"<span class='notice'>You secure the external reinforcing bolts to the floor.</span>", \
"<span class='italics'>You hear a ratchet</span>")
src.anchored = 1
if(1)
state = 0
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
playsound(src.loc, W.usesound, 75, 1)
user.visible_message("[user.name] unsecures [src.name] reinforcing bolts from the floor.", \
"<span class='notice'>You undo the external reinforcing bolts.</span>", \
"<span class='italics'>You hear a ratchet.</span>")
@@ -91,14 +91,14 @@ field_generator power level display
if(FG_UNSECURED)
if(isinspace()) return
state = FG_SECURED
playsound(loc, 'sound/items/Ratchet.ogg', 75, 1)
playsound(loc, W.usesound, 75, 1)
user.visible_message("[user.name] secures [name] to the floor.", \
"<span class='notice'>You secure the external reinforcing bolts to the floor.</span>", \
"<span class='italics'>You hear ratchet.</span>")
anchored = 1
if(FG_SECURED)
state = FG_UNSECURED
playsound(loc, 'sound/items/Ratchet.ogg', 75, 1)
playsound(loc, W.usesound, 75, 1)
user.visible_message("[user.name] unsecures [name] reinforcing bolts from the floor.", \
"<span class='notice'>You undo the external reinforcing bolts.</span>", \
"<span class='italics'>You hear ratchet.</span>")
+2 -2
View File
@@ -26,13 +26,13 @@
user.visible_message("[user.name] secures [src.name] to the floor.", \
"<span class='notice'>You secure the [src.name] to the floor.</span>", \
"<span class='italics'>You hear a ratchet.</span>")
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
playsound(src.loc, W.usesound, 75, 1)
anchored = 1
else if(anchored)
user.visible_message("[user.name] unsecures [src.name] from the floor.", \
"<span class='notice'>You unsecure the [src.name] from the floor.</span>", \
"<span class='italics'>You hear a ratchet.</span>")
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
playsound(src.loc, W.usesound, 75, 1)
anchored = 0
else
return ..()
@@ -99,7 +99,7 @@
switch(construction_state)
if(PA_CONSTRUCTION_UNSECURED)
if(istype(W, /obj/item/weapon/wrench) && !isinspace())
playsound(loc, 'sound/items/Ratchet.ogg', 75, 1)
playsound(loc, W.usesound, 75, 1)
anchored = 1
user.visible_message("[user.name] secures the [name] to the floor.", \
"You secure the external bolts.")
@@ -107,7 +107,7 @@
did_something = TRUE
if(PA_CONSTRUCTION_UNWIRED)
if(istype(W, /obj/item/weapon/wrench))
playsound(loc, 'sound/items/Ratchet.ogg', 75, 1)
playsound(loc, W.usesound, 75, 1)
anchored = 0
user.visible_message("[user.name] detaches the [name] from the floor.", \
"You remove the external bolts.")
@@ -271,7 +271,7 @@
switch(construction_state)
if(PA_CONSTRUCTION_UNSECURED)
if(istype(W, /obj/item/weapon/wrench) && !isinspace())
playsound(loc, 'sound/items/Ratchet.ogg', 75, 1)
playsound(loc, W.usesound, 75, 1)
anchored = 1
user.visible_message("[user.name] secures the [name] to the floor.", \
"You secure the external bolts.")
@@ -279,7 +279,7 @@
did_something = TRUE
if(PA_CONSTRUCTION_UNWIRED)
if(istype(W, /obj/item/weapon/wrench))
playsound(loc, 'sound/items/Ratchet.ogg', 75, 1)
playsound(loc, W.usesound, 75, 1)
anchored = 0
user.visible_message("[user.name] detaches the [name] from the floor.", \
"You remove the external bolts.")
@@ -31,7 +31,7 @@
if(istype(A, /obj/item/weapon/crowbar))
if(modkits.len)
user << "<span class='notice'>You pry the modifications out.</span>"
playsound(loc, 'sound/items/Crowbar.ogg', 100, 1)
playsound(loc, A.usesound, 100, 1)
for(var/obj/item/borg/upgrade/modkit/M in modkits)
M.uninstall(src)
else
+1 -1
View File
@@ -130,7 +130,7 @@
else if(istype(I, /obj/item/weapon/wrench))
if(!(stat & BROKEN))
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(loc, I.usesound, 50, 1)
setDir(turn(dir,-45))
update_move_direction()
user << "<span class='notice'>You rotate [src].</span>"
@@ -224,7 +224,7 @@
level = 1 // We don't want disposal bins to disappear under the floors
density = 0
user << "<span class='notice'>You attach the [nicetype] to the underfloor.</span>"
playsound(loc, 'sound/items/Ratchet.ogg', 100, 1)
playsound(loc, I.usesound, 100, 1)
update_icon()
else if(istype(I, /obj/item/weapon/weldingtool))
+1 -1
View File
@@ -77,7 +77,7 @@
mode = SCREWS_OUT
else
mode = PRESSURE_OFF
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
playsound(src.loc, I.usesound, 50, 1)
user << "<span class='notice'>You [mode == SCREWS_OUT ? "remove":"attach"] the screws around the power connection.</span>"
return
else if(istype(I,/obj/item/weapon/weldingtool) && mode == SCREWS_OUT)
+60
View File
@@ -526,6 +526,66 @@ other types of metals and chemistry for reagents).
materials = list(MAT_METAL = 4500, MAT_SILVER = 2500, MAT_TITANIUM = 3500)
category = list("Equipment")
/datum/design/alienwrench
name = "Alien Wrench"
desc = "An advanced wrench obtained through Abductor technology."
id = "alien_wrench"
req_tech = list("engineering" = 5, "materials" = 5, "abductor" = 4)
build_path = /obj/item/weapon/wrench/abductor
build_type = PROTOLATHE
materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
category = list("Equipment")
/datum/design/alienwirecutters
name = "Alien Wirecutters"
desc = "Advanced wirecutters obtained through Abductor technology."
id = "alien_wirecutters"
req_tech = list("engineering" = 5, "materials" = 5, "abductor" = 4)
build_path = /obj/item/weapon/wirecutters/abductor
build_type = PROTOLATHE
materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
category = list("Equipment")
/datum/design/alienscrewdriver
name = "Alien Screwdriver"
desc = "An advanced screwdriver obtained through Abductor technology."
id = "alien_screwdriver"
req_tech = list("engineering" = 5, "materials" = 5, "abductor" = 4)
build_path = /obj/item/weapon/screwdriver/abductor
build_type = PROTOLATHE
materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
category = list("Equipment")
/datum/design/aliencrowbar
name = "Alien Crowbar"
desc = "An advanced crowbar obtained through Abductor technology."
id = "alien_crowbar"
req_tech = list("engineering" = 5, "materials" = 5, "abductor" = 4)
build_path = /obj/item/weapon/crowbar/abductor
build_type = PROTOLATHE
materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
category = list("Equipment")
/datum/design/alienwelder
name = "Alien Welding Tool"
desc = "An advanced welding tool obtained through Abductor technology."
id = "alien_welder"
req_tech = list("engineering" = 5, "plasmatech" = 5, "abductor" = 4)
build_path = /obj/item/weapon/weldingtool/abductor
build_type = PROTOLATHE
materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 5000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
category = list("Equipment")
/datum/design/alienmultitool
name = "Alien Multitool"
desc = "An advanced multitool obtained through Abductor technology."
id = "alien_multitool"
req_tech = list("engineering" = 5, "programming" = 5, "abductor" = 4)
build_path = /obj/item/device/multitool/abductor
build_type = PROTOLATHE
materials = list(MAT_METAL = 5000, MAT_SILVER = 2500, MAT_PLASMA = 5000, MAT_TITANIUM = 2000, MAT_DIAMOND = 2000)
category = list("Equipment")
/datum/design/diskplantgene
name = "Plant data disk"
desc = "A disk for storing plant genetic data."
@@ -115,6 +115,66 @@
build_path = /obj/item/device/extinguisher_refill
category = list("Medical Designs")
/datum/design/alienscalpel
name = "Alien Scalpel"
desc = "An advanced scalpel obtained through Abductor technology."
id = "alien_scalpel"
req_tech = list("bio" = 4, "materials" = 4, "abductor" = 3)
build_path = /obj/item/weapon/scalpel/alien
build_type = PROTOLATHE
materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500)
category = list("Medical Designs")
/datum/design/alienhemostat
name = "Alien Hemostat"
desc = "An advanced hemostat obtained through Abductor technology."
id = "alien_hemostat"
req_tech = list("bio" = 4, "materials" = 4, "abductor" = 3)
build_path = /obj/item/weapon/hemostat/alien
build_type = PROTOLATHE
materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500)
category = list("Medical Designs")
/datum/design/alienretractor
name = "Alien Retractor"
desc = "An advanced retractor obtained through Abductor technology."
id = "alien_retractor"
req_tech = list("bio" = 4, "materials" = 4, "abductor" = 3)
build_path = /obj/item/weapon/retractor/alien
build_type = PROTOLATHE
materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500)
category = list("Medical Designs")
/datum/design/aliensaw
name = "Alien Circular Saw"
desc = "An advanced surgical saw obtained through Abductor technology."
id = "alien_saw"
req_tech = list("bio" = 4, "materials" = 4, "abductor" = 3)
build_path = /obj/item/weapon/circular_saw/alien
build_type = PROTOLATHE
materials = list(MAT_METAL = 10000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 1500)
category = list("Medical Designs")
/datum/design/aliendrill
name = "Alien Drill"
desc = "An advanced drill obtained through Abductor technology."
id = "alien_drill"
req_tech = list("bio" = 4, "materials" = 4, "abductor" = 3)
build_path = /obj/item/weapon/surgicaldrill/alien
build_type = PROTOLATHE
materials = list(MAT_METAL = 10000, MAT_SILVER = 2500, MAT_PLASMA = 1000, MAT_TITANIUM = 1500)
category = list("Medical Designs")
/datum/design/aliencautery
name = "Alien Cautery"
desc = "An advanced cautery obtained through Abductor technology."
id = "alien_cautery"
req_tech = list("bio" = 4, "materials" = 4, "abductor" = 3)
build_path = /obj/item/weapon/cautery/alien
build_type = PROTOLATHE
materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500)
category = list("Medical Designs")
/////////////////////////////////////////
//////////Cybernetic Implants////////////
/////////////////////////////////////////
@@ -128,7 +128,7 @@
user << "<span class='notice'>You insert the flash into the eye socket.</span>"
else if(istype(W, /obj/item/weapon/crowbar))
if(flash1 || flash2)
playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
playsound(src.loc, W.usesound, 50, 1)
user << "<span class='notice'>You remove the flash from [src].</span>"
if(flash1)
flash1.forceMove(user.loc)
+1 -1
View File
@@ -51,7 +51,7 @@
var/turf/open/floorloc = get_turf(user)
floorloc.contents += contents
user << "<span class='notice'>You remove the [storedorgan] from [src].</span>"
playsound(get_turf(user), 'sound/items/Screwdriver.ogg', 50, 1)
playsound(get_turf(user), I.usesound, 50, 1)
storedorgan = null
if(uses != INFINITE)
uses--
+1 -1
View File
@@ -42,7 +42,7 @@
surgery.step_in_progress = 0
return
if(do_after(user, time, target = target))
if(do_after(user, time * tool.toolspeed, target = target))
var/advance = 0
var/prob_chance = 100
+2 -2
View File
@@ -75,11 +75,11 @@
user << "<span class='caution'>\The [src] is now secured.</span>"
else if(istype(W, /obj/item/weapon/screwdriver))
if(stage == 0)
playsound(src, 'sound/items/Screwdriver.ogg', 50, 1)
playsound(src, W.usesound, 50, 1)
user << "<span class='caution'>You unscrew the telepad's tracking beacon.</span>"
stage = 1
else if(stage == 1)
playsound(src, 'sound/items/Screwdriver.ogg', 50, 1)
playsound(src, W.usesound, 50, 1)
user << "<span class='caution'>You screw in the telepad's tracking beacon.</span>"
stage = 0
else if(istype(W, /obj/item/weapon/weldingtool) && stage == 1)
+1 -1
View File
@@ -122,7 +122,7 @@
/obj/vehicle/scooter/skateboard/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/screwdriver))
user << "<span class='notice'>You begin to deconstruct and remove the wheels on [src]...</span>"
playsound(get_turf(user), 'sound/items/Screwdriver.ogg', 50, 1)
playsound(get_turf(user), I.usesound, 50, 1)
if(do_after(user, 20, target = src))
user << "<span class='notice'>You deconstruct the wheels on [src].</span>"
new /obj/item/stack/sheet/metal(get_turf(src),5)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 54 KiB