-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
## About The Pull Request This PR ports the Droning Subsystem from EFN. The Droning SS is used for playing looped music for the area's that players are in. Different music can be given to different areas and areas can have multiple different tracks tied to them that will change when a player enters said area. In my opinion this is a super cool Subsystem that we could benefit a lot from because it adds much more atmosphere to the ship when properly setup. (Video previews in proof of testing are a bit short due to github file size limitations) This Subsystem does not replace the already existing ship ambience, instead it plays at the same time adding to the soundscape of the server in a unique way. Currently on this PR I have given the different Areas featured on Belryth their own tracks and it is making for a nice and dark atmosphere aboard an old and forgotten ship. All the tracks on the PR currently are simple liminal tracks and ambient droning. This SS does not come with a pref that players can toggle and I am not intending to add one either. All tracks have been sourced from: https://freesound.org/ See below for all the tracks that have been used on this PR. <details> <summary>Tracks used:</summary> <!-- Leave the line after this one empty. Embeds like breaking if you don't --> https://freesound.org/people/ZHR%C3%98/sounds/692011/ https://freesound.org/people/ZHR%C3%98/sounds/531447/ https://freesound.org/people/ZHR%C3%98/sounds/692006/ https://freesound.org/people/ZHR%C3%98/sounds/692009/ https://freesound.org/people/ZHR%C3%98/sounds/702966/ https://freesound.org/people/Mellau/sounds/505667/ https://freesound.org/people/GregorQuendel/sounds/674408/ </details> Code and inspiration taken from Escape from Nevado: - https://gitgud.io/the-itobe-denomination/escape-from-nevado - https://gitgud.io/the-itobe-denomination/escape-from-nevado/-/blob/master/modular_septic/code/controllers/subsystem/droning.dm ## How Does This Help ***Gameplay***? Background music ontop of the normal sounds + the ambience sound system is so much better. The atmosphere is completely different on the ship now and it feels much darker and drearier. ## How Does This Help ***Roleplay***? Immersion, adding this to our soundscape makes me feel 10x more immersed when im standing in some shitty dark corner on Belryth. ## Proof of Testing <details> <summary>Screenshots/Videos</summary> <!-- Leave the line after this one empty. Embeds like breaking if you don't --> # SOUND ON 🔉 https://github.com/Artea-Station/Artea-Station-Server/assets/79924768/dc8e2aa8-9b01-482d-9604-889805cf91fa ## Normal ship droning https://github.com/Artea-Station/Artea-Station-Server/assets/79924768/5c5da108-8648-4068-a27a-8b014c193940 ## Medical Droning https://github.com/Artea-Station/Artea-Station-Server/assets/79924768/293a0280-5cb7-42a7-946a-b10474037a12 ## Engi Droning https://github.com/Artea-Station/Artea-Station-Server/assets/79924768/ef6a093f-e4e2-47d1-97d2-cbd358023ca9 </details> ## Changelog :cl: soundadd: Added multiple tracks of background music that change depending on the area of the ship you are in. /:cl: --------- Signed-off-by: Rimi Nosha <riminosha@gmail.com> Co-authored-by: Rimi Nosha <riminosha@gmail.com>
- Loading branch information
Showing
14 changed files
with
86 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
#define DRONING_DEFAULT list('sound/ambience/shipambience.ogg') | ||
|
||
#define DRONING_AMBIENCE list('sound/droning/ambience1.ogg') | ||
|
||
#define DRONING_NORMAL list('sound/droning/normal_droning1.ogg', \ | ||
'sound/droning/normal_droning2.ogg') | ||
|
||
#define DRONING_ENGINEERING list('sound/droning/engi_droning1.ogg') | ||
|
||
#define DRONING_MAINTENANCE list('sound/droning/maint_droning1.ogg') | ||
|
||
#define DRONING_SECURITY list('sound/droning/sec_droning1.ogg') | ||
|
||
#define DRONING_MEDICAL list('sound/droning/med_droning1.ogg') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
//Used to manage sending droning sounds to various clients | ||
SUBSYSTEM_DEF(droning) | ||
name = "Droning" | ||
flags = SS_NO_INIT|SS_NO_FIRE | ||
|
||
/datum/controller/subsystem/droning/proc/area_entered(area/area_entered, client/entering) | ||
if(!area_entered || !entering) | ||
return | ||
var/list/last_droning = list() | ||
last_droning |= entering.last_droning_sound | ||
var/list/new_droning = list() | ||
new_droning |= area_entered.droning_sound | ||
//Same ambience, don't bother | ||
if(last_droning ~= new_droning) | ||
return | ||
play_area_sound(area_entered, entering) | ||
|
||
/datum/controller/subsystem/droning/proc/play_area_sound(area/area_player, client/listener) | ||
if(!area_player || !listener) | ||
return | ||
if(LAZYLEN(area_player.droning_sound) && (listener.prefs.toggles & SOUND_SHIP_AMBIENCE)) | ||
//kill the previous droning sound | ||
kill_droning(listener) | ||
var/sound/droning = sound(pick(area_player.droning_sound), area_player.droning_repeat, area_player.droning_wait, area_player.droning_channel, area_player.droning_volume) | ||
SEND_SOUND(listener, droning) | ||
listener.droning_sound = droning | ||
listener.last_droning_sound = area_player.droning_sound | ||
|
||
/datum/controller/subsystem/droning/proc/kill_droning(client/victim) | ||
if(!victim?.droning_sound) | ||
return | ||
var/sound/sound_killer = sound() | ||
sound_killer.channel = victim.droning_sound.channel | ||
SEND_SOUND(victim, sound_killer) | ||
victim.droning_sound = null | ||
victim.last_droning_sound = null |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters