Files
Bubberstation/code/modules/wiremod/shell/shell_items.dm
SkyratBot 07e35c019a [MIRROR] Adds the airlock shell, refactors USB code to be easier to use, implements USB cables for the binary valve and more. (#6496)
* Adds the airlock shell, refactors USB code to be easier to use, implements USB cables for the binary valve and more. (#59728)

Adds the airlock shell. The circuit has full control over the airlock.
Refactors USB code to be easier to use for less experienced coders.
Implements USB cables for the binary valve to be able to open/close the valve.
Adds a private channel for radios that only lets circuits with the same owner's ID to interact with it.

* Adds the airlock shell, refactors USB code to be easier to use, implements USB cables for the binary valve and more.

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-06-24 23:02:43 +01:00

55 lines
1.5 KiB
Plaintext

/**
* # Shell Item
*
* Printed out by protolathes. Screwdriver to complete the shell.
*/
/obj/item/shell
name = "assembly"
desc = "A shell assembly that can be completed by screwdrivering it."
icon = 'icons/obj/wiremod.dmi'
var/shell_to_spawn
var/screw_delay = 3 SECONDS
/obj/item/shell/screwdriver_act(mob/living/user, obj/item/tool)
user.visible_message(span_notice("[user] begins finishing [src]."), span_notice("You begin finishing [src]."))
tool.play_tool_sound(src)
if(!do_after(user, screw_delay, src))
return
user.visible_message(span_notice("[user] finishes [src]."), span_notice("You finish [src]."))
var/turf/drop_loc = drop_location()
qdel(src)
if(drop_loc)
new shell_to_spawn(drop_loc)
return TRUE
/obj/item/shell/bot
name = "bot assembly"
icon_state = "setup_medium_box-open"
shell_to_spawn = /obj/structure/bot
/obj/item/shell/money_bot
name = "money bot assembly"
icon_state = "setup_large-open"
shell_to_spawn = /obj/structure/money_bot
/obj/item/shell/drone
name = "drone assembly"
icon_state = "setup_medium_med-open"
shell_to_spawn = /mob/living/circuit_drone
/obj/item/shell/server
name = "server assembly"
icon_state = "setup_stationary-open"
shell_to_spawn = /obj/structure/server
screw_delay = 10 SECONDS
/obj/item/shell/airlock
name = "circuit airlock assembly"
icon = 'icons/obj/doors/airlocks/station/public.dmi'
icon_state = "construction"
shell_to_spawn = /obj/machinery/door/airlock/shell
screw_delay = 10 SECONDS