Fixes #145 - Makes jukeboxes constructable.

* Adds circuit board.
* Adds design to print board on autolathe.
* Makes jukeboxes deconstructable back to frame.
This commit is contained in:
Leshana
2016-05-25 21:31:45 -04:00
parent ca6e75ab8f
commit e37ac4da3e
4 changed files with 34 additions and 0 deletions

View File

@@ -19,6 +19,7 @@ datum/track/New(var/title_name, var/audio)
use_power = 1 use_power = 1
idle_power_usage = 10 idle_power_usage = 10
active_power_usage = 100 active_power_usage = 100
circuit = /obj/item/weapon/circuitboard/jukebox
var/playing = 0 var/playing = 0
@@ -35,6 +36,14 @@ datum/track/New(var/title_name, var/audio)
new/datum/track("Trai`Tor", 'sound/music/traitor.ogg'), 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() /obj/machinery/media/jukebox/Destroy()
StopPlaying() 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) /obj/machinery/media/jukebox/attackby(obj/item/W as obj, mob/user as mob)
src.add_fingerprint(user) 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(istype(W, /obj/item/weapon/wrench))
if(playing) if(playing)
StopPlaying() StopPlaying()

View File

@@ -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)

View File

@@ -756,6 +756,13 @@ CIRCUITS BELOW
build_path = /obj/item/weapon/circuitboard/arcade/orion_trail build_path = /obj/item/weapon/circuitboard/arcade/orion_trail
sort_string = "MAAAA" 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 /datum/design/circuit/seccamera
name = "security camera monitor" name = "security camera monitor"
id = "seccamera" id = "seccamera"

View File

@@ -721,6 +721,7 @@
#include "code\game\objects\items\weapons\circuitboards\computer\telecomms.dm" #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\biogenerator.dm"
#include "code\game\objects\items\weapons\circuitboards\machinery\cloning.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\mech_recharger.dm"
#include "code\game\objects\items\weapons\circuitboards\machinery\mining_drill.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\mining_drill.dm"
#include "code\game\objects\items\weapons\circuitboards\machinery\pacman.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\pacman.dm"