mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-26 01:22:03 +00:00
About The Pull Request A circuit and shell components have been added to Synthesizers (headphones and spacepods included, though with a reduced capacity because of their size), so they can now be used for wiremod. Just like for instant cameras, no shell design here. They are meant to be found in dorms or maybe ordered from cargo. Why It's Good For The Game The station outside the sci department has plenty of USB ports stuff but is lacking when it comes to circuits shell. This is another small step toward a better and more applicable wiremod. Changelog cl expansion: Synthesizers and headphones can now have circuits installed. /cl
53 lines
1.6 KiB
Plaintext
53 lines
1.6 KiB
Plaintext
/obj/structure/musician
|
|
name = "Not A Piano"
|
|
desc = "Something broke, contact coderbus."
|
|
interaction_flags_atom = INTERACT_ATOM_ATTACK_HAND | INTERACT_ATOM_UI_INTERACT | INTERACT_ATOM_REQUIRES_DEXTERITY
|
|
var/can_play_unanchored = FALSE
|
|
var/list/allowed_instrument_ids = list("r3grand","r3harpsi","crharpsi","crgrand1","crbright1", "crichugan", "crihamgan","piano")
|
|
var/datum/song/song
|
|
|
|
/obj/structure/musician/Initialize(mapload)
|
|
. = ..()
|
|
song = new(src, allowed_instrument_ids)
|
|
allowed_instrument_ids = null
|
|
|
|
/obj/structure/musician/Destroy()
|
|
QDEL_NULL(song)
|
|
return ..()
|
|
|
|
/obj/structure/musician/proc/should_stop_playing(atom/music_player)
|
|
if(!(anchored || can_play_unanchored) || !ismob(music_player))
|
|
return STOP_PLAYING
|
|
var/mob/user = music_player
|
|
if(!user.canUseTopic(src, FALSE, TRUE, FALSE, FALSE)) //can play with TK and while resting because fun.
|
|
return STOP_PLAYING
|
|
|
|
/obj/structure/musician/ui_interact(mob/user)
|
|
. = ..()
|
|
song.ui_interact(user)
|
|
|
|
/obj/structure/musician/wrench_act(mob/living/user, obj/item/I)
|
|
default_unfasten_wrench(user, I, 40)
|
|
return TRUE
|
|
|
|
/obj/structure/musician/piano
|
|
name = "space minimoog"
|
|
icon = 'icons/obj/musician.dmi'
|
|
icon_state = "minimoog"
|
|
anchored = TRUE
|
|
density = TRUE
|
|
|
|
/obj/structure/musician/piano/unanchored
|
|
anchored = FALSE
|
|
|
|
/obj/structure/musician/piano/Initialize(mapload)
|
|
. = ..()
|
|
if(prob(50) && icon_state == initial(icon_state))
|
|
name = "space minimoog"
|
|
desc = "This is a minimoog, like a space piano, but more spacey!"
|
|
icon_state = "minimoog"
|
|
else
|
|
name = "space piano"
|
|
desc = "This is a space piano, like a regular piano, but always in tune! Even if the musician isn't."
|
|
icon_state = "piano"
|