mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-21 03:59:59 +01:00
Moves singulo and supermatter dmis into obj/engine, renamed from obj/tesla_engine Moves Halloween, Christmas, and misc holiday items to obj/holiday Moves lollipops to obj/food Moves crates, closets, and storage to obj/storage Moves assemblies to obj/assemblies Renames decals.dmi to signs.dmi ...because they're signs and not decals Moves statues, cutouts, instruments, art supplies, and crayons to obj/art Moves balloons, plushes, toys, cards, dice, the hourglass, and TCG to obj/toys Moves guns, swords, shields to obj/weapons
65 lines
2.0 KiB
Plaintext
65 lines
2.0 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
|
|
integrity_failure = 0.25
|
|
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/tool)
|
|
. = ..()
|
|
default_unfasten_wrench(user, tool, time = 4 SECONDS)
|
|
return TOOL_ACT_TOOLTYPE_SUCCESS
|
|
|
|
/obj/structure/musician/piano
|
|
name = "space piano"
|
|
desc = "This is a space piano, like a regular piano, but always in tune! Even if the musician isn't."
|
|
icon = 'icons/obj/art/musician.dmi'
|
|
icon_state = "piano"
|
|
anchored = TRUE
|
|
density = TRUE
|
|
var/broken_icon_state = "pianobroken"
|
|
|
|
/obj/structure/musician/piano/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
|
|
switch(damage_type)
|
|
if(BRUTE)
|
|
playsound(src, 'sound/effects/piano_hit.ogg', 100, TRUE)
|
|
if(BURN)
|
|
playsound(src, 'sound/items/welder.ogg', 100, TRUE)
|
|
|
|
/obj/structure/musician/piano/atom_break(damage_flag)
|
|
. = ..()
|
|
if(!broken)
|
|
broken = TRUE
|
|
icon_state = broken_icon_state
|
|
|
|
/obj/structure/musician/piano/unanchored
|
|
anchored = FALSE
|
|
|
|
/obj/structure/musician/piano/minimoog
|
|
name = "space minimoog"
|
|
desc = "This is a minimoog, like a space piano, but more spacey!"
|
|
icon_state = "minimoog"
|
|
broken_icon_state = "minimoogbroken"
|