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 5889237f24d..a903b1ea4ee 100644 Binary files a/icons/obj/jukebox.dmi and b/icons/obj/jukebox.dmi differ