diff --git a/_maps/shuttles/emergency_discoinferno.dmm b/_maps/shuttles/emergency_discoinferno.dmm index e1631ba1c11f2..d1dfd5752e584 100644 --- a/_maps/shuttles/emergency_discoinferno.dmm +++ b/_maps/shuttles/emergency_discoinferno.dmm @@ -113,7 +113,7 @@ /turf/open/floor/mineral/plasma, /area/shuttle/escape) "v" = ( -/obj/machinery/disco/indestructible, +/obj/machinery/jukebox/disco/indestructible, /turf/open/floor/light/colour_cycle, /area/shuttle/escape) "w" = ( diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index 1ae2480901a1d..58ed8a2609c81 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -1,29 +1,28 @@ -// DISCO DANCE MACHINE - For admin, engineering and shuttle memes/abuse. - -/obj/machinery/disco - name = "radiant dance machine mark IV" - desc = "The first three prototypes were discontinued after mass casualty incidents." - icon = 'icons/obj/lighting.dmi' - icon_state = "disco0" - anchored = FALSE +/obj/machinery/jukebox + name = "jukebox" + desc = "A classic music player.." + icon = 'icons/obj/stationobjs.dmi' + icon_state = "jukebox" + anchored = TRUE verb_say = "states" density = TRUE - req_access = list(ACCESS_ENGINE) + req_access = list(ACCESS_BAR) var/active = FALSE var/list/rangers = list() - var/charge = 35 var/stop = 0 + var/list/songs = list() + var/datum/track/selection = null + +/obj/machinery/jukebox/disco + name = "radiant dance machine mark IV" + desc = "The first three prototypes were discontinued after mass casualty incidents." + icon_state = "disco" + req_access = list(ACCESS_ENGINE) + anchored = FALSE var/list/spotlights = list() var/list/sparkles = list() - var/static/list/songs = list( - new /datum/track("Engineering's Basic Beat", 'sound/misc/disco.ogg', 600, 5), - new /datum/track("Engineering's Domination Dance", 'sound/misc/e1m1.ogg', 950, 6), - new /datum/track("Engineering's Superiority Shimmy", 'sound/misc/paradox.ogg', 2400, 4), - new /datum/track("Engineering's Ultimate High-Energy Hustle", 'sound/misc/boogie2.ogg', 1770, 5), - ) - var/datum/track/selection = null -/obj/machinery/disco/indestructible +/obj/machinery/jukebox/disco/indestructible name = "radiant dance machine mark V" desc = "Now redesigned with data gathered from the extensive disco and plasma research." req_access = null @@ -36,7 +35,6 @@ var/song_path = null var/song_length = 0 var/song_beat = 0 - var/GBP_required = 0 /datum/track/New(name, path, length, beat) song_name = name @@ -44,29 +42,27 @@ song_length = length song_beat = beat -/obj/machinery/disco/proc/add_track(file, name, length, beat) - var/sound/S = file - if(!istype(S)) - return - if(!name) - name = "[file]" - if(!beat) - beat = 5 - if(!length) - length = 2400 //Unless there's a way to discern via BYOND. - var/datum/track/T = new /datum/track(name, file, length, beat) - songs += T - -/obj/machinery/disco/Initialize() +/obj/machinery/jukebox/Initialize() . = ..() - selection = songs[1] + var/list/tracks = flist("config/jukebox_music/sounds/") + + for(var/S in tracks) + var/datum/track/T = new() + T.song_path = file("config/jukebox_music/sounds/[S]") + var/list/L = splittext(S,"+") + T.song_name = L[1] + T.song_length = text2num(L[2]) + T.song_beat = text2num(L[3]) + songs |= T + if(songs.len) + selection = pick(songs) -/obj/machinery/disco/Destroy() +/obj/machinery/jukebox/Destroy() dance_over() return ..() -/obj/machinery/disco/attackby(obj/item/O, mob/user, params) +/obj/machinery/jukebox/attackby(obj/item/O, mob/user, params) if(!active && !(flags_1 & NODECONSTRUCT_1)) if(istype(O, /obj/item/wrench)) if(!anchored && !isinspace()) @@ -79,25 +75,27 @@ return return ..() -/obj/machinery/disco/update_icon() +/obj/machinery/jukebox/update_icon() if(active) - icon_state = "disco1" + icon_state = "[initial(icon_state)]-active" else - icon_state = "disco0" - ..() - + icon_state = "[initial(icon_state)]" -/obj/machinery/disco/ui_interact(mob/user) +/obj/machinery/jukebox/ui_interact(mob/user) . = ..() if (!anchored) to_chat(user,"This device must be anchored by a wrench!") return if(!allowed(user)) - to_chat(user,"Error: Access Denied - Message: Only the engineering department can be trusted with this kind of power.") + to_chat(user,"Error: Access Denied.") user.playsound_local(src,'sound/misc/compiler-failure.ogg', 25, 1) return if(!Adjacent(user) && !isAI(user)) return + if(!songs.len) + to_chat(user,"Error: No music tracks have been authorized for your station. Petition Central Command to resolve this issue.") + playsound(src,'sound/misc/compiler-failure.ogg', 25, 1) + return var/list/dat = list() dat +="
" dat += "[!active ? "BREAK IT DOWN" : "SHUT IT DOWN"]
" @@ -105,23 +103,12 @@ dat += " Select Track
" dat += "Track Selected: [selection.song_name]
" dat += "Track Length: [DisplayTimeText(selection.song_length)]

" - dat += "
DJ's Soundboard:
" - dat +="
" - dat += "Air Horn " - dat += "Station Alert " - dat += "Warning Siren " - dat += "Honk
" - dat += "Shotgun Pump" - dat += "Gunshot" - dat += "Esword" - dat += "Harm Alarm" - dat += "Yeehaw" - var/datum/browser/popup = new(user, "vending", "Radiance Dance Machine - Mark IV", 400, 350) + var/datum/browser/popup = new(user, "vending", "[name]", 400, 350) popup.set_content(dat.Join()) popup.open() -/obj/machinery/disco/Topic(href, href_list) +/obj/machinery/jukebox/Topic(href, href_list) if(..()) return add_fingerprint(usr) @@ -134,11 +121,8 @@ to_chat(usr, "Error: The device is still resetting from the last activation, it will be ready again in [DisplayTimeText(stop-world.time)].") playsound(src, 'sound/misc/compiler-failure.ogg', 50, 1) return - active = TRUE - update_icon() - dance_setup() + activate_music() START_PROCESSING(SSobj, src) - lights_spin() updateUsrDialog() else if(active) stop = 0 @@ -156,34 +140,19 @@ return selection = available[selected] updateUsrDialog() - if("horn") - deejay('sound/items/airhorn2.ogg') - if("alert") - deejay('sound/misc/notice1.ogg') - if("siren") - deejay('sound/machines/engine_alert1.ogg') - if("honk") - deejay('sound/items/bikehorn.ogg') - if("pump") - deejay('sound/weapons/shotgunpump.ogg') - if("pop") - deejay('sound/weapons/gunshot3.ogg') - if("saber") - deejay('sound/weapons/saberon.ogg') - if("harm") - deejay('sound/ai/harmalarm.ogg') - if("yeehaw") - deejay('sound/misc/Yeehaw.ogg') - -/obj/machinery/disco/proc/deejay(var/S) - if (QDELETED(src) || !active || charge < 5) - to_chat(usr, "The device is not able to play more DJ sounds at this time.") - return - charge -= 5 - playsound(src, S,300,1) -/obj/machinery/disco/proc/dance_setup() +/obj/machinery/jukebox/proc/activate_music() + active = TRUE + update_icon() + START_PROCESSING(SSobj, src) stop = world.time + selection.song_length + +/obj/machinery/jukebox/disco/activate_music() + ..() + dance_setup() + lights_spin() + +/obj/machinery/jukebox/disco/proc/dance_setup() var/turf/cen = get_turf(src) FOR_DVIEW(var/turf/t, 3, get_turf(src),INVISIBILITY_LIGHTING) if(t.x == cen.x && t.y > cen.y) @@ -245,14 +214,14 @@ continue FOR_DVIEW_END -/obj/machinery/disco/proc/hierofunk() +/obj/machinery/jukebox/disco/proc/hierofunk() for(var/i in 1 to 10) spawn_atom_to_turf(/obj/effect/temp_visual/hierophant/telegraph/edge, src, 1, FALSE) sleep(5) #define DISCO_INFENO_RANGE (rand(85, 115)*0.01) -/obj/machinery/disco/proc/lights_spin() +/obj/machinery/jukebox/disco/proc/lights_spin() for(var/i in 1 to 25) if(QDELETED(src) || !active) return @@ -330,7 +299,7 @@ #undef DISCO_INFENO_RANGE -/obj/machinery/disco/proc/dance(var/mob/living/M) //Show your moves +/obj/machinery/jukebox/disco/proc/dance(var/mob/living/M) //Show your moves set waitfor = FALSE switch(rand(0,9)) if(0 to 1) @@ -342,7 +311,7 @@ if(7 to 9) dance5(M) -/obj/machinery/disco/proc/dance2(var/mob/living/M) +/obj/machinery/jukebox/disco/proc/dance2(var/mob/living/M) for(var/i = 1, i < 10, i++) for(var/d in list(NORTH,SOUTH,EAST,WEST,EAST,SOUTH,NORTH,SOUTH,EAST,WEST,EAST,SOUTH)) M.setDir(d) @@ -351,7 +320,7 @@ sleep(1) sleep(20) -/obj/machinery/disco/proc/dance3(var/mob/living/M) +/obj/machinery/jukebox/disco/proc/dance3(var/mob/living/M) var/matrix/initial_matrix = matrix(M.transform) for (var/i in 1 to 75) if (!M) @@ -399,7 +368,7 @@ M.lying_fix() -/obj/machinery/disco/proc/dance4(var/mob/living/M) +/obj/machinery/jukebox/disco/proc/dance4(var/mob/living/M) var/speed = rand(1,3) set waitfor = 0 var/time = 30 @@ -411,7 +380,7 @@ NS.lay_down(TRUE) //specifically excludes silicons to prevent pAI chat spam time-- -/obj/machinery/disco/proc/dance5(var/mob/living/M) +/obj/machinery/jukebox/disco/proc/dance5(var/mob/living/M) animate(M, transform = matrix(180, MATRIX_ROTATE), time = 1, loop = 0) var/matrix/initial_matrix = matrix(M.transform) for (var/i in 1 to 60) @@ -446,30 +415,23 @@ sleep(1) M.lying_fix() - - /mob/living/proc/lying_fix() animate(src, transform = null, time = 1, loop = 0) lying_prev = 0 -/obj/machinery/disco/proc/dance_over() - for(var/obj/item/device/flashlight/spotlight/SL in spotlights) - qdel(SL) - spotlights.Cut() - for(var/obj/effect/overlay/sparkles/SP in sparkles) - qdel(SP) - sparkles.Cut() +/obj/machinery/jukebox/proc/dance_over() for(var/mob/living/L in rangers) if(!L || !L.client) continue L.stop_sound_channel(CHANNEL_JUKEBOX) rangers = list() +/obj/machinery/jukebox/disco/dance_over() + ..() + QDEL_LIST(spotlights) + QDEL_LIST(sparkles) - -/obj/machinery/disco/process() - if(charge<35) - charge += 1 +/obj/machinery/jukebox/process() if(world.time < stop && active) var/sound/song_played = sound(selection.song_path) @@ -479,8 +441,6 @@ if(!(M in rangers)) rangers[M] = TRUE M.playsound_local(get_turf(M), null, 100, channel = CHANNEL_JUKEBOX, S = song_played) - if(prob(5+(allowed(M)*4)) && M.canmove) - dance(M) for(var/mob/L in rangers) if(get_dist(src,L) > 10) rangers -= L @@ -492,5 +452,13 @@ STOP_PROCESSING(SSobj, src) dance_over() playsound(src,'sound/machines/terminal_off.ogg',50,1) - icon_state = "disco0" + update_icon() stop = world.time + 100 + + +/obj/machinery/jukebox/disco/process() + . = ..() + if(active) + for(var/mob/M in rangers) + if(prob(5+(allowed(M)*4)) && M.canmove) + dance(M) diff --git a/code/modules/mob/living/simple_animal/hostile/netherworld.dm b/code/modules/mob/living/simple_animal/hostile/netherworld.dm index 79503d3235ab0..b246f088eeb95 100644 --- a/code/modules/mob/living/simple_animal/hostile/netherworld.dm +++ b/code/modules/mob/living/simple_animal/hostile/netherworld.dm @@ -33,7 +33,7 @@ /mob/living/simple_animal/hostile/netherworld/migo/Initialize() . = ..() - migo_sounds = list('sound/items/bubblewrap.ogg', 'sound/items/change_jaws.ogg', 'sound/items/crowbar.ogg', 'sound/items/drink.ogg', 'sound/items/deconstruct.ogg', 'sound/items/carhorn.ogg', 'sound/items/change_drill.ogg', 'sound/items/dodgeball.ogg', 'sound/items/eatfood.ogg', 'sound/items/megaphone.ogg', 'sound/items/screwdriver.ogg', 'sound/items/weeoo1.ogg', 'sound/items/wirecutter.ogg', 'sound/items/welder.ogg', 'sound/items/zip.ogg', 'sound/items/rped.ogg', 'sound/items/ratchet.ogg', 'sound/items/polaroid1.ogg', 'sound/items/pshoom.ogg', 'sound/items/airhorn.ogg', 'sound/items/geiger/high1.ogg', 'sound/items/geiger/high2.ogg', 'sound/voice/bcreep.ogg', 'sound/voice/biamthelaw.ogg', 'sound/voice/ed209_20sec.ogg', 'sound/voice/hiss3.ogg', 'sound/voice/hiss6.ogg', 'sound/voice/mpatchedup.ogg', 'sound/voice/mfeelbetter.ogg', 'sound/voice/human/manlaugh1.ogg', 'sound/voice/human/womanlaugh.ogg', 'sound/weapons/sear.ogg', 'sound/ambience/antag/clockcultalr.ogg', 'sound/ambience/antag/ling_aler.ogg', 'sound/ambience/antag/tatoralert.ogg', 'sound/ambience/antag/monkey.ogg', 'sound/mecha/nominal.ogg', 'sound/mecha/weapdestr.ogg', 'sound/mecha/critdestr.ogg', 'sound/mecha/imag_enh.ogg', 'sound/effects/adminhelp.ogg', 'sound/effects/alert.ogg', 'sound/effects/attackblob.ogg', 'sound/effects/bamf.ogg', 'sound/effects/blobattack.ogg', 'sound/effects/break_stone.ogg', 'sound/effects/bubbles.ogg', 'sound/effects/bubbles2.ogg', 'sound/effects/clang.ogg', 'sound/effects/clockcult_gateway_disrupted.ogg', 'sound/effects/clownstep2.ogg', 'sound/effects/curse1.ogg', 'sound/effects/dimensional_rend.ogg', 'sound/effects/doorcreaky.ogg', 'sound/effects/empulse.ogg', 'sound/effects/explosion_distant.ogg', 'sound/effects/explosionfar.ogg', 'sound/effects/explosion1.ogg', 'sound/effects/grillehit.ogg', 'sound/effects/genetics.ogg', 'sound/effects/heart_beat.ogg', 'sound/effects/hyperspace_begin.ogg', 'sound/effects/hyperspace_end.ogg', 'sound/effects/his_grace_awaken.ogg', 'sound/effects/pai_boot.ogg', 'sound/effects/phasein.ogg', 'sound/effects/picaxe1.ogg', 'sound/effects/ratvar_reveal.ogg', 'sound/effects/sparks1.ogg', 'sound/effects/smoke.ogg', 'sound/effects/splat.ogg', 'sound/effects/snap.ogg', 'sound/effects/tendril_destroyed.ogg', 'sound/effects/supermatter.ogg', 'sound/misc/desceration-01.ogg', 'sound/misc/desceration-02.ogg', 'sound/misc/desceration-03.ogg', 'sound/misc/bloblarm.ogg', 'sound/misc/airraid.ogg', 'sound/misc/bang.ogg', 'sound/misc/disco.ogg', 'sound/misc/highlander.ogg', 'sound/misc/interference.ogg', 'sound/misc/notice1.ogg', 'sound/misc/notice2.ogg', 'sound/misc/sadtrombone.ogg', 'sound/misc/slip.ogg', 'sound/misc/splort.ogg', 'sound/weapons/armbomb.ogg', 'sound/weapons/beam_sniper.ogg', 'sound/weapons/chainsawhit.ogg', 'sound/weapons/emitter.ogg', 'sound/weapons/emitter2.ogg', 'sound/weapons/blade1.ogg', 'sound/weapons/bladeslice.ogg', 'sound/weapons/blastcannon.ogg', 'sound/weapons/blaster.ogg', 'sound/weapons/bulletflyby3.ogg', 'sound/weapons/circsawhit.ogg', 'sound/weapons/cqchit2.ogg', 'sound/weapons/drill.ogg', 'sound/weapons/genhit1.ogg', 'sound/weapons/gunshot_silenced.ogg', 'sound/weapons/gunshot2.ogg', 'sound/weapons/handcuffs.ogg', 'sound/weapons/homerun.ogg', 'sound/weapons/kenetic_accel.ogg', 'sound/machines/clockcult/steam_whoosh.ogg', 'sound/machines/fryer/deep_fryer_emerge.ogg', 'sound/machines/airlock.ogg', 'sound/machines/airlock_alien_prying.ogg', 'sound/machines/airlockclose.ogg', 'sound/machines/airlockforced.ogg', 'sound/machines/airlockopen.ogg', 'sound/machines/alarm.ogg', 'sound/machines/blender.ogg', 'sound/machines/boltsdown.ogg', 'sound/machines/boltsup.ogg', 'sound/machines/buzz-sigh.ogg', 'sound/machines/buzz-two.ogg', 'sound/machines/chime.ogg', 'sound/machines/cryo_warning.ogg', 'sound/machines/defib_charge.ogg', 'sound/machines/defib_failed.ogg', 'sound/machines/defib_ready.ogg', 'sound/machines/defib_zap.ogg', 'sound/machines/deniedbeep.ogg', 'sound/machines/ding.ogg', 'sound/machines/disposalflush.ogg', 'sound/machines/door_close.ogg', 'sound/machines/door_open.ogg', 'sound/machines/engine_alert1.ogg', 'sound/machines/engine_alert2.ogg', 'sound/machines/hiss.ogg', 'sound/machines/honkbot_evil_laugh.ogg', 'sound/machines/juicer.ogg', 'sound/machines/ping.ogg', 'sound/machines/signal.ogg', 'sound/machines/synth_no.ogg', 'sound/machines/synth_yes.ogg', 'sound/machines/terminal_alert.ogg', 'sound/machines/triple_beep.ogg', 'sound/machines/twobeep.ogg', 'sound/machines/ventcrawl.ogg', 'sound/machines/warning-buzzer.ogg', 'sound/ai/outbreak5.ogg', 'sound/ai/outbreak7.ogg', 'sound/ai/poweroff.ogg', 'sound/ai/radiation.ogg', 'sound/ai/shuttlecalled.ogg', 'sound/ai/shuttledock.ogg', 'sound/ai/shuttlerecalled.ogg', 'sound/ai/aimalf.ogg') //hahahaha fuck you code divers + migo_sounds = list('sound/items/bubblewrap.ogg', 'sound/items/change_jaws.ogg', 'sound/items/crowbar.ogg', 'sound/items/drink.ogg', 'sound/items/deconstruct.ogg', 'sound/items/carhorn.ogg', 'sound/items/change_drill.ogg', 'sound/items/dodgeball.ogg', 'sound/items/eatfood.ogg', 'sound/items/megaphone.ogg', 'sound/items/screwdriver.ogg', 'sound/items/weeoo1.ogg', 'sound/items/wirecutter.ogg', 'sound/items/welder.ogg', 'sound/items/zip.ogg', 'sound/items/rped.ogg', 'sound/items/ratchet.ogg', 'sound/items/polaroid1.ogg', 'sound/items/pshoom.ogg', 'sound/items/airhorn.ogg', 'sound/items/geiger/high1.ogg', 'sound/items/geiger/high2.ogg', 'sound/voice/bcreep.ogg', 'sound/voice/biamthelaw.ogg', 'sound/voice/ed209_20sec.ogg', 'sound/voice/hiss3.ogg', 'sound/voice/hiss6.ogg', 'sound/voice/mpatchedup.ogg', 'sound/voice/mfeelbetter.ogg', 'sound/voice/human/manlaugh1.ogg', 'sound/voice/human/womanlaugh.ogg', 'sound/weapons/sear.ogg', 'sound/ambience/antag/clockcultalr.ogg', 'sound/ambience/antag/ling_aler.ogg', 'sound/ambience/antag/tatoralert.ogg', 'sound/ambience/antag/monkey.ogg', 'sound/mecha/nominal.ogg', 'sound/mecha/weapdestr.ogg', 'sound/mecha/critdestr.ogg', 'sound/mecha/imag_enh.ogg', 'sound/effects/adminhelp.ogg', 'sound/effects/alert.ogg', 'sound/effects/attackblob.ogg', 'sound/effects/bamf.ogg', 'sound/effects/blobattack.ogg', 'sound/effects/break_stone.ogg', 'sound/effects/bubbles.ogg', 'sound/effects/bubbles2.ogg', 'sound/effects/clang.ogg', 'sound/effects/clockcult_gateway_disrupted.ogg', 'sound/effects/clownstep2.ogg', 'sound/effects/curse1.ogg', 'sound/effects/dimensional_rend.ogg', 'sound/effects/doorcreaky.ogg', 'sound/effects/empulse.ogg', 'sound/effects/explosion_distant.ogg', 'sound/effects/explosionfar.ogg', 'sound/effects/explosion1.ogg', 'sound/effects/grillehit.ogg', 'sound/effects/genetics.ogg', 'sound/effects/heart_beat.ogg', 'sound/effects/hyperspace_begin.ogg', 'sound/effects/hyperspace_end.ogg', 'sound/effects/his_grace_awaken.ogg', 'sound/effects/pai_boot.ogg', 'sound/effects/phasein.ogg', 'sound/effects/picaxe1.ogg', 'sound/effects/ratvar_reveal.ogg', 'sound/effects/sparks1.ogg', 'sound/effects/smoke.ogg', 'sound/effects/splat.ogg', 'sound/effects/snap.ogg', 'sound/effects/tendril_destroyed.ogg', 'sound/effects/supermatter.ogg', 'sound/misc/desceration-01.ogg', 'sound/misc/desceration-02.ogg', 'sound/misc/desceration-03.ogg', 'sound/misc/bloblarm.ogg', 'sound/misc/airraid.ogg', 'sound/misc/bang.ogg','sound/misc/highlander.ogg', 'sound/misc/interference.ogg', 'sound/misc/notice1.ogg', 'sound/misc/notice2.ogg', 'sound/misc/sadtrombone.ogg', 'sound/misc/slip.ogg', 'sound/misc/splort.ogg', 'sound/weapons/armbomb.ogg', 'sound/weapons/beam_sniper.ogg', 'sound/weapons/chainsawhit.ogg', 'sound/weapons/emitter.ogg', 'sound/weapons/emitter2.ogg', 'sound/weapons/blade1.ogg', 'sound/weapons/bladeslice.ogg', 'sound/weapons/blastcannon.ogg', 'sound/weapons/blaster.ogg', 'sound/weapons/bulletflyby3.ogg', 'sound/weapons/circsawhit.ogg', 'sound/weapons/cqchit2.ogg', 'sound/weapons/drill.ogg', 'sound/weapons/genhit1.ogg', 'sound/weapons/gunshot_silenced.ogg', 'sound/weapons/gunshot2.ogg', 'sound/weapons/handcuffs.ogg', 'sound/weapons/homerun.ogg', 'sound/weapons/kenetic_accel.ogg', 'sound/machines/clockcult/steam_whoosh.ogg', 'sound/machines/fryer/deep_fryer_emerge.ogg', 'sound/machines/airlock.ogg', 'sound/machines/airlock_alien_prying.ogg', 'sound/machines/airlockclose.ogg', 'sound/machines/airlockforced.ogg', 'sound/machines/airlockopen.ogg', 'sound/machines/alarm.ogg', 'sound/machines/blender.ogg', 'sound/machines/boltsdown.ogg', 'sound/machines/boltsup.ogg', 'sound/machines/buzz-sigh.ogg', 'sound/machines/buzz-two.ogg', 'sound/machines/chime.ogg', 'sound/machines/cryo_warning.ogg', 'sound/machines/defib_charge.ogg', 'sound/machines/defib_failed.ogg', 'sound/machines/defib_ready.ogg', 'sound/machines/defib_zap.ogg', 'sound/machines/deniedbeep.ogg', 'sound/machines/ding.ogg', 'sound/machines/disposalflush.ogg', 'sound/machines/door_close.ogg', 'sound/machines/door_open.ogg', 'sound/machines/engine_alert1.ogg', 'sound/machines/engine_alert2.ogg', 'sound/machines/hiss.ogg', 'sound/machines/honkbot_evil_laugh.ogg', 'sound/machines/juicer.ogg', 'sound/machines/ping.ogg', 'sound/machines/signal.ogg', 'sound/machines/synth_no.ogg', 'sound/machines/synth_yes.ogg', 'sound/machines/terminal_alert.ogg', 'sound/machines/triple_beep.ogg', 'sound/machines/twobeep.ogg', 'sound/machines/ventcrawl.ogg', 'sound/machines/warning-buzzer.ogg', 'sound/ai/outbreak5.ogg', 'sound/ai/outbreak7.ogg', 'sound/ai/poweroff.ogg', 'sound/ai/radiation.ogg', 'sound/ai/shuttlecalled.ogg', 'sound/ai/shuttledock.ogg', 'sound/ai/shuttlerecalled.ogg', 'sound/ai/aimalf.ogg') //hahahaha fuck you code divers /mob/living/simple_animal/hostile/netherworld/migo/say(message) ..() diff --git a/config/jukebox_music/LICENSE.txt b/config/jukebox_music/LICENSE.txt new file mode 100644 index 0000000000000..8a9d5dd3739bc --- /dev/null +++ b/config/jukebox_music/LICENSE.txt @@ -0,0 +1,34 @@ +---LICENSE NOTICE--- + +The server operator(s) is responsible for the copyright status of all sounds placed within the /config/jukebox_music folder unless otherwise noted. + +If a sound requires attribution and/or a specific license it is up to the operator(s) to make this information publicly available on either +a website associated with their server or on the server itself. + +If operators(s) allow these configuration files to be public this file can serve that purpose by keeping it properly updated. + +If in the future new sounds are published to these folders (i.e. in an online code repository) they must explicitly state their +license if said license is not the same as the default licensing found in README.md in the root directory of the project. + +Do not remove this notice. + +---END NOTICE--- + + + + +---EXAMPLES (NOT PART OF ANY LICENSE)--- + +These are examples of properly attrubuted and licensed sounds. +They are not an actual part of any license under any circumstance. + +title5.ogg was created by Mya Quinn on Feburary 28, 2557. It is licensed under a Combative Clowning 3.0 HO-NK license (http://example.com/license/url/). + +Unless otherwise noted all sounds were created by Cuban Pete on July 26, 2555. They are licensed under the RUMBABEAT Public License.(http://example.com/license/url/). + +---END EXAMPLES (NOT PART OF ANY LICENSE)--- + + + + +---ADD LICENSING INFORMATION BELOW--- diff --git a/config/jukebox_music/README.txt b/config/jukebox_music/README.txt new file mode 100644 index 0000000000000..ea0e5443d0674 --- /dev/null +++ b/config/jukebox_music/README.txt @@ -0,0 +1,15 @@ +The enclosed sounds folder holds the sound files used as player selectable songs for an ingame jukebox. OGG and WAV are supported. + +Using unnecessarily huge sounds can cause client side lag and should be avoided. + +You my add as many sounds as you would like. + +--- + +Naming Conventions: + +Every sound you add must have a unique name. Avoid using the plus sign "+" and the period "." in names, as these are used internally to classify sounds. + +Sound names must be in the format of [song name]+[length in deciseconds]+[beat in deciseconds].ogg + +A three minute song title "SS13" that lasted 3 minutes would have a file name SS13+1800+5.ogg \ No newline at end of file diff --git a/icons/obj/lighting.dmi b/icons/obj/lighting.dmi index db44a27f4a62c..49006ff1c7d6b 100644 Binary files a/icons/obj/lighting.dmi and b/icons/obj/lighting.dmi differ diff --git a/icons/obj/stationobjs.dmi b/icons/obj/stationobjs.dmi index b8305e295f50a..8761662a63b70 100644 Binary files a/icons/obj/stationobjs.dmi and b/icons/obj/stationobjs.dmi differ diff --git a/sound/misc/boogie2.ogg b/sound/misc/boogie2.ogg deleted file mode 100644 index e9cdb973a2191..0000000000000 Binary files a/sound/misc/boogie2.ogg and /dev/null differ diff --git a/sound/misc/disco.ogg b/sound/misc/disco.ogg deleted file mode 100644 index 5e15c8ccc0128..0000000000000 Binary files a/sound/misc/disco.ogg and /dev/null differ diff --git a/sound/misc/paradox.ogg b/sound/misc/paradox.ogg deleted file mode 100644 index c28403578d5b2..0000000000000 Binary files a/sound/misc/paradox.ogg and /dev/null differ diff --git a/sound/misc/superior.ogg b/sound/misc/superior.ogg deleted file mode 100644 index e9cdb973a2191..0000000000000 Binary files a/sound/misc/superior.ogg and /dev/null differ diff --git a/sound/misc/ultimate.ogg b/sound/misc/ultimate.ogg deleted file mode 100644 index 0674a553135ea..0000000000000 Binary files a/sound/misc/ultimate.ogg and /dev/null differ