Skip to content

Commit

Permalink
Surgery sounds 2: Now with volume mixer! (#26884)
Browse files Browse the repository at this point in the history
* fuck it

* these too

* ooops

* i did it again

* moved some vars around

* updates generics

* rematch

* oh shit i think this needs a break

* agh

* wall

* updates comment

* compile after 2 years

* this might break things

* typo fix

* restores surgery sound to default

* Misplaced thingy

* support for some new ghetto surgery changes

* organ2

* Update code/modules/surgery/bones.dm

Co-authored-by: Luc <[email protected]>
Signed-off-by: Bm0n <[email protected]>

* Update code/modules/surgery/surgery.dm

Co-authored-by: Luc <[email protected]>
Signed-off-by: Bm0n <[email protected]>

* review change

---------

Signed-off-by: Bm0n <[email protected]>
Co-authored-by: Bmon <[email protected]>
Co-authored-by: Luc <[email protected]>
  • Loading branch information
3 people authored Oct 6, 2024
1 parent 413ddc8 commit 1b25a5b
Show file tree
Hide file tree
Showing 24 changed files with 155 additions and 2 deletions.
3 changes: 2 additions & 1 deletion code/__DEFINES/sound_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,14 @@
#define CHANNEL_RADIO_NOISE 1014 // radio headset noise
#define CHANNEL_BOSS_MUSIC 1013
#define CHANNEL_GENERAL 1012
#define CHANNEL_SURGERY_SOUNDS 1011

#define USER_VOLUME(M, C) M?.client?.prefs.get_channel_volume(C)

//THIS SHOULD ALWAYS BE THE LOWEST ONE!
//KEEP IT UPDATED

#define CHANNEL_HIGHEST_AVAILABLE 1011
#define CHANNEL_HIGHEST_AVAILABLE 1010

#define MAX_INSTRUMENT_CHANNELS (128 * 6)

Expand Down
2 changes: 2 additions & 0 deletions code/__HELPERS/unsorted.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1971,6 +1971,8 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
return "Radio Noise"
if(CHANNEL_BOSS_MUSIC)
return "Boss Music"
if(CHANNEL_SURGERY_SOUNDS)
return "Surgery Sounds"

/proc/slot_bitfield_to_slot(input_slot_flags) // Kill off this garbage ASAP; slot flags and clothing flags should be IDENTICAL. GOSH DARN IT. Doesn't work with ears or pockets, either.
switch(input_slot_flags)
Expand Down
4 changes: 4 additions & 0 deletions code/game/gamemodes/miniantags/abduction/abduction_surgery.dm
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@
/datum/surgery_step/internal/extract_organ
name = "remove heart"
accept_hand = 1
preop_sound = 'sound/surgery/organ1.ogg'
success_sound = 'sound/surgery/organ2.ogg'
time = 32
var/obj/item/organ/internal/IC = null

Expand Down Expand Up @@ -86,6 +88,8 @@
/datum/surgery_step/internal/gland_insert
name = "insert gland"
allowed_tools = list(/obj/item/organ/internal/heart/gland = 100)
preop_sound = 'sound/surgery/organ2.ogg'
success_sound = 'sound/surgery/organ1.ogg'
time = 32

/datum/surgery_step/internal/gland_insert/begin_step(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
Expand Down
3 changes: 2 additions & 1 deletion code/modules/client/preference/preferences.dm
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,8 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts
"1016" = 100, // CHANNEL_FIREALARM
"1015" = 100, // CHANNEL_ASH_STORM
"1014" = 100, // CHANNEL_RADIO_NOISE
"1013" = 100 // CHANNEL_BOSS_MUSIC
"1013" = 100, // CHANNEL_BOSS_MUSIC
"1011" = 100 // CHANNEL_SURGERY_SOUNDS
)
/// The volume mixer save timer handle. Used to debounce the DB call to save, to avoid spamming.
var/volume_mixer_saving = null
Expand Down
1 change: 1 addition & 0 deletions code/modules/surgery/bio_chip_removal.dm
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
/datum/surgery_step/extract_bio_chip
name = "extract bio-chip"
allowed_tools = list(TOOL_HEMOSTAT = 100, TOOL_CROWBAR = 65)
preop_sound = 'sound/surgery/hemostat1.ogg'
time = 6.4 SECONDS
repeatable = TRUE
var/obj/item/bio_chip/I = null
Expand Down
15 changes: 15 additions & 0 deletions code/modules/surgery/bones.dm
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,13 @@
TOOL_BONEGEL = 100,
TOOL_SCREWDRIVER = 90
)

