From e37ac4da3ecb4c00bf6412d4e5e90b8a37ee67c7 Mon Sep 17 00:00:00 2001 From: Leshana Date: Wed, 25 May 2016 21:31:45 -0400 Subject: [PATCH] Fixes #145 - Makes jukeboxes constructable. * Adds circuit board. * Adds design to print board on autolathe. * Makes jukeboxes deconstructable back to frame. --- code/game/machinery/jukebox.dm | 13 +++++++++++++ .../weapons/circuitboards/machinery/jukebox.dm | 13 +++++++++++++ code/modules/research/designs.dm | 7 +++++++ polaris.dme | 1 + 4 files changed, 34 insertions(+) create mode 100644 code/game/objects/items/weapons/circuitboards/machinery/jukebox.dm diff --git a/code/game/machinery/jukebox.dm b/code/game/machinery/jukebox.dm index 59d8f2bd08..3cc537be49 100644 --- a/code/game/machinery/jukebox.dm +++ b/code/game/machinery/jukebox.dm @@ -19,6 +19,7 @@ datum/track/New(var/title_name, var/audio) use_power = 1 idle_power_usage = 10 active_power_usage = 100 + circuit = /obj/item/weapon/circuitboard/jukebox var/playing = 0 @@ -35,6 +36,14 @@ datum/track/New(var/title_name, var/audio) new/datum/track("Trai`Tor", 'sound/music/traitor.ogg'), ) +/obj/machinery/media/jukebox/New() + ..() + circuit = new circuit(src) + component_parts = list() + component_parts += new /obj/item/weapon/stock_parts/capacitor(src) + component_parts += new /obj/item/weapon/stock_parts/console_screen(src) + component_parts += new /obj/item/stack/cable_coil(src, 5) + RefreshParts() /obj/machinery/media/jukebox/Destroy() StopPlaying() @@ -163,6 +172,10 @@ datum/track/New(var/title_name, var/audio) /obj/machinery/media/jukebox/attackby(obj/item/W as obj, mob/user as mob) src.add_fingerprint(user) + if(default_deconstruction_screwdriver(user, W)) + return + if(default_deconstruction_crowbar(user, W)) + return if(istype(W, /obj/item/weapon/wrench)) if(playing) StopPlaying() diff --git a/code/game/objects/items/weapons/circuitboards/machinery/jukebox.dm b/code/game/objects/items/weapons/circuitboards/machinery/jukebox.dm new file mode 100644 index 0000000000..4b6296c886 --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/machinery/jukebox.dm @@ -0,0 +1,13 @@ +#ifndef T_BOARD +#error T_BOARD macro is not defined but we need it! +#endif + +/obj/item/weapon/circuitboard/jukebox + name = T_BOARD("jukebox") + build_path = "/obj/machinery/media/jukebox" + board_type = "machine" + origin_tech = list(TECH_MAGNET = 2, TECH_DATA = 1) + req_components = list( + /obj/item/weapon/stock_parts/capacitor = 1, + /obj/item/weapon/stock_parts/console_screen = 1, + /obj/item/stack/cable_coil = 5) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 05b8a82f2f..addc1b629b 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -756,6 +756,13 @@ CIRCUITS BELOW build_path = /obj/item/weapon/circuitboard/arcade/orion_trail sort_string = "MAAAA" +/datum/design/circuit/oriontrail + name = "jukebox" + id = "jukebox" + req_tech = list(TECH_MAGNET = 2, TECH_DATA = 1) + build_path = /obj/item/weapon/circuitboard/jukebox + sort_string = "MAAAB" + /datum/design/circuit/seccamera name = "security camera monitor" id = "seccamera" diff --git a/polaris.dme b/polaris.dme index 841c4d31d3..abb5d7e1c4 100644 --- a/polaris.dme +++ b/polaris.dme @@ -721,6 +721,7 @@ #include "code\game\objects\items\weapons\circuitboards\computer\telecomms.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\biogenerator.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\cloning.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\jukebox.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\mech_recharger.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\mining_drill.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\pacman.dm"