mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Merge pull request #9942 from RavingManiac/dev
Sound environment revamp
This commit is contained in:
@@ -52,7 +52,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
|
||||
var/air_doors_activated = 0
|
||||
var/list/ambience = list('sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg')
|
||||
var/list/forced_ambience = null
|
||||
var/sound_env = 2 //reverb preset for sounds played in this area, see sound datum reference for more
|
||||
var/sound_env = STANDARD_STATION
|
||||
/*Adding a wizard area teleport list because motherfucking lag -- Urist*/
|
||||
/*I am far too lazy to make it a proper list of areas so I'll just make it run the usual telepot routine at the start of the game*/
|
||||
var/list/teleportlocs = list()
|
||||
@@ -142,6 +142,7 @@ area/space/atmosalert()
|
||||
|
||||
/area/shuttle
|
||||
requires_power = 0
|
||||
sound_env = SMALL_ENCLOSED
|
||||
|
||||
/area/shuttle/arrival
|
||||
name = "\improper Arrival Shuttle"
|
||||
@@ -397,15 +398,18 @@ area/space/atmosalert()
|
||||
name = "\improper Moon"
|
||||
icon_state = "asteroid"
|
||||
requires_power = 0
|
||||
sound_env = ASTEROID
|
||||
|
||||
/area/asteroid/cave // -- TLE
|
||||
name = "\improper Moon - Underground"
|
||||
icon_state = "cave"
|
||||
requires_power = 0
|
||||
sound_env = ASTEROID
|
||||
|
||||
/area/asteroid/artifactroom
|
||||
name = "\improper Moon - Artifact"
|
||||
icon_state = "cave"
|
||||
sound_env = SMALL_ENCLOSED
|
||||
|
||||
|
||||
|
||||
@@ -431,6 +435,7 @@ area/space/atmosalert()
|
||||
icon_state = "thunder"
|
||||
requires_power = 0
|
||||
lighting_use_dynamic = 0
|
||||
sound_env = ARENA
|
||||
|
||||
/area/tdome/tdome1
|
||||
name = "\improper Thunderdome (Team 1)"
|
||||
@@ -635,6 +640,7 @@ area/space/atmosalert()
|
||||
|
||||
/area/maintenance
|
||||
flags = RAD_SHIELDED
|
||||
sound_env = TUNNEL_ENCLOSED
|
||||
|
||||
/area/maintenance/aft
|
||||
name = "Aft Maintenance"
|
||||
@@ -769,6 +775,7 @@ area/space/atmosalert()
|
||||
/area/maintenance/substation
|
||||
name = "Substation"
|
||||
icon_state = "substation"
|
||||
sound_env = SMALL_ENCLOSED
|
||||
|
||||
/area/maintenance/substation/engineering // Probably will be connected to engineering SMES room, as wires cannot be crossed properly without them sharing powernets.
|
||||
name = "Engineering Substation"
|
||||
@@ -801,7 +808,7 @@ area/space/atmosalert()
|
||||
//Hallway
|
||||
|
||||
/area/hallway/primary/
|
||||
sound_env = 12 //hallway
|
||||
sound_env = LARGE_ENCLOSED
|
||||
|
||||
/area/hallway/primary/fore
|
||||
name = "\improper Fore Primary Hallway"
|
||||
@@ -866,10 +873,12 @@ area/space/atmosalert()
|
||||
name = "\improper Heads of Staff Meeting Room"
|
||||
icon_state = "bridge"
|
||||
music = null
|
||||
sound_env = MEDIUM_SOFTFLOOR
|
||||
|
||||
/area/crew_quarters/captain
|
||||
name = "\improper Command - Captain's Office"
|
||||
icon_state = "captain"
|
||||
sound_env = MEDIUM_SOFTFLOOR
|
||||
|
||||
/area/crew_quarters/heads/hop
|
||||
name = "\improper Command - HoP's Office"
|
||||
@@ -917,6 +926,7 @@ area/space/atmosalert()
|
||||
/area/crew_quarters/toilet
|
||||
name = "\improper Dormitory Toilets"
|
||||
icon_state = "toilet"
|
||||
sound_env = SMALL_ENCLOSED
|
||||
|
||||
/area/crew_quarters/sleep
|
||||
name = "\improper Dormitories"
|
||||
@@ -925,10 +935,12 @@ area/space/atmosalert()
|
||||
/area/crew_quarters/sleep/engi_wash
|
||||
name = "\improper Engineering Washroom"
|
||||
icon_state = "toilet"
|
||||
sound_env = SMALL_ENCLOSED
|
||||
|
||||
/area/crew_quarters/sleep/bedrooms
|
||||
name = "\improper Dormitory Bedroom One"
|
||||
icon_state = "Sleep"
|
||||
sound_env = SMALL_SOFTFLOOR
|
||||
|
||||
/area/crew_quarters/sleep/cryo
|
||||
name = "\improper Cryogenic Storage"
|
||||
@@ -941,6 +953,7 @@ area/space/atmosalert()
|
||||
/area/crew_quarters/sleep_male/toilet_male
|
||||
name = "\improper Male Toilets"
|
||||
icon_state = "toilet"
|
||||
sound_env = SMALL_ENCLOSED
|
||||
|
||||
/area/crew_quarters/sleep_female
|
||||
name = "\improper Female Dorm"
|
||||
@@ -949,6 +962,7 @@ area/space/atmosalert()
|
||||
/area/crew_quarters/sleep_female/toilet_female
|
||||
name = "\improper Female Toilets"
|
||||
icon_state = "toilet"
|
||||
sound_env = SMALL_ENCLOSED
|
||||
|
||||
/area/crew_quarters/locker
|
||||
name = "\improper Locker Room"
|
||||
@@ -957,6 +971,7 @@ area/space/atmosalert()
|
||||
/area/crew_quarters/locker/locker_toilet
|
||||
name = "\improper Locker Toilets"
|
||||
icon_state = "toilet"
|
||||
sound_env = SMALL_ENCLOSED
|
||||
|
||||
/area/crew_quarters/fitness
|
||||
name = "\improper Fitness Room"
|
||||
@@ -973,19 +988,23 @@ area/space/atmosalert()
|
||||
/area/crew_quarters/bar
|
||||
name = "\improper Bar"
|
||||
icon_state = "bar"
|
||||
sound_env = LARGE_SOFTFLOOR
|
||||
|
||||
/area/crew_quarters/theatre
|
||||
name = "\improper Theatre"
|
||||
icon_state = "Theatre"
|
||||
sound_env = LARGE_SOFTFLOOR
|
||||
|
||||
/area/library
|
||||
name = "\improper Library"
|
||||
icon_state = "library"
|
||||
sound_env = LARGE_SOFTFLOOR
|
||||
|
||||
/area/chapel/main
|
||||
name = "\improper Chapel"
|
||||
icon_state = "chapel"
|
||||
ambience = list('sound/ambience/ambicha1.ogg','sound/ambience/ambicha2.ogg','sound/ambience/ambicha3.ogg','sound/ambience/ambicha4.ogg','sound/music/traitor.ogg')
|
||||
sound_env = LARGE_ENCLOSED
|
||||
|
||||
/area/chapel/office
|
||||
name = "\improper Chapel Office"
|
||||
@@ -1002,6 +1021,7 @@ area/space/atmosalert()
|
||||
name = "\improper Holodeck"
|
||||
icon_state = "Holodeck"
|
||||
lighting_use_dynamic = 0
|
||||
sound_env = LARGE_ENCLOSED
|
||||
|
||||
/area/holodeck/alphadeck
|
||||
name = "\improper Holodeck Alpha"
|
||||
@@ -1011,21 +1031,27 @@ area/space/atmosalert()
|
||||
|
||||
/area/holodeck/source_emptycourt
|
||||
name = "\improper Holodeck - Empty Court"
|
||||
sound_env = ARENA
|
||||
|
||||
/area/holodeck/source_boxingcourt
|
||||
name = "\improper Holodeck - Boxing Court"
|
||||
sound_env = ARENA
|
||||
|
||||
/area/holodeck/source_basketball
|
||||
name = "\improper Holodeck - Basketball Court"
|
||||
sound_env = ARENA
|
||||
|
||||
/area/holodeck/source_thunderdomecourt
|
||||
name = "\improper Holodeck - Thunderdome Court"
|
||||
sound_env = ARENA
|
||||
|
||||
/area/holodeck/source_courtroom
|
||||
name = "\improper Holodeck - Courtroom"
|
||||
sound_env = AUDITORIUM
|
||||
|
||||
/area/holodeck/source_beach
|
||||
name = "\improper Holodeck - Beach"
|
||||
sound_env = PLAIN
|
||||
|
||||
/area/holodeck/source_burntest
|
||||
name = "\improper Holodeck - Atmospheric Burn Test"
|
||||
@@ -1035,22 +1061,28 @@ area/space/atmosalert()
|
||||
|
||||
/area/holodeck/source_meetinghall
|
||||
name = "\improper Holodeck - Meeting Hall"
|
||||
sound_env = AUDITORIUM
|
||||
|
||||
/area/holodeck/source_theatre
|
||||
name = "\improper Holodeck - Theatre"
|
||||
sound_env = CONCERT_HALL
|
||||
|
||||
/area/holodeck/source_picnicarea
|
||||
name = "\improper Holodeck - Picnic Area"
|
||||
sound_env = PLAIN
|
||||
|
||||
/area/holodeck/source_snowfield
|
||||
name = "\improper Holodeck - Snow Field"
|
||||
sound_env = FOREST
|
||||
|
||||
/area/holodeck/source_desert
|
||||
name = "\improper Holodeck - Desert"
|
||||
sound_env = PLAIN
|
||||
|
||||
/area/holodeck/source_space
|
||||
name = "\improper Holodeck - Space"
|
||||
has_gravity = 0
|
||||
sound_env = SPACE
|
||||
|
||||
//Engineering
|
||||
|
||||
@@ -1062,26 +1094,32 @@ area/space/atmosalert()
|
||||
/area/engineering/atmos
|
||||
name = "\improper Atmospherics"
|
||||
icon_state = "atmos"
|
||||
sound_env = LARGE_ENCLOSED
|
||||
|
||||
/area/engineering/atmos/monitoring
|
||||
name = "\improper Atmospherics Monitoring Room"
|
||||
icon_state = "atmos_monitoring"
|
||||
sound_env = STANDARD_STATION
|
||||
|
||||
/area/engineering/atmos/storage
|
||||
name = "\improper Atmospherics Storage"
|
||||
icon_state = "atmos_storage"
|
||||
sound_env = SMALL_ENCLOSED
|
||||
|
||||
/area/engineering/drone_fabrication
|
||||
name = "\improper Engineering Drone Fabrication"
|
||||
icon_state = "drone_fab"
|
||||
sound_env = SMALL_ENCLOSED
|
||||
|
||||
/area/engineering/engine_smes
|
||||
name = "\improper Engineering SMES"
|
||||
icon_state = "engine_smes"
|
||||
sound_env = SMALL_ENCLOSED
|
||||
|
||||
/area/engineering/engine_room
|
||||
name = "\improper Engine Room"
|
||||
icon_state = "engine"
|
||||
sound_env = LARGE_ENCLOSED
|
||||
|
||||
/area/engineering/engine_airlock
|
||||
name = "\improper Engine Room Airlock"
|
||||
@@ -1110,6 +1148,7 @@ area/space/atmosalert()
|
||||
/area/engineering/break_room
|
||||
name = "\improper Engineering Break Room"
|
||||
icon_state = "engineering_break"
|
||||
sound_env = MEDIUM_SOFTFLOOR
|
||||
|
||||
/area/engineering/engine_eva
|
||||
name = "\improper Engine EVA"
|
||||
@@ -1159,22 +1198,27 @@ area/space/atmosalert()
|
||||
/area/maintenance/auxsolarport
|
||||
name = "Solar Maintenance - Fore Port"
|
||||
icon_state = "SolarcontrolP"
|
||||
sound_env = SMALL_ENCLOSED
|
||||
|
||||
/area/maintenance/starboardsolar
|
||||
name = "Solar Maintenance - Aft Starboard"
|
||||
icon_state = "SolarcontrolS"
|
||||
sound_env = SMALL_ENCLOSED
|
||||
|
||||
/area/maintenance/portsolar
|
||||
name = "Solar Maintenance - Aft Port"
|
||||
icon_state = "SolarcontrolP"
|
||||
sound_env = SMALL_ENCLOSED
|
||||
|
||||
/area/maintenance/auxsolarstarboard
|
||||
name = "Solar Maintenance - Fore Starboard"
|
||||
icon_state = "SolarcontrolS"
|
||||
sound_env = SMALL_ENCLOSED
|
||||
|
||||
/area/maintenance/foresolar
|
||||
name = "Solar Maintenance - Fore"
|
||||
icon_state = "SolarcontrolA"
|
||||
sound_env = SMALL_ENCLOSED
|
||||
|
||||
/area/assembly/chargebay
|
||||
name = "\improper Mech Bay"
|
||||
@@ -1386,6 +1430,7 @@ area/space/atmosalert()
|
||||
/area/security/detectives_office
|
||||
name = "\improper Security - Forensic Office"
|
||||
icon_state = "detective"
|
||||
sound_env = MEDIUM_SOFTFLOOR
|
||||
|
||||
/area/security/range
|
||||
name = "\improper Security - Firing Range"
|
||||
@@ -1460,6 +1505,7 @@ area/space/atmosalert()
|
||||
/area/quartermaster/storage
|
||||
name = "\improper Cargo Bay"
|
||||
icon_state = "quartstorage"
|
||||
sound_env = LARGE_ENCLOSED
|
||||
|
||||
/area/quartermaster/qm
|
||||
name = "\improper Cargo - Quartermaster's Office"
|
||||
@@ -1810,10 +1856,12 @@ area/space/atmosalert()
|
||||
name = "AI Upload Access"
|
||||
icon_state = "ai_foyer"
|
||||
ambience = list('sound/ambience/ambimalf.ogg')
|
||||
sound_env = SMALL_ENCLOSED
|
||||
|
||||
/area/turret_protected/ai_server_room
|
||||
name = "Messaging Server Room"
|
||||
icon_state = "ai_server"
|
||||
sound_env = SMALL_ENCLOSED
|
||||
|
||||
/area/turret_protected/ai
|
||||
name = "\improper AI Chamber"
|
||||
@@ -1823,6 +1871,7 @@ area/space/atmosalert()
|
||||
/area/turret_protected/ai_cyborg_station
|
||||
name = "\improper Cyborg Station"
|
||||
icon_state = "ai_cyborg"
|
||||
sound_env = SMALL_ENCLOSED
|
||||
|
||||
/area/turret_protected/aisat
|
||||
name = "\improper AI Satellite"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/area/mine
|
||||
icon_state = "mining"
|
||||
music = 'sound/ambience/song_game.ogg'
|
||||
sound_env = 5 //stoneroom
|
||||
sound_env = ASTEROID
|
||||
|
||||
/area/mine/explored
|
||||
name = "Mine"
|
||||
|
||||
@@ -1,3 +1,41 @@
|
||||
//Sound environment defines. Reverb preset for sounds played in an area, see sound datum reference for more.
|
||||
#define GENERIC 0
|
||||
#define PADDED_CELL 1
|
||||
#define ROOM 2
|
||||
#define BATHROOM 3
|
||||
#define LIVINGROOM 4
|
||||
#define STONEROOM 5
|
||||
#define AUDITORIUM 6
|
||||
#define CONCERT_HALL 7
|
||||
#define CAVE 8
|
||||
#define ARENA 9
|
||||
#define HANGAR 10
|
||||
#define CARPETED_HALLWAY 11
|
||||
#define HALLWAY 12
|
||||
#define STONE_CORRIDOR 13
|
||||
#define ALLEY 14
|
||||
#define FOREST 15
|
||||
#define CITY 16
|
||||
#define MOUNTAINS 17
|
||||
#define QUARRY 18
|
||||
#define PLAIN 19
|
||||
#define PARKING_LOT 20
|
||||
#define SEWER_PIPE 21
|
||||
#define UNDERWATER 22
|
||||
#define DRUGGED 23
|
||||
#define DIZZY 24
|
||||
#define PSYCHOTIC 25
|
||||
|
||||
#define STANDARD_STATION STONEROOM
|
||||
#define LARGE_ENCLOSED HANGAR
|
||||
#define SMALL_ENCLOSED BATHROOM
|
||||
#define TUNNEL_ENCLOSED CAVE
|
||||
#define LARGE_SOFTFLOOR CARPETED_HALLWAY
|
||||
#define MEDIUM_SOFTFLOOR LIVINGROOM
|
||||
#define SMALL_SOFTFLOOR ROOM
|
||||
#define ASTEROID CAVE
|
||||
#define SPACE UNDERWATER
|
||||
|
||||
var/list/shatter_sound = list('sound/effects/Glassbr1.ogg','sound/effects/Glassbr2.ogg','sound/effects/Glassbr3.ogg')
|
||||
var/list/explosion_sound = list('sound/effects/Explosion1.ogg','sound/effects/Explosion2.ogg')
|
||||
var/list/spark_sound = list('sound/effects/sparks1.ogg','sound/effects/sparks2.ogg','sound/effects/sparks3.ogg','sound/effects/sparks4.ogg')
|
||||
@@ -50,6 +88,9 @@ var/const/FALLOFF_SOUNDS = 0.5
|
||||
else
|
||||
S.frequency = get_rand_frequency()
|
||||
|
||||
//sound volume falloff with pressure
|
||||
var/pressure_factor = 1.0
|
||||
|
||||
if(isturf(turf_source))
|
||||
// 3D sounds, the technology is here!
|
||||
var/turf/T = get_turf(src)
|
||||
@@ -59,9 +100,6 @@ var/const/FALLOFF_SOUNDS = 0.5
|
||||
|
||||
S.volume -= max(distance - world.view, 0) * 2 //multiplicative falloff to add on top of natural audio falloff.
|
||||
|
||||
//sound volume falloff with pressure
|
||||
var/pressure_factor = 1.0
|
||||
|
||||
var/datum/gas_mixture/hearer_env = T.return_air()
|
||||
var/datum/gas_mixture/source_env = turf_source.return_air()
|
||||
|
||||
@@ -90,8 +128,30 @@ var/const/FALLOFF_SOUNDS = 0.5
|
||||
S.falloff = (falloff ? falloff : FALLOFF_SOUNDS)
|
||||
|
||||
if(!is_global)
|
||||
var/area/A = get_area(src)
|
||||
S.environment = A.sound_env
|
||||
|
||||
if(istype(src,/mob/living/))
|
||||
var/mob/living/M = src
|
||||
if (M.hallucination)
|
||||
S.environment = PSYCHOTIC
|
||||
else if (M.druggy)
|
||||
S.environment = DRUGGED
|
||||
else if (M.drowsyness)
|
||||
S.environment = DIZZY
|
||||
else if (M.confused)
|
||||
S.environment = DIZZY
|
||||
else if (M.sleeping)
|
||||
S.environment = UNDERWATER
|
||||
else if (pressure_factor < 0.5)
|
||||
S.environment = SPACE
|
||||
else
|
||||
var/area/A = get_area(src)
|
||||
S.environment = A.sound_env
|
||||
|
||||
else if (pressure_factor < 0.5)
|
||||
S.environment = SPACE
|
||||
else
|
||||
var/area/A = get_area(src)
|
||||
S.environment = A.sound_env
|
||||
|
||||
src << S
|
||||
|
||||
|
||||
@@ -288,6 +288,8 @@
|
||||
if(M.mind)
|
||||
linkedholodeck.play_ambience(M)
|
||||
|
||||
linkedholodeck.sound_env = A.sound_env
|
||||
|
||||
spawn(30)
|
||||
for(var/obj/effect/landmark/L in linkedholodeck)
|
||||
if(L.name=="Atmospheric Test Start")
|
||||
|
||||
6
html/changelogs/RavingManiac-PR-9942.yml
Normal file
6
html/changelogs/RavingManiac-PR-9942.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
author: RavingManiac
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "Sound environments tweaked to feel more claustrophobic"
|
||||
- rscadd: "Being drugged, hallucinating, dizzy, or in low-pressure or vacuum will alter sounds you hear"
|
||||
- rscadd: "Sound environment in holodeck will change to reflect the loaded program"
|
||||
Reference in New Issue
Block a user