preop_sound = list(
TOOL_BONEGEL = 'sound/surgery/organ1.ogg',
/obj/item/screwdriver/power = 'sound/items/drill_hit.ogg',
/obj/item/screwdriver = 'sound/items/screwdriver.ogg'
)

can_infect = TRUE
blood_level = SURGERY_BLOODSPREAD_HANDS

Expand Down Expand Up @@ -93,6 +100,7 @@
TOOL_WRENCH = 90
)

preop_sound = 'sound/surgery/hemostat1.ogg'
time = 3.2 SECONDS

/datum/surgery_step/set_bone/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
Expand Down Expand Up @@ -164,6 +172,13 @@
TOOL_BONEGEL = 100,
TOOL_SCREWDRIVER = 90
)

preop_sound = list(
TOOL_BONEGEL = 'sound/surgery/organ1.ogg',
/obj/item/screwdriver/power = 'sound/items/drill_hit.ogg',
/obj/item/screwdriver = 'sound/items/screwdriver.ogg'
)

can_infect = TRUE
blood_level = SURGERY_BLOODSPREAD_HANDS

Expand Down
9 changes: 9 additions & 0 deletions code/modules/surgery/cavity_implant.dm
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,12 @@
/obj/item/stack/rods = 60
)

preop_sound = list(
TOOL_DRILL = 'sound/items/drill_hit.ogg',
/obj/item/screwdriver/power = 'sound/items/drill_hit.ogg',
/obj/item/pen = 'sound/surgery/organ2.ogg',
/obj/item/stack/rods = 'sound/surgery/organ2.ogg'
)
time = 5.4 SECONDS

/datum/surgery_step/cavity/make_space/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
Expand Down Expand Up @@ -183,6 +189,9 @@
TOOL_WELDER = 30
)

preop_sound = 'sound/surgery/cautery1.ogg'
success_sound = 'sound/surgery/cautery2.ogg'
failure_sound = 'sound/items/welder.ogg'
time = 2.4 SECONDS

/datum/surgery_step/cavity/close_space/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
Expand Down
6 changes: 6 additions & 0 deletions code/modules/surgery/core_removal.dm
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@
/obj/item/kitchen/knife = 65,
/obj/item/shard = 45
)

preop_sound = 'sound/surgery/scalpel1.ogg'
success_sound = 'sound/surgery/scalpel2.ogg'
failure_sound = 'sound/surgery/organ2.ogg'
time = 1.6 SECONDS

/datum/surgery_step/slime/cut_flesh/begin_step(mob/user, mob/living/simple_animal/slime/target, target_zone, obj/item/tool)
Expand All @@ -38,6 +42,8 @@
/datum/surgery_step/slime/extract_core
name = "extract core"
allowed_tools = list(TOOL_HEMOSTAT = 100, TOOL_CROWBAR = 100)
preop_sound = 'sound/surgery/organ1.ogg'
success_sound = 'sound/surgery/organ2.ogg'
time = 1.6 SECONDS

/datum/surgery_step/slime/extract_core/begin_step(mob/user, mob/living/simple_animal/slime/target, target_zone, obj/item/tool)
Expand Down
19 changes: 19 additions & 0 deletions code/modules/surgery/encased.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,15 @@
TOOL_WIRECUTTER = 35 // Silly goose!
)

preop_sound = list(
TOOL_SAW = 'sound/surgery/saw.ogg',
/obj/item/hatchet = 'sound/surgery/scalpel1.ogg',
/obj/item/chainsaw = 'sound/weapons/chainsaw.ogg',
/obj/item/butcher_chainsaw = 'sound/weapons/chainsaw.ogg',
TOOL_WIRECUTTER = 'sound/surgery/scalpel1.ogg'
)

success_sound = 'sound/surgery/organ2.ogg'
time = 5.4 SECONDS

/datum/surgery_step/open_encased/saw/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
Expand Down Expand Up @@ -64,6 +73,8 @@
TOOL_CROWBAR = 90
)

preop_sound = 'sound/surgery/retractor1.ogg'
success_sound = 'sound/surgery/retractor2.ogg'
time = 2.4 SECONDS

/datum/surgery_step/open_encased/retract/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
Expand Down Expand Up @@ -113,6 +124,8 @@
TOOL_CROWBAR = 90
)

preop_sound = 'sound/surgery/retractor1.ogg'
success_sound = 'sound/surgery/retractor2.ogg'
time = 2.4 SECONDS

/datum/surgery_step/open_encased/close/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
Expand Down Expand Up @@ -158,6 +171,12 @@
TOOL_SCREWDRIVER = 90
)

preop_sound = list(
TOOL_BONEGEL = 'sound/surgery/organ1.ogg',
/obj/item/screwdriver/power = 'sound/items/drill_hit.ogg',
/obj/item/screwdriver = 'sound/items/screwdriver.ogg'
)

time = 2.4 SECONDS

/datum/surgery_step/open_encased/mend/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
Expand Down
26 changes: 26 additions & 0 deletions code/modules/surgery/generic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@
/obj/item/butcher_chainsaw = 1
)

preop_sound = 'sound/surgery/scalpel1.ogg'
success_sound = 'sound/surgery/scalpel2.ogg'
failure_sound = 'sound/surgery/organ2.ogg'
time = 1.6 SECONDS

/datum/surgery_step/generic/cut_open/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
Expand Down Expand Up @@ -67,6 +70,7 @@
/obj/item/assembly/mousetrap = 25
)

preop_sound = 'sound/surgery/hemostat1.ogg'
time = 2.4 SECONDS


Expand Down Expand Up @@ -111,6 +115,9 @@
/obj/item/kitchen/utensil/fork = 60
)

preop_sound = 'sound/surgery/retractor1.ogg'
success_sound = 'sound/surgery/retractor2.ogg'
failure_sound = 'sound/surgery/organ2.ogg'
time = 2.4 SECONDS

/datum/surgery_step/generic/retract_skin/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
Expand Down Expand Up @@ -168,6 +175,9 @@
/obj/item/flamethrower = 1 // You make do with what ya got...
)

preop_sound = 'sound/surgery/cautery1.ogg'
success_sound = 'sound/surgery/cautery2.ogg'
failure_sound = 'sound/items/welder.ogg'
time = 2.4 SECONDS

/datum/surgery_step/generic/cauterize/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
Expand Down Expand Up @@ -226,6 +236,15 @@
/obj/item/mecha_parts/mecha_equipment/drill = 60,
/obj/item/screwdriver = 20
)

preop_sound = list(
TOOL_DRILL = 'sound/items/drill_hit.ogg',
/obj/item/screwdriver/power = 'sound/items/drill_hit.ogg',
/obj/item/pickaxe/drill = 'sound/weapons/drill.ogg',
/obj/item/mecha_parts/mecha_equipment/drill = 'sound/weapons/drill.ogg',
/obj/item/screwdriver = 'sound/items/screwdriver.ogg'
)

time = 3 SECONDS

/datum/surgery_step/generic/drill/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
Expand Down Expand Up @@ -264,6 +283,13 @@
/obj/item/melee/energy = 75
)

preop_sound = list(
TOOL_SAW = 'sound/surgery/saw.ogg',
/obj/item/hatchet = 'sound/surgery/scalpel1.ogg',
/obj/item/melee/arm_blade = 'sound/surgery/scalpel1.ogg'
)

success_sound = 'sound/surgery/organ2.ogg'
time = 10 SECONDS

/datum/surgery_step/generic/amputate/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
Expand Down
27 changes: 27 additions & 0 deletions code/modules/surgery/organs_internal.dm
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,8 @@
/obj/item/stack/nanopaste = 100
)

preop_sound = 'sound/surgery/organ1.ogg'

/datum/surgery_step/internal/manipulate_organs/mend/proc/get_tool_name(obj/item/tool)
var/tool_name = "[tool]"
if(istype(tool, /obj/item/stack/medical/bruise_pack))
Expand Down Expand Up @@ -296,6 +298,8 @@
/obj/item/kitchen/utensil/fork = 70
)

preop_sound = 'sound/surgery/organ1.ogg'
success_sound = 'sound/surgery/organ2.ogg'
var/obj/item/organ/internal/extracting = null

