mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-19 20:06:28 +01:00
The Epic Construction Update (#5976)
How to build machine blueprints! Use steel sheets like normal, then rotate the frame how you like it using the directional arrow. From here use a Multitool to finalize it and then wire it up like you would before.
This commit is contained in:
@@ -401,7 +401,7 @@
|
||||
update_icon()
|
||||
else if(istype(I,/obj/item/weapon/wrench))
|
||||
if(installed_upgrade_chip)
|
||||
playsound(src,'sound/items/Screwdriver.ogg', 50, 0)
|
||||
playsound(src,I.usesound, 50, 0)
|
||||
to_chat(user,"You remove \the [installed_upgrade_chip].")
|
||||
installed_upgrade_chip.forceMove(user.loc)
|
||||
installed_upgrade_chip.update_icon()
|
||||
@@ -409,7 +409,7 @@
|
||||
update_stats()
|
||||
update_icon()
|
||||
else if(installed_barrel && can_disassemble_barrel)
|
||||
playsound(src,'sound/items/Ratchet.ogg', 50, 0)
|
||||
playsound(src,I.usesound, 50, 0)
|
||||
to_chat(user,"You remove \the [installed_barrel].")
|
||||
installed_barrel.forceMove(user.loc)
|
||||
installed_barrel.update_icon()
|
||||
@@ -417,7 +417,7 @@
|
||||
update_stats()
|
||||
update_icon()
|
||||
else if(installed_cell && can_disassemble_cell)
|
||||
playsound(src,'sound/items/Ratchet.ogg', 50, 0)
|
||||
playsound(src,I.usesound, 50, 0)
|
||||
to_chat(user,"You remove \the [installed_cell].")
|
||||
installed_cell.forceMove(user.loc)
|
||||
installed_cell.update_icon()
|
||||
|
||||
@@ -1960,7 +1960,7 @@ All custom items with worn sprites must follow the contained sprite system: http
|
||||
else
|
||||
open = FALSE
|
||||
to_chat(user, "<span class='notice'>You secure the back panel.</span>")
|
||||
playsound(user.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
playsound(user.loc, I.usesound, 50, 1)
|
||||
|
||||
if(I.ismultitool() && open)
|
||||
to_chat(user, "<span class='notice'>You quickly pulse a few fires, and reset the screen and device.</span>")
|
||||
|
||||
@@ -107,8 +107,8 @@
|
||||
visible_message("<span class='danger'>The bees are furious you're trying to destroy their home!</span>")
|
||||
release_bees(1, 30)
|
||||
to_chat(user, "<span class='notice'>You start dismantling \the [src]. This will take a while...</span>")
|
||||
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
if(do_after(user, 150))
|
||||
playsound(loc, I.usesound, 50, 1)
|
||||
if(do_after(user, 150/I.toolspeed))
|
||||
user.visible_message("<span class='notice'>[user] dismantles \the [src].</span>", "<span class='notice'>You dismantle \the [src].</span>")
|
||||
new /obj/item/beehive_assembly(loc)
|
||||
qdel(src)
|
||||
|
||||
@@ -312,7 +312,7 @@
|
||||
to_chat(user, "<span class='notice'>There are no seeds in \the [O.name].</span>")
|
||||
return
|
||||
else if(O.iswrench())
|
||||
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
playsound(loc, O.usesound, 50, 1)
|
||||
anchored = !anchored
|
||||
to_chat(user, "You [anchored ? "wrench" : "unwrench"] \the [src].")
|
||||
|
||||
|
||||
@@ -573,7 +573,7 @@
|
||||
if(locate(/obj/machinery/atmospherics/portables_connector/) in loc)
|
||||
return ..()
|
||||
|
||||
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
playsound(loc, O.usesound, 50, 1)
|
||||
anchored = !anchored
|
||||
to_chat(user, "You [anchored ? "wrench" : "unwrench"] \the [src].")
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
angry_swarm(user)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You begin to dislodge the dead apiary from the tray.</span>")
|
||||
if(do_after(user, 50))
|
||||
if(do_after(user, 50/O.toolspeed))
|
||||
new hydrotray_type(src.loc)
|
||||
new /obj/item/apiary(src.loc)
|
||||
to_chat(user, "<span class='warning'>You dislodge the apiary from the tray.</span>")
|
||||
@@ -89,7 +89,7 @@
|
||||
angry_swarm(user)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You begin to harvest the honey.</span>")
|
||||
if(do_after(user,50))
|
||||
if(do_after(user,50/O.toolspeed))
|
||||
G.reagents.add_reagent("honey",harvestable_honey)
|
||||
harvestable_honey = 0
|
||||
to_chat(user, "<span class='notice'>You successfully harvest the honey.</span>")
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
if(istype(O,/obj/item/weapon/tank))
|
||||
return
|
||||
if(istype(O,/obj/item/weapon/shovel))
|
||||
if(do_after(user, 50))
|
||||
if(do_after(user, 50/O.toolspeed))
|
||||
new /obj/item/stack/material/sandstone{amount = 3}(loc)
|
||||
to_chat(user, "<span class='notice'>You remove the soil from the bed and dismantle the sandstone base.</span>")
|
||||
playsound(src, 'sound/effects/stonedoor_openclose.ogg', 40, 1)
|
||||
|
||||
@@ -37,11 +37,11 @@
|
||||
else
|
||||
name = ("bookcase ([newname])")
|
||||
else if(O.iswrench())
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
|
||||
playsound(src.loc, O.usesound, 100, 1)
|
||||
to_chat(user, (anchored ? "<span class='notice'>You unfasten \the [src] from the floor.</span>" : "<span class='notice'>You secure \the [src] to the floor.</span>"))
|
||||
anchored = !anchored
|
||||
else if(O.isscrewdriver())
|
||||
playsound(loc, 'sound/items/Screwdriver.ogg', 75, 1)
|
||||
playsound(loc, O.usesound, 75, 1)
|
||||
to_chat(user, "<span class='notice'>You begin dismantling \the [src].</span>")
|
||||
if(do_after(user,25))
|
||||
to_chat(user, "<span class='notice'>You dismantle \the [src].</span>")
|
||||
@@ -297,7 +297,7 @@
|
||||
else if(istype(W, /obj/item/weapon/material/knife) || W.iswirecutter())
|
||||
if(carved) return
|
||||
to_chat(user, "<span class='notice'>You begin to carve out [title].</span>")
|
||||
if(do_after(user, 30))
|
||||
if(do_after(user, 30/W.toolspeed))
|
||||
to_chat(user, "<span class='notice'>You carve out the pages from [title]! You didn't want to read it anyway.</span>")
|
||||
playsound(loc, 'sound/bureaucracy/papercrumple.ogg', 50, 1)
|
||||
new /obj/item/weapon/shreddedp(get_turf(src))
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
recipes += new/datum/stack_recipe("metal rod", /obj/item/stack/rods, 1, 2, 60)
|
||||
recipes += new/datum/stack_recipe("computer frame", /obj/structure/computerframe, 5, time = 25, one_per_turf = 1, on_floor = 1)
|
||||
recipes += new/datum/stack_recipe("wall girders", /obj/structure/girder, 2, time = 50, one_per_turf = 1, on_floor = 1)
|
||||
recipes += new/datum/stack_recipe("machine frame", /obj/machinery/constructable_frame/machine_frame, 5, time = 25, one_per_turf = 1, on_floor = 1)
|
||||
recipes += new/datum/stack_recipe("machine blueprint", /obj/machinery/constructable_frame/machine_frame, 2, time = 25, one_per_turf = 1, on_floor = 1)
|
||||
recipes += new/datum/stack_recipe_list("turret frames", list( \
|
||||
new/datum/stack_recipe("light turret frame", /obj/machinery/porta_turret_construct, 5, time = 25, one_per_turf = 1, on_floor = 1), \
|
||||
new/datum/stack_recipe("dark turret frame", /obj/machinery/porta_turret_construct/dark, 5, time = 25, one_per_turf = 1, on_floor = 1), \
|
||||
@@ -114,6 +114,7 @@
|
||||
recipes += new/datum/stack_recipe("reagent dispenser cartridge (small)", /obj/item/weapon/reagent_containers/chem_disp_cartridge/small, 1, on_floor=0) // 100u
|
||||
recipes += new/datum/stack_recipe("white floor tile", /obj/item/stack/tile/floor_white, 1, 4, 20)
|
||||
recipes += new/datum/stack_recipe("freezer floor tile", /obj/item/stack/tile/floor_freezer, 1, 4, 20)
|
||||
recipes += new/datum/stack_recipe("plastic flaps", /obj/structure/plasticflaps, 4, 1, 1)
|
||||
|
||||
/material/wood/generate_recipes()
|
||||
..()
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
..()
|
||||
|
||||
/obj/item/stack/material/attackby(var/obj/item/W, var/mob/user)
|
||||
if(W.iscoil())
|
||||
if(iscoil(W))
|
||||
material.build_wired_product(user, W, src)
|
||||
return
|
||||
else if(istype(W, /obj/item/stack/rods))
|
||||
@@ -185,6 +185,17 @@
|
||||
default_type = "wood"
|
||||
drop_sound = 'sound/items/drop/wooden.ogg'
|
||||
|
||||
/obj/item/stack/material/woodlog
|
||||
name = "log"
|
||||
icon_state = "sheet-woodlog"
|
||||
default_type = "log"
|
||||
|
||||
/obj/item/stack/material/woodbranch
|
||||
name = "branch"
|
||||
icon_state = "sheet-branch"
|
||||
default_type = "branch"
|
||||
|
||||
|
||||
/obj/item/stack/material/cloth
|
||||
name = "cloth"
|
||||
icon_state = "sheet-cloth"
|
||||
|
||||
@@ -706,6 +706,37 @@ var/list/name_to_material
|
||||
golem = "Wood Golem"
|
||||
hitsound = 'sound/effects/woodhit.ogg'
|
||||
|
||||
/material/wood/log //This is gonna replace wood planks in a way for NBT, leaving it here for now
|
||||
name = "log"
|
||||
stack_type = /obj/item/stack/material/woodlog
|
||||
icon_colour = "#824B28"
|
||||
integrity = 50
|
||||
icon_base = "solid"
|
||||
explosion_resistance = 4
|
||||
hardness = 30
|
||||
weight = 30 //Logs are heavier then normal pieces of wood
|
||||
conductivity = 0.8
|
||||
melting_point = T0C+380
|
||||
ignition_point = T0C+328
|
||||
destruction_desc = "splinters"
|
||||
sheet_singular_name = "log"
|
||||
sheet_plural_name = "logs"
|
||||
|
||||
/material/wood/branch
|
||||
name = "branch"
|
||||
stack_type = /obj/item/stack/material/woodbranch
|
||||
icon_colour = "#824B28"
|
||||
integrity = 50
|
||||
icon_base = "solid"
|
||||
explosion_resistance = 0
|
||||
hardness = 0.1
|
||||
weight = 7
|
||||
melting_point = T0C+220
|
||||
ignition_point = T0C+218
|
||||
sheet_singular_name = "branch"
|
||||
sheet_plural_name = "branch"
|
||||
|
||||
|
||||
/material/rust
|
||||
name = "rust"
|
||||
display_name = "rusty steel"
|
||||
|
||||
@@ -399,7 +399,7 @@
|
||||
connected.system_error("unexpected user interface error")
|
||||
return
|
||||
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
|
||||
playsound(src.loc, W.usesound, 100, 1)
|
||||
to_chat(user, "<span class='notice'>You [anchored ? "un" : ""]anchor the brace.</span>")
|
||||
|
||||
anchored = !anchored
|
||||
|
||||
@@ -1194,7 +1194,7 @@ var/list/total_extraction_beacons = list()
|
||||
/obj/structure/sculpting_block/attackby(obj/item/C as obj, mob/user as mob)
|
||||
|
||||
if (C.iswrench())
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
|
||||
playsound(src.loc, C.usesound, 100, 1)
|
||||
to_chat(user, "<span class='notice'>You [anchored ? "un" : ""]anchor the [name].</span>")
|
||||
anchored = !anchored
|
||||
|
||||
|
||||
@@ -332,7 +332,7 @@ var/list/mineral_can_smooth_with = list(
|
||||
|
||||
to_chat(user, "<span class='warning'>You start chiselling [src] into a sculptable block.</span>")
|
||||
|
||||
if(!do_after(user,80))
|
||||
if(!do_after(user,80/W.toolspeed))
|
||||
return
|
||||
|
||||
if (!istype(src, /turf/simulated/mineral))
|
||||
@@ -667,7 +667,7 @@ var/list/asteroid_floor_smooth = list(
|
||||
to_chat(user, "<span class='warning'>You start digging deeper.</span>")
|
||||
playsound(user.loc, 'sound/effects/stonedoor_openclose.ogg', 50, 1)
|
||||
digging = 1
|
||||
if(!do_after(user, 60))
|
||||
if(!do_after(user, 60/W.toolspeed))
|
||||
if (istype(src, /turf/unsimulated/floor/asteroid))
|
||||
digging = 0
|
||||
return
|
||||
|
||||
@@ -389,7 +389,7 @@
|
||||
|
||||
if(8)
|
||||
if(W.isscrewdriver())
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
|
||||
playsound(src.loc, W.usesound, 100, 1)
|
||||
var/turf/T = get_turf(user)
|
||||
to_chat(user, "<span class='notice'>Now attaching the gun to the frame...</span>")
|
||||
sleep(40)
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
user.visible_message("<span class='danger'>\The [user] begins to slit [src]'s throat with \the [W]!</span>")
|
||||
|
||||
user.next_move = world.time + 20 //also should prevent user from triggering this repeatedly
|
||||
if(!do_after(user, 20))
|
||||
if(!do_after(user, 20/W.toolspeed))
|
||||
return 0
|
||||
if(!(G && G.assailant == user && G.affecting == src)) //check that we still have a grab
|
||||
return 0
|
||||
|
||||
@@ -1563,6 +1563,13 @@
|
||||
/mob/living/carbon/human/get_metabolism(metabolism)
|
||||
return ..() * (species ? species.metabolism_mod : 1)
|
||||
|
||||
|
||||
/mob/living/carbon/human/proc/isonlifesupport()
|
||||
if (buckled && istype(buckled, /obj/machinery/optable/lifesupport))
|
||||
var/obj/machinery/optable/lifesupport/A = buckled
|
||||
return A.onlifesupport()
|
||||
else
|
||||
return 0
|
||||
/mob/living/carbon/human/is_clumsy()
|
||||
if(CLUMSY in mutations)
|
||||
return TRUE
|
||||
|
||||
@@ -983,7 +983,7 @@
|
||||
else //ALIVE. LIGHTS ARE ON
|
||||
updatehealth() //TODO
|
||||
|
||||
if(health <= config.health_threshold_dead || (species.has_organ["brain"] && !has_brain()))
|
||||
if(health <= config.health_threshold_dead || (species.has_organ["brain"] && !has_brain() && !isonlifesupport()))
|
||||
death()
|
||||
blinded = 1
|
||||
silent = 0
|
||||
|
||||
@@ -700,7 +700,7 @@ var/list/ai_verbs_default = list(
|
||||
else if(W.iswrench())
|
||||
if(anchored)
|
||||
user.visible_message("<span class='notice'>\The [user] starts to unbolt \the [src] from the plating...</span>")
|
||||
if(!do_after(user,40))
|
||||
if(!do_after(user,40/W.toolspeed))
|
||||
user.visible_message("<span class='notice'>\The [user] decides not to unbolt \the [src].</span>")
|
||||
return
|
||||
user.visible_message("<span class='notice'>\The [user] finishes unfastening \the [src]!</span>")
|
||||
@@ -708,7 +708,7 @@ var/list/ai_verbs_default = list(
|
||||
return
|
||||
else
|
||||
user.visible_message("<span class='notice'>\The [user] starts to bolt \the [src] to the plating.</span>..")
|
||||
if(!do_after(user,40))
|
||||
if(!do_after(user,40/W.toolspeed))
|
||||
user.visible_message("<span class='notice'>\The [user] decides not to bolt \the [src].</span>")
|
||||
return
|
||||
user.visible_message("<span class='notice'>\The [user] finishes fastening down \the [src]!</span>")
|
||||
|
||||
@@ -613,7 +613,7 @@
|
||||
if(opened)
|
||||
if(cell)
|
||||
user.visible_message("<span class='notice'>\The [user] begins clasping shut \the [src]'s maintenance hatch.</span>", "<span class='notice'>You begin closing up \the [src].</span>")
|
||||
if(do_after(user, 50, src))
|
||||
if(do_after(user, 50/W.toolspeed, src))
|
||||
to_chat(user, "<span class='notice'>You close \the [src]'s maintenance hatch.</span>")
|
||||
opened = 0
|
||||
updateicon()
|
||||
@@ -624,7 +624,7 @@
|
||||
return
|
||||
|
||||
user.visible_message("<span class='notice'>\The [user] begins ripping [mmi] from [src].</span>", "<span class='notice'>You jam the crowbar into the robot and begin levering [mmi].</span>")
|
||||
if(do_after(user, 50, src))
|
||||
if(do_after(user, 50/W.toolspeed, src))
|
||||
to_chat(user, "<span class='notice'>You damage some parts of the chassis, but eventually manage to rip out [mmi]!</span>")
|
||||
var/obj/item/robot_parts/robot_suit/C = new/obj/item/robot_parts/robot_suit(loc)
|
||||
C.l_leg = new/obj/item/robot_parts/l_leg(C)
|
||||
@@ -664,7 +664,7 @@
|
||||
to_chat(user, "The cover is locked and cannot be opened.")
|
||||
else
|
||||
user.visible_message("<span class='notice'>\The [user] begins prying open \the [src]'s maintenance hatch.</span>", "<span class='notice'>You start opening \the [src]'s maintenance hatch.</span>")
|
||||
if(do_after(user, 50, src))
|
||||
if(do_after(user, 50/W.toolspeed, src))
|
||||
to_chat(user, "<span class='notice'>You open \the [src]'s maintenance hatch.</span>")
|
||||
opened = 1
|
||||
updateicon()
|
||||
|
||||
@@ -356,6 +356,7 @@ var/global/list/robot_modules = list(
|
||||
/obj/item/weapon/robot_module/engineering/construction/New()
|
||||
..()
|
||||
src.modules += new /obj/item/device/flash(src)
|
||||
src.modules += new /obj/item/powerdrill(src)
|
||||
src.modules += new /obj/item/borg/sight/meson(src)
|
||||
src.modules += new /obj/item/weapon/extinguisher(src)
|
||||
src.modules += new /obj/item/weapon/rcd/borg(src)
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
|
||||
/obj/machinery/ntnet_relay/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
|
||||
if(W.isscrewdriver())
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
panel_open = !panel_open
|
||||
to_chat(user, "You [panel_open ? "open" : "close"] the maintenance hatch")
|
||||
return
|
||||
|
||||
@@ -158,8 +158,8 @@
|
||||
to_chat(user, "Remove all components from \the [src] before disassembling it.")
|
||||
return
|
||||
to_chat(user, span("notice", "You begin to disassemble \the [src]."))
|
||||
playsound(user, 'sound/items/Ratchet.ogg', 100, 1)
|
||||
if (do_after(user, 20))
|
||||
playsound(user, W.usesound, 100, 1)
|
||||
if (do_after(user, 20/W.toolspeed))
|
||||
new /obj/item/stack/material/steel(get_turf(src.loc), steel_sheet_cost)
|
||||
src.visible_message("\The [user] disassembles \the [src].",
|
||||
"You disassemble \the [src].",
|
||||
|
||||
@@ -71,11 +71,19 @@ var/const/BLOOD_VOLUME_SURVIVE = 122
|
||||
//The heartfix to end all heartfixes
|
||||
if(species && species.has_organ["heart"])
|
||||
var/obj/item/organ/heart/heart = internal_organs_by_name["heart"]
|
||||
if(!heart)
|
||||
blood_volume = 0
|
||||
else if (heart.is_damaged())
|
||||
blood_volume = min(BLOOD_VOLUME_SAFE - 1,blood_volume)
|
||||
blood_volume = (BLOOD_VOLUME_SURVIVE + (BLOOD_VOLUME_NORMAL-BLOOD_VOLUME_SURVIVE) * max(1 - heart.damage/heart.min_broken_damage,0)) * (blood_volume/BLOOD_VOLUME_NORMAL)
|
||||
// Before we do that, we check for lifesupport.
|
||||
var/onlifesupport = 0
|
||||
if (buckled && istype(buckled, /obj/machinery/optable/lifesupport))
|
||||
var/obj/machinery/optable/lifesupport/A = buckled
|
||||
onlifesupport = A.onlifesupport()
|
||||
|
||||
|
||||
if (!onlifesupport)
|
||||
if(!heart)
|
||||
blood_volume = 0
|
||||
else if (heart.is_damaged())
|
||||
blood_volume = min(BLOOD_VOLUME_SAFE - 1,blood_volume)
|
||||
blood_volume = (BLOOD_VOLUME_SURVIVE + (BLOOD_VOLUME_NORMAL-BLOOD_VOLUME_SURVIVE) * max(1 - heart.damage/heart.min_broken_damage,0)) * (blood_volume/BLOOD_VOLUME_NORMAL)
|
||||
|
||||
//Effects of bloodloss
|
||||
if(blood_volume < BLOOD_VOLUME_SAFE && oxyloss < 100 * (1 - blood_volume/BLOOD_VOLUME_NORMAL))
|
||||
|
||||
@@ -319,7 +319,7 @@
|
||||
if(3.0)
|
||||
take_damage(rand(3) * emp_coeff * organ_fragility)
|
||||
|
||||
/obj/item/organ/proc/removed(var/mob/living/user)
|
||||
/obj/item/organ/proc/removed(var/mob/living/carbon/human/target,var/mob/living/user)
|
||||
|
||||
if(!istype(owner))
|
||||
return
|
||||
@@ -354,6 +354,9 @@
|
||||
owner.update_action_buttons()
|
||||
owner = null
|
||||
|
||||
if(!owner.isonlifesupport())
|
||||
owner.death()
|
||||
|
||||
/obj/item/organ/proc/replaced(var/mob/living/carbon/human/target,var/obj/item/organ/external/affected)
|
||||
|
||||
if(!istype(target)) return
|
||||
|
||||
@@ -15,6 +15,14 @@
|
||||
robotic_name = "circulatory pump"
|
||||
robotic_sprite = "heart-prosthetic"
|
||||
|
||||
/obj/item/organ/heart/process()
|
||||
//Check if we're on lifesupport, and whether or not organs should be processing.
|
||||
if(owner && owner.isonlifesupport())
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
|
||||
|
||||
/obj/item/organ/lungs
|
||||
name = "lungs"
|
||||
icon_state = "lungs"
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
icon_state = initial(icon_state)
|
||||
updateUsrDialog()
|
||||
else if(P.iswrench())
|
||||
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
playsound(loc, P.usesound, 50, 1)
|
||||
anchored = !anchored
|
||||
to_chat(user, "<span class='notice'>You [anchored ? "wrench" : "unwrench"] \the [src].</span>")
|
||||
else
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
return
|
||||
|
||||
else if (W.iswrench())
|
||||
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
playsound(loc, W.usesound, 50, 1)
|
||||
anchored = !anchored
|
||||
user.visible_message(
|
||||
span("notice", anchored ? "\The [user] fastens \the [src] to \the [loc]." : "\The unfastens \the [src] from \the [loc]."),
|
||||
|
||||
@@ -24,6 +24,9 @@
|
||||
var/colour = "black" //what colour the ink is!
|
||||
drop_sound = 'sound/items/drop/accessory.ogg'
|
||||
|
||||
/obj/item/weapon/pen/ispen()
|
||||
return TRUE
|
||||
|
||||
/obj/item/weapon/pen/blue
|
||||
desc = "An instrument for writing or drawing with ink. This one is in blue. Ironically used mostly by white-collar workers."
|
||||
icon_state = "pen_blue"
|
||||
|
||||
@@ -125,7 +125,7 @@ VUEUI_MONITOR_VARS(/obj/machinery/photocopier, photocopiermonitor)
|
||||
flick("photocopier_notoner", src)
|
||||
playsound(loc, 'sound/machines/buzz-two.ogg', 75, 1)
|
||||
else if(O.iswrench())
|
||||
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
playsound(loc, O.usesound, 50, 1)
|
||||
anchored = !anchored
|
||||
to_chat(user, "<span class='notice'>You [anchored ? "wrench" : "unwrench"] \the [src].</span>")
|
||||
return
|
||||
|
||||
@@ -148,7 +148,7 @@
|
||||
return
|
||||
if(W.iswrench())
|
||||
if(!anchored)
|
||||
playsound(get_turf(src), 'sound/items/Ratchet.ogg', 75, 1)
|
||||
playsound(get_turf(src), W.usesound, 75, 1)
|
||||
user.visible_message("[user.name] secures the [src.name] to the floor.", \
|
||||
"You secure the anchor bolts to the floor.", \
|
||||
"You hear a ratchet")
|
||||
@@ -157,7 +157,7 @@
|
||||
check_shield_icons()
|
||||
connect_to_network()
|
||||
else if(!linked_shielding.len > 0)
|
||||
playsound(get_turf(src), 'sound/items/Ratchet.ogg', 75, 1)
|
||||
playsound(get_turf(src), W.usesound, 75, 1)
|
||||
user.visible_message("[user.name] unsecures the [src.name].", \
|
||||
"You remove the anchor bolts.", \
|
||||
"You hear a ratchet")
|
||||
|
||||
+14
-14
@@ -446,8 +446,8 @@
|
||||
to_chat(user, "<span class='warning'>Disconnect wires first.</span>")
|
||||
return
|
||||
playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
|
||||
to_chat(user, "You are trying to remove the power control board...") //lpeters - fixed grammar issues)
|
||||
if(do_after(user, 50))
|
||||
to_chat(user, "You are trying to remove the power control board...")
|
||||
if(do_after(user, 50/W.toolspeed))
|
||||
if (has_electronics==1)
|
||||
has_electronics = 0
|
||||
if ((stat & BROKEN))
|
||||
@@ -513,12 +513,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)
|
||||
to_chat(user, "You screw the circuit electronics into place.")
|
||||
else if (has_electronics==2)
|
||||
has_electronics = 1
|
||||
stat |= MAINT
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
to_chat(user, "You unfasten the electronics.")
|
||||
else /* has_electronics==0 */
|
||||
to_chat(user, "<span class='warning'>There is nothing to secure.</span>")
|
||||
@@ -559,7 +559,7 @@
|
||||
user.visible_message("<span class='warning'>[user.name] adds cables to the APC frame.</span>", \
|
||||
"You start adding cables to the APC frame...")
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
if(do_after(user, 20))
|
||||
if(do_after(user, 20/W.toolspeed))
|
||||
if (C.amount >= 10 && !terminal && opened && has_electronics != 2)
|
||||
var/obj/structure/cable/N = T.get_cable_node()
|
||||
if (prob(50) && electrocute_mob(usr, N, N))
|
||||
@@ -580,7 +580,7 @@
|
||||
user.visible_message("<span class='warning'>[user.name] dismantles the power terminal from [src].</span>", \
|
||||
"You begin to cut the cables...")
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
if(do_after(user, 50))
|
||||
if(do_after(user, 50/W.toolspeed))
|
||||
if(terminal && opened && has_electronics!=2)
|
||||
if (prob(50) && electrocute_mob(usr, terminal.powernet, terminal))
|
||||
spark(src, 5, alldirs)
|
||||
@@ -593,7 +593,7 @@
|
||||
user.visible_message("<span class='warning'>[user.name] inserts the power control board into [src].</span>", \
|
||||
"You start to insert the power control board into the frame...")
|
||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
if(do_after(user, 10))
|
||||
if(do_after(user, 10/W.toolspeed))
|
||||
if(has_electronics==0)
|
||||
has_electronics = 1
|
||||
to_chat(user, "<span class='notice'>You place the power control board inside the frame.</span>")
|
||||
@@ -611,7 +611,7 @@
|
||||
"You start welding the APC frame...", \
|
||||
"You hear welding.")
|
||||
playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
|
||||
if(do_after(user, 50))
|
||||
if(do_after(user, 50/W.toolspeed))
|
||||
if(!src || !WT.remove_fuel(3, user)) return
|
||||
if (emagged || (stat & BROKEN) || opened==2)
|
||||
new /obj/item/stack/material/steel(loc)
|
||||
@@ -642,7 +642,7 @@
|
||||
return
|
||||
user.visible_message("<span class='warning'>[user.name] replaces the damaged APC frame with a new one.</span>",\
|
||||
"You begin to replace the damaged APC frame...")
|
||||
if(do_after(user, 50))
|
||||
if(do_after(user, 50/W.toolspeed))
|
||||
user.visible_message(\
|
||||
"<span class='notice'>[user.name] has replaced the damaged APC frame with new one.</span>",\
|
||||
"You replace the damaged APC frame with new one.")
|
||||
@@ -658,16 +658,16 @@
|
||||
else if (istype(W, /obj/item/device/debugger))
|
||||
if(emagged || hacker || infected)
|
||||
to_chat(user, "<span class='warning'>There is a software error with the device. Attempting to fix...</span>")
|
||||
if(do_after(user, 10 SECONDS, act_target = src))
|
||||
if(do_after(user, 10/W.toolspeed SECONDS, act_target = src))
|
||||
to_chat(user, "<span class='notice'>Problem diagnosed, searching for solution...</span>")
|
||||
if(do_after(user, 30 SECONDS, act_target = src))
|
||||
if(do_after(user, 30/W.toolspeed SECONDS, act_target = src))
|
||||
to_chat(user, "<span class='notice'>Solution found. Applying fixes...</span>")
|
||||
if(do_after(user, 60 SECONDS, act_target = src))
|
||||
if(do_after(user, 60/W.toolspeed SECONDS, act_target = src))
|
||||
if(prob(15))
|
||||
to_chat(user, "<span class='warning'>Error while applying fixes. Please try again.</span>")
|
||||
return
|
||||
to_chat(user, "<span class='notice'>Applied default software. Restarting APC...</span>")
|
||||
if(do_after(user, 10 SECONDS, act_target = src))
|
||||
if(do_after(user, 10/W.toolspeed SECONDS, act_target = src))
|
||||
to_chat(user, "<span class='notice'>APC Reset. Fixes applied.</span>")
|
||||
if(hacker)
|
||||
hacker.hacked_apcs -= src
|
||||
@@ -694,7 +694,7 @@
|
||||
to_chat(user, "<span class='warning'>You need more welding fuel to complete this task.</span>")
|
||||
return
|
||||
playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
|
||||
if(do_after(user, 10))
|
||||
if(do_after(user, 10/W.toolspeed))
|
||||
if(!src || !WT.remove_fuel(1, user)) return
|
||||
if ((stat & BROKEN))
|
||||
new /obj/item/stack/material/steel(loc)
|
||||
|
||||
@@ -146,7 +146,7 @@
|
||||
|
||||
/obj/machinery/power/generator/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(W.iswrench())
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
playsound(src.loc, W.usesound, 75, 1)
|
||||
anchored = !anchored
|
||||
user.visible_message("[user.name] [anchored ? "secures" : "unsecures"] the bolts holding [src.name] to the floor.", \
|
||||
"You [anchored ? "secure" : "unsecure"] the bolts holding [src] to the floor.", \
|
||||
|
||||
@@ -202,7 +202,7 @@
|
||||
if(GRAV_NEEDS_SCREWDRIVER)
|
||||
if(I.isscrewdriver())
|
||||
to_chat(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++
|
||||
if(GRAV_NEEDS_WELDING)
|
||||
if(I.iswelder())
|
||||
@@ -224,7 +224,7 @@
|
||||
if(GRAV_NEEDS_WRENCH)
|
||||
if(I.iswrench())
|
||||
to_chat(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()
|
||||
else
|
||||
..()
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
add_fingerprint(user)
|
||||
if (W.iswrench())
|
||||
if (src.stage == 1)
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
playsound(src.loc, W.usesound, 75, 1)
|
||||
to_chat(usr, "You begin deconstructing [src].")
|
||||
if (!do_after(usr, 30, act_target = src))
|
||||
return
|
||||
@@ -114,7 +114,7 @@
|
||||
"You close [src]'s casing.",
|
||||
"You hear something being screwed in."
|
||||
)
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 75, 1)
|
||||
playsound(src.loc, W.usesound, 75, 1)
|
||||
|
||||
switch(fixture_type)
|
||||
if("tube")
|
||||
|
||||
@@ -341,7 +341,7 @@
|
||||
// attempt to stick weapon into light socket
|
||||
else if(status == LIGHT_EMPTY)
|
||||
if(W.isscrewdriver()) //If it's a screwdriver open it.
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 75, 1)
|
||||
playsound(src.loc, W.usesound, 75, 1)
|
||||
user.visible_message("[user.name] opens [src]'s casing.", \
|
||||
"You open [src]'s casing.", "You hear a noise.")
|
||||
var/obj/machinery/light_construct/newlight = null
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
SSmachinery.powernet_update_queued = TRUE
|
||||
else if(O.isscrewdriver())
|
||||
open = !open
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
playsound(src.loc, O.usesound, 50, 1)
|
||||
if(open)
|
||||
to_chat(user, "<span class='notice'>You open the access panel.</span>")
|
||||
else
|
||||
|
||||
@@ -290,7 +290,7 @@
|
||||
|
||||
else if(O.isscrewdriver())
|
||||
open = !open
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
playsound(src.loc, O.usesound, 50, 1)
|
||||
if(open)
|
||||
to_chat(user, "<span class='notice'>You open the access panel.</span>")
|
||||
else
|
||||
|
||||
@@ -74,7 +74,7 @@ var/global/list/rad_collectors = list()
|
||||
if(P)
|
||||
to_chat(user, "<span class='notice'>Remove the phoron tank first.</span>")
|
||||
return 1
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
playsound(src.loc, W.usesound, 75, 1)
|
||||
src.anchored = !src.anchored
|
||||
user.visible_message("[user.name] [anchored? "secures":"unsecures"] the [src.name].", \
|
||||
"You [anchored? "secure":"undo"] the external bolts.", \
|
||||
|
||||
@@ -158,14 +158,14 @@
|
||||
switch(state)
|
||||
if(0)
|
||||
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] to the floor.", \
|
||||
"You secure the external reinforcing bolts to the floor.", \
|
||||
"You hear a ratchet")
|
||||
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] reinforcing bolts from the floor.", \
|
||||
"You undo the external reinforcing bolts.", \
|
||||
"You hear a ratchet")
|
||||
@@ -188,7 +188,7 @@
|
||||
user.visible_message("[user.name] starts to weld [src] to the floor.", \
|
||||
"You start to weld [src] to the floor.", \
|
||||
"You hear welding")
|
||||
if (do_after(user,20))
|
||||
if (do_after(user,20/W.toolspeed))
|
||||
if(!src || !WT.isOn()) return
|
||||
state = 2
|
||||
to_chat(user, "You weld [src] to the floor.")
|
||||
@@ -201,7 +201,7 @@
|
||||
user.visible_message("[user.name] starts to cut [src] free from the floor.", \
|
||||
"You start to cut [src] free from the floor.", \
|
||||
"You hear welding")
|
||||
if (do_after(user,20))
|
||||
if (do_after(user,20/W.toolspeed))
|
||||
if(!src || !WT.isOn()) return
|
||||
state = 1
|
||||
to_chat(user, "You cut [src] free from the floor.")
|
||||
|
||||
@@ -97,14 +97,14 @@ field_generator power level display
|
||||
switch(state)
|
||||
if(0)
|
||||
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.", \
|
||||
"You secure the external reinforcing bolts to the floor.", \
|
||||
"You hear ratchet")
|
||||
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.", \
|
||||
"You undo the external reinforcing bolts.", \
|
||||
"You hear ratchet")
|
||||
@@ -124,7 +124,7 @@ field_generator power level display
|
||||
user.visible_message("[user.name] starts to weld the [src.name] to the floor.", \
|
||||
"You start to weld the [src] to the floor.", \
|
||||
"You hear welding")
|
||||
if (do_after(user,20, act_target = src))
|
||||
if (do_after(user,20/W.toolspeed, act_target = src))
|
||||
if(!src || !WT.isOn()) return
|
||||
state = 2
|
||||
to_chat(user, "You weld the field generator to the floor.")
|
||||
@@ -136,7 +136,7 @@ field_generator power level display
|
||||
user.visible_message("[user.name] starts to cut the [src.name] free from the floor.", \
|
||||
"You start to cut the [src] free from the floor.", \
|
||||
"You hear welding")
|
||||
if (do_after(user,20, act_target = src))
|
||||
if (do_after(user,20/W.toolspeed, act_target = src))
|
||||
if(!src || !WT.isOn()) return
|
||||
state = 1
|
||||
to_chat(user, "You cut the [src] free from the floor.")
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
/obj/machinery/the_singularitygen/attackby(obj/item/W, mob/user)
|
||||
if(W.iswrench())
|
||||
anchored = !anchored
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
playsound(src.loc, W.usesound, 75, 1)
|
||||
if(anchored)
|
||||
user.visible_message("[user.name] secures [src.name] to the floor.", \
|
||||
"You secure the [src.name] to the floor.", \
|
||||
|
||||
@@ -202,14 +202,14 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
|
||||
switch(src.construction_state)//TODO:Might be more interesting to have it need several parts rather than a single list of steps
|
||||
if(0)
|
||||
if(O.iswrench())
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
playsound(src.loc, O.usesound, 75, 1)
|
||||
src.anchored = 1
|
||||
user.visible_message("[user.name] secures the [src.name] to the floor.", \
|
||||
"You secure the external bolts.")
|
||||
temp_state++
|
||||
if(1)
|
||||
if(O.iswrench())
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
playsound(src.loc, O.usesound, 75, 1)
|
||||
src.anchored = 0
|
||||
user.visible_message("[user.name] detaches the [src.name] from the floor.", \
|
||||
"You remove the external bolts.")
|
||||
@@ -341,14 +341,14 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
|
||||
switch(src.construction_state)//TODO:Might be more interesting to have it need several parts rather than a single list of steps
|
||||
if(0)
|
||||
if(O.iswrench())
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
playsound(src.loc, O.usesound, 75, 1)
|
||||
src.anchored = 1
|
||||
user.visible_message("[user.name] secures the [src.name] to the floor.", \
|
||||
"You secure the external bolts.")
|
||||
temp_state++
|
||||
if(1)
|
||||
if(O.iswrench())
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
playsound(src.loc, O.usesound, 75, 1)
|
||||
src.anchored = 0
|
||||
user.visible_message("[user.name] detaches the [src.name] from the floor.", \
|
||||
"You remove the external bolts.")
|
||||
|
||||
@@ -336,7 +336,7 @@
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You begin to cut the cables...</span>")
|
||||
playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
if(do_after(user, 50))
|
||||
if(do_after(user, 50/W.toolspeed))
|
||||
if (prob(50) && electrocute_mob(usr, terminal.powernet, terminal))
|
||||
big_spark.queue()
|
||||
building_terminal = 0
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
if(W.iscrowbar())
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
user.visible_message("<span class='notice'>[user] begins to take the glass off the solar panel.</span>")
|
||||
if(do_after(user, 50))
|
||||
if(do_after(user, 50/W.toolspeed))
|
||||
var/obj/item/solar_assembly/S = locate() in src
|
||||
if(S)
|
||||
S.forceMove(src.loc)
|
||||
@@ -227,13 +227,13 @@
|
||||
if(W.iswrench())
|
||||
anchored = 1
|
||||
user.visible_message("<span class='notice'>[user] wrenches the solar assembly into place.</span>")
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
playsound(src.loc, W.usesound, 75, 1)
|
||||
return 1
|
||||
else
|
||||
if(W.iswrench())
|
||||
anchored = 0
|
||||
user.visible_message("<span class='notice'>[user] unwrenches the solar assembly from it's 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/material) && (W.get_material_name() == "glass" || W.get_material_name() == "rglass"))
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
return
|
||||
|
||||
if(W.iswrench())
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You [anchored ? "unfasten" : "fasten"] [src] to the flooring.</span>")
|
||||
anchored = !anchored
|
||||
if(!anchored)
|
||||
@@ -75,7 +75,7 @@
|
||||
return
|
||||
|
||||
if(W.iswrench())
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You [anchored ? "unfasten" : "fasten"] [src] to the flooring.</span>")
|
||||
anchored = !anchored
|
||||
return
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
if(W.iscrowbar())
|
||||
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
|
||||
user.visible_message("<span class='notice'>[user] begins to take the glass off the solar tracker.</span>")
|
||||
if(do_after(user, 50))
|
||||
if(do_after(user, 50/W.toolspeed))
|
||||
var/obj/item/solar_assembly/S = locate() in src
|
||||
if(S)
|
||||
S.forceMove(src.loc)
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
else if(B.iswrench())
|
||||
anchored = !anchored
|
||||
to_chat(user, "You [anchored ? "attach" : "detach"] the [src] [anchored ? "to" : "from"] the ground")
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
playsound(src.loc, B.usesound, 75, 1)
|
||||
|
||||
|
||||
/obj/machinery/chem_master/Topic(href, href_list)
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
|
||||
/obj/machinery/chemical_dispenser/attackby(obj/item/weapon/W, mob/user)
|
||||
if(W.iswrench())
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You begin to [anchored ? "un" : ""]fasten \the [src].</span>")
|
||||
if (do_after(user, 20))
|
||||
user.visible_message(
|
||||
|
||||
@@ -284,7 +284,7 @@
|
||||
/obj/structure/reagent_dispensers/water_cooler/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if (W.isscrewdriver())
|
||||
src.add_fingerprint(user)
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
|
||||
playsound(src.loc, W.usesound, 100, 1)
|
||||
if(do_after(user, 20))
|
||||
if(!src) return
|
||||
switch (anchored)
|
||||
|
||||
@@ -262,7 +262,7 @@
|
||||
else
|
||||
density = 1 // We don't want disposal bins or outlets to go density 0
|
||||
to_chat(user, "You attach the [nicetype] to the underfloor.")
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
|
||||
playsound(src.loc, I.usesound, 100, 1)
|
||||
update()
|
||||
|
||||
else if(I.iswelder())
|
||||
@@ -271,7 +271,7 @@
|
||||
if(W.remove_fuel(0,user))
|
||||
playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
|
||||
to_chat(user, "Welding the [nicetype] in place.")
|
||||
if(do_after(user, 20))
|
||||
if(do_after(user, 20/W.toolspeed))
|
||||
if(!src || !W.isOn()) return
|
||||
to_chat(user, "The [nicetype] has been welded in place!")
|
||||
update() // TODO: Make this neat
|
||||
|
||||
@@ -60,12 +60,12 @@
|
||||
return
|
||||
if(mode==0) // It's off but still not unscrewed
|
||||
mode=-1 // Set it to doubleoff l0l
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
playsound(src.loc, I.usesound, 50, 1)
|
||||
to_chat(user, "You remove the screws around the power connection.")
|
||||
return
|
||||
else if(mode==-1)
|
||||
mode=0
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
playsound(src.loc, I.usesound, 50, 1)
|
||||
to_chat(user, "You attach the screws around the power connection.")
|
||||
return
|
||||
else if(I.iswelder() && mode==-1)
|
||||
@@ -77,7 +77,7 @@
|
||||
playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
|
||||
to_chat(user, "You start slicing the floorweld off the disposal unit.")
|
||||
|
||||
if(do_after(user,20))
|
||||
if(do_after(user,20/W.toolspeed))
|
||||
if(!src || !W.isOn()) return
|
||||
to_chat(user, "You sliced the floorweld off the disposal unit.")
|
||||
var/obj/structure/disposalconstruct/C = new (src.loc)
|
||||
@@ -867,7 +867,7 @@
|
||||
playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
|
||||
// check if anything changed over 3 seconds
|
||||
to_chat(user, "Slicing the disposal pipe...")
|
||||
if (do_after(user, 3 SECONDS, act_target = src))
|
||||
if (do_after(user, 3/W.toolspeed SECONDS, act_target = src))
|
||||
if(!src || !W.isOn()) return
|
||||
welded()
|
||||
else
|
||||
@@ -1339,7 +1339,7 @@
|
||||
playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
|
||||
// check if anything changed over 3 seconds
|
||||
to_chat(user, "Slicing the disposal pipe.")
|
||||
if (do_after(user, 3 SECONDS, act_target = src))
|
||||
if (do_after(user, 3/W.toolspeed SECONDS, act_target = src))
|
||||
if(!src || !W.isOn()) return
|
||||
welded()
|
||||
else
|
||||
@@ -1492,12 +1492,12 @@
|
||||
if(I.isscrewdriver())
|
||||
if(mode==0)
|
||||
mode=1
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
playsound(src.loc, I.usesound, 50, 1)
|
||||
to_chat(user, "You remove the screws around the power connection.")
|
||||
return
|
||||
else if(mode==1)
|
||||
mode=0
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
playsound(src.loc, I.usesound, 50, 1)
|
||||
to_chat(user, "You attach the screws around the power connection.")
|
||||
return
|
||||
else if(I.iswelder() && mode==1)
|
||||
@@ -1505,7 +1505,7 @@
|
||||
if(W.remove_fuel(0,user))
|
||||
playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
|
||||
to_chat(user, "You start slicing the floorweld off the disposal outlet.")
|
||||
if(do_after(user,20))
|
||||
if(do_after(user,20/W.toolspeed))
|
||||
if(!src || !W.isOn()) return
|
||||
to_chat(user, "You slice the floorweld off the disposal outlet.")
|
||||
var/obj/structure/disposalconstruct/C = new (src.loc)
|
||||
|
||||
@@ -342,19 +342,19 @@
|
||||
if(I.isscrewdriver())
|
||||
if(c_mode==0)
|
||||
c_mode=1
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
playsound(src.loc, I.usesound, 50, 1)
|
||||
to_chat(user, "You remove the screws around the power connection.")
|
||||
return
|
||||
else if(c_mode==1)
|
||||
c_mode=0
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
playsound(src.loc, I.usesound, 50, 1)
|
||||
to_chat(user, "You attach the screws around the power connection.")
|
||||
return
|
||||
else if(I.iswelder() && c_mode==1)
|
||||
var/obj/item/weapon/weldingtool/W = I
|
||||
if(W.remove_fuel(1,user))
|
||||
to_chat(user, "You start slicing the floorweld off the delivery chute.")
|
||||
if(do_after(user,20))
|
||||
if(do_after(user,20/W.toolspeed))
|
||||
playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
|
||||
if(!src || !W.isOn()) return
|
||||
to_chat(user, "You sliced the floorweld off the delivery chute.")
|
||||
|
||||
@@ -125,6 +125,16 @@ other types of metals and chemistry for reagents).
|
||||
build_path = /obj/item/clothing/glasses/meson
|
||||
sort_string = "GAAAC"
|
||||
|
||||
|
||||
/datum/design/item/powerdrill
|
||||
name = "power drill"
|
||||
desc = "An advanced drill designed to be faster than other drills."
|
||||
id = "powerdrill"
|
||||
req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 3)
|
||||
materials = list(DEFAULT_WALL_MATERIAL = 60, "glass" = 50)
|
||||
build_path = /obj/item/powerdrill
|
||||
sort_string = "GAAAD"
|
||||
|
||||
///////////////////////////////////
|
||||
/////////Shield Generators/////////
|
||||
///////////////////////////////////
|
||||
|
||||
@@ -73,6 +73,12 @@
|
||||
build_path = /obj/item/weapon/circuitboard/operating
|
||||
sort_string = "FACAA"
|
||||
|
||||
/datum/design/circuit/operatingadv
|
||||
name = "life support console"
|
||||
id = "operatingadv"
|
||||
build_path = /obj/item/weapon/circuitboard/advoperating
|
||||
sort_string = "FACAB"
|
||||
|
||||
/datum/design/circuit/pandemic
|
||||
name = "PanD.E.M.I.C. 2200"
|
||||
id = "pandemic"
|
||||
@@ -240,6 +246,88 @@
|
||||
build_path = /obj/item/weapon/circuitboard/recharge_station
|
||||
sort_string = "HACAC"
|
||||
|
||||
/datum/design/circuit/holopadboard
|
||||
name = "holopad board"
|
||||
id = "holo_board"
|
||||
req_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 2)
|
||||
build_path = /obj/item/weapon/circuitboard/holopad
|
||||
sort_string = "HACAD"
|
||||
|
||||
/datum/design/circuit/sleeper
|
||||
name = "sleeper board"
|
||||
id = "sleeper_board"
|
||||
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
|
||||
build_path = /obj/item/weapon/circuitboard/sleeper
|
||||
sort_string = "HACAE"
|
||||
|
||||
/datum/design/circuit/bodyscannerm
|
||||
name = "body Scanner board"
|
||||
id = "bodyscanm_board"
|
||||
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
|
||||
build_path = /obj/item/weapon/circuitboard/bodyscanner
|
||||
sort_string = "HACAF"
|
||||
|
||||
/datum/design/circuit/bodyscannerc
|
||||
name = "body Scanner console board"
|
||||
id = "bodyscanc_board"
|
||||
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
|
||||
build_path = /obj/item/weapon/circuitboard/bodyscannerconsole
|
||||
sort_string = "HACAG"
|
||||
|
||||
/datum/design/circuit/optable
|
||||
name = "operation table scanning board"
|
||||
id = "optable_board"
|
||||
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
|
||||
build_path = /obj/item/weapon/circuitboard/optable
|
||||
sort_string = "HACAH"
|
||||
|
||||
|
||||
/datum/design/circuit/optable
|
||||
name = "advanced operation table scanning board"
|
||||
id = "advoptable_board"
|
||||
req_tech = list(TECH_BIO = 4, TECH_ENGINEERING = 5)
|
||||
build_path = /obj/item/weapon/circuitboard/optableadv
|
||||
sort_string = "HACAI"
|
||||
|
||||
|
||||
/datum/design/circuit/smartfridge
|
||||
name = "smart fridge board"
|
||||
id = "fridge_board"
|
||||
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
|
||||
build_path = /obj/item/weapon/circuitboard/optable
|
||||
sort_string = "HACAJ"
|
||||
|
||||
/datum/design/circuit/requestconsole
|
||||
name = "request console board"
|
||||
id = "requestconsole_board"
|
||||
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
|
||||
build_path = /obj/item/weapon/circuitboard/requestconsole
|
||||
sort_string = "HACAI"
|
||||
|
||||
|
||||
/datum/design/circuit/cryopod
|
||||
name = "cryo cellboard"
|
||||
id = "cryocell_board"
|
||||
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
|
||||
build_path = /obj/item/weapon/circuitboard/cryotube
|
||||
sort_string = "HACAJ"
|
||||
|
||||
/datum/design/circuit/crystelpod
|
||||
name = "crystel therapy pod"
|
||||
id = "therapypod"
|
||||
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
|
||||
build_path = /obj/item/weapon/circuitboard/crystelpod
|
||||
sort_string = "HACAK"
|
||||
|
||||
/datum/design/circuit/crystelpodconsole
|
||||
name = "crystel therapy pod"
|
||||
id = "therapypodconsole"
|
||||
req_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
|
||||
build_path = /obj/item/weapon/circuitboard/crystelpodconsole
|
||||
sort_string = "HACAL"
|
||||
|
||||
|
||||
|
||||
/datum/design/circuit/atmosalerts
|
||||
name = "atmosphere alert console"
|
||||
id = "atmosalerts"
|
||||
|
||||
@@ -271,7 +271,7 @@
|
||||
|
||||
/obj/machinery/shieldgen/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(W.isscrewdriver())
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
|
||||
playsound(src.loc, W.usesound, 100, 1)
|
||||
if(is_open)
|
||||
to_chat(user, "<span class='notice'>You close the panel.</span>")
|
||||
is_open = 0
|
||||
@@ -295,7 +295,7 @@
|
||||
to_chat(user, "The bolts are covered, unlocking this would retract the covers.")
|
||||
return
|
||||
if(anchored)
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
|
||||
playsound(src.loc, W.usesound, 100, 1)
|
||||
to_chat(user, "<span class='notice'>You unsecure the [src] from the floor!</span>")
|
||||
if(active)
|
||||
to_chat(user, "<span class='notice'>The [src] shuts off!</span>")
|
||||
@@ -303,7 +303,7 @@
|
||||
anchored = 0
|
||||
else
|
||||
if(istype(get_turf(src), /turf/space)) return //No wrenching these in space!
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
|
||||
playsound(src.loc, W.usesound, 100, 1)
|
||||
to_chat(user, "<span class='notice'>You secure the [src] to the floor!</span>")
|
||||
anchored = 1
|
||||
|
||||
|
||||
@@ -164,14 +164,14 @@
|
||||
|
||||
else if(state == 0)
|
||||
state = 1
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
playsound(src.loc, W.usesound, 75, 1)
|
||||
to_chat(user, "You secure the external reinforcing bolts to the floor.")
|
||||
src.anchored = 1
|
||||
return
|
||||
|
||||
else if(state == 1)
|
||||
state = 0
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
|
||||
playsound(src.loc, W.usesound, 75, 1)
|
||||
to_chat(user, "You undo the external reinforcing bolts.")
|
||||
src.anchored = 0
|
||||
return
|
||||
|
||||
@@ -150,7 +150,7 @@
|
||||
if(F.welding)
|
||||
to_chat(user, "<span class='notice'>You begin reparing damage to \the [src].</span>")
|
||||
playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
|
||||
if(!do_after(user, 20) || !F.remove_fuel(1, user))
|
||||
if(!do_after(user, 20/W.toolspeed) || !F.remove_fuel(1, user))
|
||||
return
|
||||
user.visible_message("<span class='notice'>\The [user] repairs some damage to \the [src].</span>",
|
||||
"<span class='notice'>You repair some damage to \the [src].</span>")
|
||||
@@ -257,15 +257,15 @@
|
||||
reinforced = common_material_remove(user, reinforced, 40, "reinforcements", "screws", 'sound/items/Screwdriver.ogg')
|
||||
|
||||
/obj/structure/table/proc/remove_material(obj/item/weapon/wrench/W, mob/user)
|
||||
material = common_material_remove(user, material, 20, "plating", "bolts", 'sound/items/Ratchet.ogg')
|
||||
material = common_material_remove(user, material, 20, "plating", "bolts", W.usesound)
|
||||
|
||||
/obj/structure/table/proc/dismantle(obj/item/weapon/wrench/W, mob/user)
|
||||
if(manipulating) return
|
||||
manipulating = 1
|
||||
user.visible_message("<span class='notice'>\The [user] begins dismantling \the [src].</span>",
|
||||
"<span class='notice'>You begin dismantling \the [src].</span>")
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
if(!do_after(user, 20))
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
if(!do_after(user, 20/W.toolspeed))
|
||||
manipulating = 0
|
||||
return
|
||||
user.visible_message("<span class='notice'>\The [user] dismantles \the [src].</span>",
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
/obj/machinery/telepad_cargo/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(W.iswrench())
|
||||
anchored = 0
|
||||
playsound(src, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
playsound(src, W.usesound, 50, 1)
|
||||
if(anchored)
|
||||
anchored = 0
|
||||
to_chat(user, "<span class='caution'>\The [src] can now be moved.</span>")
|
||||
@@ -70,11 +70,11 @@
|
||||
to_chat(user, "<span class='caution'>\The [src] is now secured.</span>")
|
||||
if(W.isscrewdriver())
|
||||
if(stage == 0)
|
||||
playsound(src, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
playsound(src, W.usesound, 50, 1)
|
||||
to_chat(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)
|
||||
to_chat(user, "<span class='caution'>You screw in the telepad's tracking beacon.</span>")
|
||||
stage = 0
|
||||
if(W.iswelder() && stage == 1)
|
||||
|
||||
Reference in New Issue
Block a user