mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-26 14:31:59 +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:
@@ -26,7 +26,7 @@
|
||||
/obj/item/device/multitool/hacktool/attackby(var/obj/item/W, var/mob/user)
|
||||
if(W.isscrewdriver())
|
||||
in_hack_mode = !in_hack_mode
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
else
|
||||
..()
|
||||
|
||||
|
||||
@@ -160,7 +160,7 @@
|
||||
user.visible_message(span("notice", "[user] starts welding the metal shell of [src]."), span("notice", "You start [hacked ? "repairing" : "welding open"] the metal covering of [src]."))
|
||||
playsound(loc, 'sound/items/Welder.ogg', 50, 1)
|
||||
add_overlay("overlay_welding")
|
||||
if (do_after(user, 25))
|
||||
if (do_after(user, 25/I.toolspeed))
|
||||
to_chat(user, span("notice", "You are able to [hacked ? "repair" : "weld through"] the metal shell of [src]."))
|
||||
if (hacked) locked = 1
|
||||
else locked = 0
|
||||
@@ -193,7 +193,7 @@
|
||||
if (2)
|
||||
if (I.isscrewdriver())
|
||||
to_chat(user, span("notice", "You unscrew and remove the wiring cover from \the [src]."))
|
||||
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
playsound(loc, I.usesound, 50, 1)
|
||||
setconstructionstate(3)
|
||||
return
|
||||
|
||||
@@ -219,7 +219,7 @@
|
||||
|
||||
if (I.isscrewdriver())
|
||||
to_chat(user, span("notice", "You replace and screw tight the wiring cover from \the [src]."))
|
||||
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
playsound(loc, I.usesound, 50, 1)
|
||||
setconstructionstate(2)
|
||||
return
|
||||
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
|
||||
|
||||
/obj/item/device/animaltagger
|
||||
name = "animal tagger"
|
||||
desc = "Used for tagging animals to be identified by a ear tag."
|
||||
icon_state = "tagger0"
|
||||
force = 5.0
|
||||
w_class = 2.0
|
||||
throwforce = 5.0
|
||||
throw_range = 15
|
||||
throw_speed = 3
|
||||
var/animaltag = null
|
||||
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 20)
|
||||
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 1)
|
||||
|
||||
|
||||
/obj/item/device/animaltagger/Destroy()
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/item/device/animaltagger/attack()
|
||||
return
|
||||
|
||||
/obj/item/device/animaltagger/afterattack(atom/A as mob|obj, mob/user as mob)
|
||||
|
||||
if(isanimal(A))
|
||||
A.name = animaltag
|
||||
to_chat(user,"<span class='notice'>You tag the animal as [animaltag].</span>")
|
||||
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You can't tag non animals.</span>")
|
||||
return
|
||||
|
||||
/obj/item/device/animaltagger/attack_self(mob/user as mob)
|
||||
|
||||
var/inputtag = sanitizeSafe(input(user,"Label text?","Set label",""), MAX_NAME_LEN)
|
||||
if(!inputtag || !length(inputtag))
|
||||
to_chat(user, "<span class='notice'>Invalid tag line.</span>")
|
||||
return
|
||||
animaltag = inputtag
|
||||
@@ -129,6 +129,11 @@
|
||||
build_path = /obj/machinery/computer/operating
|
||||
origin_tech = list(TECH_DATA = 2, TECH_BIO = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/advoperating
|
||||
name = T_BOARD("life support table console")
|
||||
build_path = /obj/machinery/computer/operating/advanced
|
||||
origin_tech = list(TECH_DATA = 4, TECH_BIO = 4)
|
||||
|
||||
/obj/item/weapon/circuitboard/curefab
|
||||
name = T_BOARD("cure fabricator")
|
||||
build_path = /obj/machinery/computer/curer
|
||||
|
||||
@@ -10,15 +10,92 @@
|
||||
board_type = "other"
|
||||
|
||||
/obj/item/weapon/circuitboard/sleeper
|
||||
name = T_BOARD("sleeper")
|
||||
name = T_BOARD("Sleeper")
|
||||
desc = "The circuitboard for a sleeper."
|
||||
build_path = "/obj/machinery/sleeper"
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
|
||||
board_type = "other" // change this to machine if you want it to be buildable
|
||||
board_type = "machine"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/capacitor = 2,
|
||||
/obj/item/weapon/stock_parts/scanning_module = 2,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1,
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large = 1)
|
||||
"/obj/item/weapon/stock_parts/capacitor" = 2,
|
||||
"/obj/item/weapon/stock_parts/scanning_module" = 2,
|
||||
"/obj/item/weapon/stock_parts/console_screen" = 1,
|
||||
"/obj/item/weapon/reagent_containers/glass/beaker/large" = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/cryotube
|
||||
name = T_BOARD("Cryo Cell")
|
||||
desc = "The circuitboard for a cryo tube."
|
||||
build_path = "/obj/machinery/atmospherics/unary/cryo_cell"
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 3)
|
||||
board_type = "machine"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/scanning_module" = 2,
|
||||
"/obj/item/weapon/stock_parts/console_screen" = 1,
|
||||
"/obj/item/weapon/reagent_containers/glass/beaker/large" = 1)
|
||||
|
||||
|
||||
/obj/item/weapon/circuitboard/bodyscanner
|
||||
name = T_BOARD("Body Scanner Machine")
|
||||
desc = "The circuitboard for a body scanner machine."
|
||||
build_path = "/obj/machinery/bodyscanner"
|
||||
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
|
||||
board_type = "machine"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/capacitor" = 1,
|
||||
"/obj/item/weapon/stock_parts/scanning_module" = 1,
|
||||
"/obj/item/device/healthanalyzer" = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/bodyscannerconsole
|
||||
name = T_BOARD("Body Scanner Console")
|
||||
desc = "The circuitboard for a body scanner console."
|
||||
build_path = "/obj/machinery/body_scanconsole"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
|
||||
board_type = "machine"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/scanning_module" = 2,
|
||||
"/obj/item/weapon/stock_parts/console_screen" = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/requestconsole
|
||||
name = T_BOARD("Request Console")
|
||||
desc = "The circuitboard for a body scanner console."
|
||||
build_path = "/obj/machinery/requests_console"
|
||||
origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 2)
|
||||
board_type = "machine"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/capacitor" = 1,
|
||||
"/obj/item/weapon/stock_parts/console_screen" = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/optable
|
||||
name = T_BOARD("Operation Table")
|
||||
desc = "The circuitboard for a operation table."
|
||||
build_path = "/obj/machinery/optable"
|
||||
origin_tech = list(TECH_MAGNET = 1, TECH_ENGINEERING = 2)
|
||||
board_type = "machine"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/scanning_module" = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/optableadv
|
||||
name = T_BOARD("Advanced Operation Table")
|
||||
desc = "The circuitboard for a advanced operating table."
|
||||
build_path = "/obj/machinery/optable/lifesupport"
|
||||
origin_tech = list(TECH_BIO = 4, TECH_ENGINEERING = 5)
|
||||
board_type = "machine"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/scanning_module" = 1,
|
||||
"/obj/item/weapon/stock_parts/capacitor" = 1,
|
||||
"/obj/item/device/healthanalyzer" = 1,
|
||||
"/obj/item/weapon/stock_parts/scanning_module/adv" = 1,
|
||||
"/obj/item/clothing/mask/breath/medical" = 1,
|
||||
"/obj/item/weapon/reagent_containers/glass/beaker/large" = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/smartfridge
|
||||
name = T_BOARD("Smart Fridge")
|
||||
desc = "The circuitboard for a smart fridge."
|
||||
build_path = "/obj/machinery/smartfridge"
|
||||
origin_tech = list(TECH_MAGNET = 1, TECH_ENGINEERING = 3)
|
||||
board_type = "machine"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/manipulator" = 3)
|
||||
|
||||
|
||||
/obj/item/weapon/circuitboard/refiner
|
||||
name = T_BOARD("ore processor")
|
||||
@@ -39,4 +116,34 @@
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/capacitor = 3,
|
||||
/obj/item/weapon/stock_parts/scanning_module = 1,
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2)
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/holopad
|
||||
name = T_BOARD("Holopad")
|
||||
desc = "The circuitboard for a holopad."
|
||||
build_path = "/obj/machinery/hologram/holopad"
|
||||
origin_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 2)
|
||||
board_type = "machine"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/capacitor" = 2,
|
||||
"/obj/item/weapon/stock_parts/scanning_module" = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/crystelpodconsole
|
||||
name = T_BOARD("Crystel Therapy Pod Console")
|
||||
desc = "The circuitboard for a crystel therapy pod console."
|
||||
build_path = "/obj/machinery/chakraconsole"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
|
||||
board_type = "machine"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/scanning_module" = 2,
|
||||
"/obj/item/weapon/stock_parts/capacitor" = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/crystelpod
|
||||
name = T_BOARD("Crystel Therapy Pod")
|
||||
desc = "The circuitboard for a crystel therapy pod."
|
||||
build_path = "/obj/machinery/chakrapod"
|
||||
origin_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
|
||||
board_type = "machine"
|
||||
req_components = list(
|
||||
"/obj/item/weapon/stock_parts/scanning_module" = 2,
|
||||
"/obj/item/weapon/stock_parts/capacitor" = 2)
|
||||
@@ -57,7 +57,7 @@
|
||||
return
|
||||
path = 1
|
||||
to_chat(user, "<span class='notice'>You add [W] to the metal casing.</span>")
|
||||
playsound(src.loc, 'sound/items/Screwdriver2.ogg', 25, -3)
|
||||
playsound(src.loc, W.usesound, 25, -3)
|
||||
user.remove_from_mob(det)
|
||||
det.forceMove(src)
|
||||
detonator = det
|
||||
@@ -79,7 +79,7 @@
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You lock the empty assembly.</span>")
|
||||
name = "fake grenade"
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 25, -3)
|
||||
playsound(src.loc, W.usesound, 25, -3)
|
||||
icon_state = initial(icon_state) +"_locked"
|
||||
stage = 2
|
||||
else if(stage == 2)
|
||||
@@ -89,7 +89,7 @@
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You unlock the assembly.</span>")
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 25, -3)
|
||||
playsound(src.loc, W.usesound, 25, -3)
|
||||
name = "unsecured grenade with [beakers.len] containers[detonator?" and detonator":""]"
|
||||
icon_state = initial(icon_state) + (detonator?"_ass":"")
|
||||
stage = 1
|
||||
|
||||
@@ -73,3 +73,13 @@
|
||||
slot_flags = SLOT_BACK
|
||||
origin_tech = list(TECH_MATERIAL = 2, TECH_COMBAT = 2)
|
||||
attack_verb = list("chopped", "sliced", "cut", "reaped")
|
||||
|
||||
/obj/item/weapon/material/scythe/sickle
|
||||
icon_state = "sickle0"
|
||||
name = "sickle"
|
||||
desc = "A short sharp and curved blade on a wood handle, this tool makes it easy to cut grass."
|
||||
force_divisor = 0.175 // 16 with hardness 60 (steel)
|
||||
thrown_force_divisor = 0.04 // 5 with weight 20 (steel)
|
||||
throw_speed = 2
|
||||
throw_range = 3
|
||||
w_class = 2
|
||||
@@ -53,7 +53,8 @@
|
||||
/obj/item/weapon/material/hatchet,
|
||||
/obj/item/device/analyzer/plant_analyzer,
|
||||
/obj/item/weapon/extinguisher/mini,
|
||||
/obj/item/weapon/pipewrench
|
||||
/obj/item/weapon/pipewrench,
|
||||
/obj/item/powerdrill
|
||||
)
|
||||
|
||||
|
||||
@@ -64,7 +65,8 @@
|
||||
/obj/item/weapon/weldingtool = 1,
|
||||
/obj/item/weapon/crowbar = 1,
|
||||
/obj/item/weapon/wirecutters = 1,
|
||||
/obj/item/stack/cable_coil/random = 1
|
||||
/obj/item/stack/cable_coil/random = 1,
|
||||
/obj/item/powerdrill = 1
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
return
|
||||
|
||||
if (W.isscrewdriver())
|
||||
if (do_after(user, 20))
|
||||
if (do_after(user, 20/W.toolspeed))
|
||||
src.open =! src.open
|
||||
user.show_message(text("<span class='notice'>You [] the service panel.</span>", (src.open ? "open" : "close")))
|
||||
return
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -614,7 +614,7 @@
|
||||
|
||||
user.visible_message("<span class='notice'>[user] is trying to [anchored ? "un" : "" ]secure \the [src]!</span>",
|
||||
"You are trying to [anchored ? "un" : "" ]secure \the [src]!")
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
|
||||
if (!do_after(user, 3 SECONDS, act_target = src))
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user