/datum/surgery_step/internal/manipulate_organs/extract/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
Expand Down Expand Up @@ -390,6 +394,9 @@
/obj/item/food/organ = 0 // there for the flavor text
)

preop_sound = 'sound/surgery/organ2.ogg'
success_sound = 'sound/surgery/organ1.ogg'

/datum/surgery_step/internal/manipulate_organs/implant/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
if(istype(tool, /obj/item/food/organ))
to_chat(user, "<span class='warning'>[tool] was bitten by someone! It's too damaged to use!</span>")
Expand Down Expand Up @@ -643,6 +650,9 @@
TOOL_CROWBAR = 90
)

preop_sound = 'sound/surgery/retractor1.ogg'
success_sound = 'sound/surgery/retractor2.ogg'

/datum/surgery_step/internal/manipulate_organs/finish/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
var/mob/living/carbon/human/H = target
var/obj/item/organ/external/affected = target.get_organ(target_zone)
Expand Down Expand Up @@ -707,6 +717,15 @@
TOOL_WIRECUTTER = 35
)

preop_sound = list(
TOOL_SAW = 'sound/surgery/saw.ogg',
/obj/item/hatchet = 'sound/surgery/scalpel1.ogg',
/obj/item/chainsaw = 'sound/weapons/chainsaw.ogg',
/obj/item/butcher_chainsaw = 'sound/weapons/chainsaw.ogg',
TOOL_WIRECUTTER = 'sound/surgery/scalpel1.ogg'
)

success_sound = 'sound/surgery/organ2.ogg'
time = 5.4 SECONDS


Expand Down Expand Up @@ -750,6 +769,9 @@
/obj/item/butcher_chainsaw = 1
)

preop_sound = 'sound/surgery/scalpel1.ogg'
success_sound = 'sound/surgery/scalpel2.ogg'
failure_sound = 'sound/surgery/organ2.ogg'
time = 1.6 SECONDS

/datum/surgery_step/cut_carapace/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
Expand Down Expand Up @@ -787,6 +809,8 @@
/obj/item/kitchen/utensil/fork = 60
)

preop_sound = 'sound/surgery/retractor1.ogg'
success_sound = 'sound/surgery/retractor2.ogg'
time = 2.4 SECONDS

/datum/surgery_step/retract_carapace/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
Expand Down Expand Up @@ -838,6 +862,9 @@
/obj/item/flamethrower = 1
)

preop_sound = 'sound/surgery/cautery1.ogg'
success_sound = 'sound/surgery/cautery2.ogg'
failure_sound = 'sound/items/welder.ogg'
time = 2.4 SECONDS

/datum/surgery_step/generic/seal_carapace/proc/zone_name(target_zone)
Expand Down
5 changes: 5 additions & 0 deletions code/modules/surgery/other.dm
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@
can_infect = TRUE
blood_level = SURGERY_BLOODSPREAD_HANDS

preop_sound = 'sound/surgery/organ1.ogg'
time = 3.2 SECONDS

/datum/surgery_step/fix_vein/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
Expand Down Expand Up @@ -133,6 +134,7 @@
can_infect = TRUE
blood_level = SURGERY_BLOODSPREAD_HANDS

preop_sound = 'sound/surgery/organ1.ogg'
time = 3.2 SECONDS

/datum/surgery_step/treat_burns/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
Expand Down Expand Up @@ -190,6 +192,9 @@
/obj/item/shard = 60
)

preop_sound = 'sound/surgery/scalpel1.ogg'
success_sound = 'sound/surgery/retractor2.ogg'
failure_sound = 'sound/surgery/organ1.ogg'
can_infect = TRUE
blood_level = SURGERY_BLOODSPREAD_HANDS

Expand Down
4 changes: 4 additions & 0 deletions code/modules/surgery/plastic_surgery.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@
allowed_tools = list(TOOL_SCALPEL = 100, /obj/item/kitchen/knife = 50, /obj/item/wirecutters = 35)
time = 6.4 SECONDS

preop_sound = 'sound/surgery/scalpel1.ogg'
success_sound = 'sound/surgery/scalpel2.ogg'
failure_sound = 'sound/surgery/organ2.ogg'

/datum/surgery_step/reshape_face/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
user.visible_message(
"[user] begins to alter [target]'s appearance.",
Expand Down
Loading

0 comments on commit 1b25a5b

Please sign in to comment.