From cf4b9f5e42662759a3efa7960fb891ba06b5b57a Mon Sep 17 00:00:00 2001 From: Rob Nelson Date: Tue, 8 Apr 2014 16:07:36 -0700 Subject: [PATCH] Emaggable jukebox. --- code/modules/media/jukebox.dm | 24 ++++++++++++++++++++++-- icons/obj/jukebox.dmi | Bin 4691 -> 5116 bytes 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/code/modules/media/jukebox.dm b/code/modules/media/jukebox.dm index 20c94b93298..e1a800d5427 100644 --- a/code/modules/media/jukebox.dm +++ b/code/modules/media/jukebox.dm @@ -20,6 +20,8 @@ var/url = "" var/length = 0 // decaseconds + var/emagged = 0 + New(var/list/json) title = json["title"] artist = json["artist"] @@ -97,13 +99,16 @@ var/global/loopModeNames=list( return icon_state = "jukebox2" if(playing) - overlays += "jukebox2-running" + if(emagged) + overlays += "jukebox2-emagged" + else + overlays += "jukebox2-running" /obj/machinery/media/jukebox/proc/check_reload() return world.time > last_reload + JUKEBOX_RELOAD_COOLDOWN /obj/machinery/media/jukebox/attack_hand(var/mob/user) - if(stat & (NOPOWER|BROKEN)) + if(stat & (NOPOWER|BROKEN) || emagged) return var/t = "

Jukebox Interface

" t += "Power: [playing?"On":"Off"]
" @@ -132,8 +137,23 @@ var/global/loopModeNames=list( popup.open() +/obj/machinery/media/jukebox/attackby(obj/item/W, mob/user) + if(istype(W, /obj/item/weapon/card/emag) && !emagged) + playlist_id = "emagged" + last_reload=world.time + playlist=null + current_song=0 + loop_mode = JUKEMODE_SHUFFLE + emagged = 1 + user.visible_message("[user.name] emags the [src.name].","\red You short out the [src.name].") + update_icon() + update_music() + return + /obj/machinery/media/jukebox/Topic(href, href_list) ..() + if(emagged) return + if (href_list["power"]) playing=!playing update_music() diff --git a/icons/obj/jukebox.dmi b/icons/obj/jukebox.dmi index 5889237f24da22ec6973fba2041cf8bfa49bb138..a903b1ea4ee76eab19fd3571bb6e1da343354a28 100644 GIT binary patch literal 5116 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