Skip to content

Soundscripts

Roman Chistokhodov edited this page Sep 26, 2024 · 12 revisions

Overview and reasoning

Originally in Half-Life the sound names used by NPCs and items are explicitly written in the code as file paths, along with the properties these sounds should be played with like volume, attenuation and pitch. This leaves the mod author no other choice than changing the code or replacing the .wav files (the latter only changes the sound files, not the audio properties. It also doesn't allow to change the number of sounds to choose from when playing a random sound).

This has been changed in Source where soundscripts were introduced to ease the customization of the played sounds. Featureful SDK implements the similar concept. Now NPCs and items refer to the soundscripts (also called sound entries) that can be defined in the outer file - sound/soundscripts.json. Each sound entry has a name and each monster or item uses a predefined set of sound entries and refer to them by names (the list of names is given below).

Example:

{
    "Garg.Footstep": {
        "channel": "body",
        "waves": ["garg/gar_step1.wav", "garg/gar_step2.wav"],
        "volume": 1.0,
        "attenuation": "norm",
        "pitch": "90,110",
    },
    "Garg.Pain": {
        "channel": "voice",
        "waves": ["garg/gar_pain1.wav", "garg/gar_pain2.wav", "garg/gar_pain3.wav"],
        "volume": 1.0,
        "attenuation": "norm",
        "pitch": 100
    }
}

Notes: the number of sound entries that can be defined in the file is virtually unlimited. We just show a couple of them as an example.

Unlike Source the default soundscript definitions are still present in the game code to keep the outer file definitions optional. Moreover when you provide a customized soundscript but omit some properties (like channel, pitch, etc.) the default ones will be used as they're defined in the game code. This way you can redefine only certain set of properties leaving the rest intact. The example above (with Garg sounds) is actually redundant as for demonstration purposes it defines sounds and properties the same way as they're written in the game code. Let's look at the example that actually makes a change:

{
    "Barney.Pain": {
        "waves": ["fgrunt/gr_pain1.wav", "fgrunt/gr_pain2.wav"],
        "pitch": 110
    }
}

Barney.Pain will use the custom set of waves and the custom pitch, but will retain default values for other properties like channel, volume, attenuation.

Format of soudscripts.json

Each entry in the file may have the following properties:

  • channel - the channel to play the sound on. Possible values: "auto", "weapon", "voice", "item", "body", "static". Note: generally it's not recommended to redefine the sound channel as entities are designed to play certain sounds on certain channels for a reason.
  • waves - the array of paths to sound files. When the soundscript is played the wave is choosen randomly from the array. The maximum number of waves is 10.
  • volume - the numeric value or range between 0.0 and 1.0 to define a sound volume. If it's a range the volume value will be randomized on each play. Example of range: [0.7, 0.9].
  • attenuation - the numberic value to define a sound attenuation (i.e. how fast the volume will decrease with the distance between the sound origin and the listener). The normal value is 0.8. The value 0.0 means no atenuation (play everywhere). The following string aliases are supported as well instead of numeric values: "norm" (large radius), "static" (medium radius), "idle" (small radius), "none" (play everywhere).
  • pitch - the integer value or range to define a sound pitch, where 100 is a normal pitch. The values higher than 100 mean high pitch, and the values below 100 mean lowered pitch. If it's a range the pitch value will be randomized on each play. Example of range: [95, 105]

Debugging

If you're unsure about applied soundscript properties, you can check them by the dump_soundscripts command in the console (the developer mode must be enabled and some map should be loaded).

  • Type dump_soundscripts to get all currently registered soundscripts and their properties (so e.g. if there were no Garg on a map, his soundscripts won't be shown).
  • Provide arguments to get only the soundscripts you're interested in, e.g. dump_soundscripts Barney.Pain Barney.Die.
  • If the provided argument ends with . the command will show all sound entries starting with this string. E.g. dump_soundscripts Barney. Otis. prints all registered soundscripts which names start with Barney. and Otis..

Disabling a soundscript

If you want some soundscript to not play at all, redefine it with an empty waves property:

{
    "Barney.Pain": {
        "waves": []
    }
}

Derived soundscripts

Some soundscripts are based on other ones. That means that they inherit the properties of the base soundscript and optionally replace some of them (e.g. pitch).

For example Otis doesn't have his own pain and death sounds and the ones from Barney are used by default. Otis.Pain is derived from (or based on) Barney.Pain so by default they're equal (same thing with Otis.Die and Barney.Die). However you can explicitly define the custom soundscripts so Otis will have unique set of pain and death sounds different from Barney's. The omitted properties will still be derived from Barney's soundscripts.

Example:

{
    "Barney.Pain": {
        "pitch": 110
    },
    "Otis.Pain": {
        "waves": ["otis/ot_pain1.wav", "otis/ot_pain2.wav"]
    }
}

This soundscript replaces the sound set for Otis.Pain. The other properties like channel, volume, attenuation and pitch will be taken from Barney.Pain.

Note: if Barney.Pain is redefined and Otis.Pain is not explicitly defined Otis will use the redefined version of Barney.Pain soundscript for pain sounds.

Sequence events

NPC play some sounds on animation events. Events are properties attached to the specific frames of the sequence. Some events explicitly define what sound should be played, i.e. the sound name is stored in the model. As such sounds don't go through the soundscript system, you can't affect them by customizing the soundscripts.

The list of entity soundcripts

Notes:

  • All names are case-insensitive. For example HoundEye.Idle and houndeye.idle refer to the same soundscript.
  • Some sounds are played on the projectile entity rather than emitted from the monster. Such cases are mentioned in the list.
  • Some sounds are expected to be looped. It's explicitly mentioned in such cases.
  • Empty by default means that the wave list is not defined for the soundscript in the game code by default. The developer must provide a customized soundscript to enable it. For example male assassins are silent by default, but if Massn.Die is provided the monster will play it when they die.
  • When naming soundscripts we try to adhere to the naming scheme from Half-Life: Source.

Effect soundscripts

  • DoSpark - sounds played by env_spark and sparking func_button.
  • Mortar.Launch - when func_mortar_field fires.

Item soundscripts

Common

  • Ammo.Pickup - ammo item is getting picked up.
  • Item.Pickup - item is getting picked up.
  • Item.Materialize - item or weapon respawns (in multiplayer).
  • Weapon.Pickup - weapon is getting picked up. Derived from Item.Pickup
  • Weapon.Empty - player tries to shoot, but the weapon is out of ammo.
  • Weapon.Drop - the weapon dropped by a monster falls onto the ground.

ammo_spore

  • Spore.Ammo - when player takes a spore.

item_battery

  • Battery.Pickup - battery is getting picked up. Derived from Item.Pickup

item_flashlight

  • Flashlight.Pickup flashlight is getting picked up. Derived from Item.Pickup

item_healthkit

  • HealhtKit.Pickup - healthkit is getting picked up.

NPC soundscripts

Common

  • NPC.Gibbed - played when monster (or a corpse) is gibbed.
  • NPC.BodyDrop_Heavy - played on the event 2002 in the death sequence.
  • NPC.BodyDrop_Light - played on the event 2001 in the death sequence.
  • NPC.SwishSound - played on the event 2010 in the melee attack sequence.
  • NPC.AttackHit - melee attack hit.
  • NPC.AttackMiss - melee attack miss.
  • NPC.Reload - generic reload sound.
  • NPC.9MMSingle - single MP5 shot. Used by miniturrets and sentry turrets.
  • NPC.9MM - burst MP5 shot. Used by human grunts, blackops male assassins and robogrunts.
  • NPC.GrenadeLaunch - MP5 grenade launch.
  • NPC.Shotgun - shotgun fire.
  • NPC.Sniper - sniperrifle fire.
  • NPC.Handgun - handgun fire.
  • NPC.Python - Python fire.
  • NPC.DesertEagle - Desert Eagle fire.
  • NPC.ReloadDesertEagle - Desert Eagle reload.
  • NPC.M249 - M249 fire.
  • NPC.SpitTouch - one of the sounds played when the spit projectile hits something. Used by bullsquid, big momma and gonome.
  • NPC.SpitHit - one of the sounds played when the spit projectile hits something. Used by bullsquid, big momma and gonome.
  • NPC.Crash - aircraft death sound. Used by apache and osprey.

monster_alien_controller

  • Controller.Idle - idle sounds.
  • Controller.Alert - alert sounds.
  • Controller.Pain - pain sounds.
  • Controller.Die - death sounds.
  • Controller.Attack - firing an energy ball.
  • Controller.HeadElectro - when the head ball hits the enemy. Emitted from the projectile.
  • Controller.ZapElectro - when the energy ball hits the enemy. Emitted from the projectile.

monster_alien_grunt

  • AlienGrunt.Idle - idle speaking sounds. Alien grunts speak phrases consisting of short words.
  • AlienGrunt.Alert - alert sounds.
  • AlienGrunt.Pain - pain sounds.
  • AlienGrunt.Die - death sounds.
  • AlienGrunt.Attack - played on melee attack.
  • AlienGrunt.LeftFoot - left footstep.
  • AlienGrunt.RightFoot - right footstep.
  • AlienGrunt.Fire - firing a hornet.
  • AlienGrunt.AttackHit - melee attack hit. Derived from NPC.AttackHit
  • AlienGrunt.AttackMiss - melee attack miss. Derived from NPC.AttackMiss
  • AlienGrunt.Use - start following the ally player. Derived from AlienGrunt.Idle
  • AlienGrunt.UnUse - stop following the ally player. Derived from AlienGrunt.Alert

Alien grunts also use hornet soundscripts.

monster_alien_slave

  • Vortigaunt.Pain - pain sounds.
  • Vortigaunt.Die - death sounds.
  • Vortigaunt.ZapPowerup - played several times during the zap attack powerup.
  • Vortigaunt.ZapShoot - played on lightning attack.
  • Vortigaunt.Electro - played at the end of ligtning.
  • Vortigaunt.GlowArm - melee attack with charged arms.
  • Vortigaunt.IdleZap - played along with idle effects.
  • Vortigaunt.SummonStart - starting spawn a familiar.
  • Vortigaunt.SummonEnd - finishing spawn a familiar.
  • Vortigaunt.AttackHit - melee attack hit. Derived from NPC.AttackHit
  • Vortigaunt.AttackMiss - melee attack miss. Derived from NPC.AttackMiss
  • Vortigaunt.SuitOn - charge token of friendly vortigaunt touches the player.

monster_alien_voltigore

  • Voltigore.Idle - idle sounds.
  • Voltigore.Alert - alert sounds.
  • Voltigore.Pain - pain sounds.
  • Voltigore.Die - death sounds.
  • Voltigore.Footstep - footstep sounds.
  • Voltigore.BeamAttack - starting beam attack.
  • Voltigore.AttackHit - melee attack hit. Derived from NPC.AttackHit
  • Voltigore.AttackMiss - melee attack miss. Derived from NPC.AttackMiss

monster_alien_babyvoltigore

  • BabyVoltigore.Idle - idle sounds. Derived from Voltigore.Idle
  • BabyVoltigore.Alert - alert sounds. Derived from Voltigore.Alert
  • BabyVoltigore.Pain - pain sounds. Derived from Voltigore.Pain
  • BabyVoltigore.Die - death sounds. Derived from Voltigore.Die
  • BabyVoltigore.Footstep - footstep sounds. Derived from Voltigore.Footstep
  • BabyVoltigore.Attack - starting melee attack.
  • BabyVoltigore.AttackHit - melee attack hit. Derived from NPC.AttackHit with increased pitch.
  • BabyVoltigore.AttackMiss - melee attack miss. Derived from NPC.AttackMiss with increased pitch.

monster_apache, monster_blkop_apache

  • Apache.Rotor - rotor sound during the flight. Must be looped.
  • Apache.FireGun - firing a bullet.
  • Apache.Crash - death sound. Derived from NPC.Crash
  • Apache.RPG - rocket launch sound. Emitted from the rocket projectile.

monster_babycrab

  • Babycrab.Idle - idle sounds. Derived from Headcrab.Idle with increased pitch and decreased volume.
  • Babycrab.Alert - alert sounds. Derived from Headcrab.Alert with increased pitch and decreased volume.
  • Babycrab.Pain - pain sounds. Derived from Headcrab.Pain with increased pitch and decreased volume.
  • Babycrab.Die - death sounds. Derived from Headcrab.Die with increased pitch and decreased volume.
  • Babycrab.Leap - jump sound. Derived from Headcrab.Leap with increased pitch and decreased volume.
  • Babycrab.Attack - attack sound on jump. Derived from Headcrab.Attack with increased pitch and decreased volume.
  • Babycrab.Bite - hit something. Derived from Headcrab.Bite with increased pitch and decreased volume.

monster_babygarg

  • BabyGarg.Stomp - stomp projectile sound. Must be looped. Emitted from stomp projectile. Derived from Garg.Stomp with increased pitch.
  • BabyGarg.AttackHit - melee attack hit. Derived from NPC.AttackHit with decreased pitch.
  • BabyGarg.AttackMiss - melee attack miss. Derived from NPC.AttackMiss with decreased pitch.
  • BabyGarg.BeamAttackOn - flame on sound. Derived from Garg.BeamAttackOn with decreased volume.
  • BabyGarg.BeamAttackRun - flame run sound. Derived from Garg.BeamAttackRun with decreased volume.
  • BabyGarg.BeamAttackOff - flame off sound. Derived from Garg.BeamAttackOff with decreased volume.
  • BabyGarg.Footstep - footstep sound.
  • BabyGarg.Idle - idle sound.
  • BabyGarg.Alert - alert sound.
  • BabyGarg.Pain - pain sound.
  • BabyGarg.Attack - occasional roar played on the flame attack.
  • BabyGarg.StompSound - stomp launch sound.
  • BabyGarg.Breath - played on the event 6 in some idle sequences.

monster_barnacle

  • Barnacle.Bite - biting the prey when it's lifted.
  • Barnacle.Chew - random chewing sound when the prey is lifted and when the gib is spewed out.
  • Barnacle.Alert - when starting lifting the prey.
  • Barnacle.Die - death sound.
  • Barnacle.Pain - pain sound.

monster_barney

  • Barney.Pain - pain sound.
  • Barney.Die - death sound.
  • Barney.FirePistol - firing a handgun.
  • Barney.FirePython - firing a Python. Derived from NPC.Python.

monster_barniel

  • Barniel.Pain - pain sound.
  • Barniel.Die - death sound.
  • Barniel.FirePistol - firing a handgun.

monster_bigmomma

  • BigMomma.Alert - played on the event 14 in the angry sequences.
  • BigMomma.Pain - getting hit.
  • BigMomma.Die - played on the event 6 in the death sequence.
  • BigMomma.Attack - melee attack.
  • BigMomma.Birth - spawning a child. Played on the event 17 in the spawn sequence.
  • BigMomma.LayHeadcrab - creating a baby headcrab.
  • BigMomma.ChildDie - played when child dies.
  • BigMomma.Sack - plays occasionally when idle.
  • BigMomma.LaunchMortar - launching a projectile.
  • BigMomma.SpitTouch - one of the sounds played when the Big Momma projectile hits something. Emitted from the projectile. Derived from NPC.SpitTouch
  • BigMomma.SpitHit - one of the sounds played when the Big Momma projectile hits something. Emitted from the projectile. Derived from NPC.SpitHit
  • BigMomma.AttackHit - melee attack hit. Derived from NPC.AttackHit

monster_bullchicken

  • Bullsquid.Idle - idle sounds.
  • Bullsquid.Alert - alert sounds.
  • Bullsquid.Pain - pain sounds.
  • Bullsquid.Die - death sounds.
  • Bullsquid.Growl - a growling sound on the bite attack.
  • Bullsquid.Attack - spit attack sound.
  • Bullsquid.AttackToxic - toxic spit attack sound.
  • Bullsquid.Bite - bit someone with a bite attack.
  • Bullsquid.SpitTouch - one of the sounds played when the spit projectile hits something. Emitted from the spit projectile. Derived from NPC.SpitTouch
  • Bullsquid.SpitHit - one of the sounds played when the spit projectile hits something. Emitted from the spit projectile. Derived from NPC.SpitHit
  • Bullsquid.ToxicSpitTouch - one of the sounds played when the toxic spit projectile hits something. Emitted from the spit projectile.
  • Bullsquid.ToxicSpitHit - one of the sounds played when the toxic spit projectile hits something. Emitted from the spit projectile.

monster_civilian

  • Civilian.Pain - pain sound. Derived from Scientist.Pain
  • Civilian.Die - death sound. Derived from Scientist.Die

monster_cleansuit_scientist

  • CleansuitScientist.Pain - pain sound. Derived from Scientist.Pain
  • CleansuitScientist.Die - death sound. Derived from Scientist.Die

monster_cockroach

  • Roach.Walk - random skitter sound when cockroach picks a new destination.
  • Roach.Die - death sound.
  • Roach.Smash - death sound (alternative to RoachDie)

monster_drillsergeant

  • DrillSergeant.Pain - pain sound.
  • DrillSergeant.Die - death sound.

monster_floater

  • Floater.Idle - idle sounds. Empty by default.
  • Floater.Alert - alert sounds. Empty by default.
  • Floater.Pain - pain sounds.
  • Floater.Howl - howling sound (played when floaters move).
  • Floater.Bloat - start bloating.
  • Floater.Explode - explosion sound.

monster_flybee

  • Flybee.Idle - idle sounds.
  • Flybee.Alert - alert sounds.
  • Flybee.Pain - pain sounds.
  • Flybee.Die - death sounds.
  • Flybee.Attack - starting chasing the enemy.
  • Flybee.Bite - melee attack.
  • Flybee.Beam - beam attack.
  • Flybee.Electro - ball projectile impact. Emitted from the projectile.

monster_flyer_flock and monster_flyer

  • FlockingFlyer.Idle - idle sounds.
  • FlockingFlyer.Alert - played when some flyer in the flock is gettng killed. Not used because killing boids is not implemented yet.

monster_gargantua

  • Garg.Stomp - stomp projectile sound. Must be looped. Emitted from stomp projectile.
  • Garg.AttackHit - melee attack hit. Derived from NPC.AttackHit with decreased pitch.
  • Garg.AttackMiss - melee attack miss. Derived from NPC.AttackMiss with decreased pitch.
  • Garg.BeamAttackOn - flame on sound.
  • Garg.BeamAttackRun - flame run sound. Expected to be looped.
  • Garg.BeamAttackOff - flame off sound.
  • Garg.Footstep - footstep sound.
  • Garg.Idle - idle sound.
  • Garg.Alert - alert sound.
  • Garg.Pain - pain sound.
  • Garg.Attack - flame attack sound.
  • Garg.StompSound - stomp launch sound.
  • Garg.Breath - played on the event 6 in some idle sequences.

monster_geneworm

  • GeneWorm.Idle - idle sounds.
  • GeneWorm.Die - death sounds.
  • GeneWorm.Attack1 - attacking the left side.
  • GeneWorm.Attack2 - attacking the right side.
  • GeneWorm.Attack3 - attacking the forward.
  • GeneWorm.BeamAttack - range attack.
  • GeneWorm.Entry - entering through the portal.
  • GeneWorm.EyePain - getting shot in the eye.
  • GeneWorm.BigPain1 - pain before opening the orifice.
  • GeneWorm.BigPain2 - when the orifice is open.
  • GeneWorm.BigPain3 - pain before closing spawning the soldier.
  • GeneWorm.BigPain4 - before spawning a soldier and closing the orifice.
  • GeneWorm.LaunchSpawn - launching the portal.]
  • GeneWorm.AttackHit melee attack hit. Derived from NPC.AttackHit. Emitted from trigger_geneworm.

monster_gonome

  • Gonome.Idle - idle sounds.
  • Gonome.Alert - alert sounds.
  • Gonome.Pain - pain sounds.
  • Gonome.Die - death sounds.
  • Gonome.Bite - bite sounds on mouth attack.
  • Gonome.Melee1 - right arm melee attack.
  • Gonome.Melee2 - left arm melee attack.
  • Gonome.AttackHit - melee attack hit. Derived from NPC.AttackHit
  • Gonome.AttackMiss - melee attack miss. Derived from NPC.AttackMiss
  • Gonome.SpitTouch - one of the sounds played when the guts projectile hits something. Emitted from the guts projectile. Derived from NPC.SpitTouch
  • Gonome.SpitHit - one of the sounds played when the guts projectile hits something. Emitted from the guts projectile. Derived from NPC.SpitHit

monster_headcrab

  • Headcrab.Idle - idle sounds.
  • Headcrab.Alert - alert sounds.
  • Headcrab.Pain - pain sounds.
  • Headcrab.Die - death sounds.
  • Headcrab.Leap - jump sound.
  • Headcrab.Attack - attack sound on jump.
  • Headcrab.Bite - hit something.

monster_houndeye

  • HoundEye.Idle - idle sounds.
  • HoundEye.Alert - alert sounds.
  • HoundEye.Pain - pain sounds.
  • HoundEye.Die - death sounds.
  • HoundEye.Warn - hunt/warn sounds.
  • HoundEye.Warmup - start attack.
  • HoundEye.Sonic - sonic blast.
  • HoundEye.Anger1 - played on event 4 in the madidle sequence.
  • HoundEye.Anger2 - played on event 5 in the madidle sequence.

monster_human_assassin

  • HAssassin.Shot - silenced handgun shot.
  • HAssassin.Footstep - footstep sound.
  • HAssassin.Cloak - going invisible.

monster_human_grunt

  • HGrunt.Pain - pain sounds.
  • HGrunt.Die - death sounds.
  • HGrunt.Reload - reload sound. Derived from NPC.Reload
  • HGrunt.9MM - burst MP5 shot. Derived from NPC.9MM
  • HGrunt.GrenadeLaunch - MP5 grenade launch. Derived from NPC.GrenadeLaunch
  • HGrunt.Shotgun - shotgun fire. Derived from NPC.Shotgun
  • HGrunt.Use - start following the ally player.
  • HGrunt.UnUse - stop following the ally player.

monster_human_grunt_ally

  • HGruntAlly.Pain - pain sounds.
  • HGruntAlly.Die - death sounds.
  • HGruntAlly.CallMedic - call medic when low on health.
  • HGruntAlly.Reload - reload sound. Derived from NPC.Reload
  • HGruntAlly.9MM - burst MP5 shot. Derived from NPC.9MM
  • HGruntAlly.GrenadeLaunch - MP5 grenade launch. Derived from NPC.GrenadeLaunch
  • HGruntAlly.Shotgun - shotgun fire. Derived from NPC.Shotgun
  • HGruntAlly.M249 - M249 fire. Derived from NPC.M249
  • HGruntAlly.ReloadM249 - M249 reload.

monster_human_medic_ally

  • MedicGrunt.Heal - healing sound. Must be looped.
  • MedicGrunt.Pain - pain sound. Derived from HGruntAlly.Pain
  • MedicGrunt.Die - death sound. Derived from HGruntAlly.Die
  • MedicGrunt.CallMedic - call another medic when low on health. Derived from HGruntAlly.CallMedic
  • MedicGrunt.Handgun - handgun fire. Derived from NPC.Handgun
  • MedicGrunt.Reload - handgun reload. Derived from NPC.Reload
  • MedicGrunt.DesertEagle - Desert Eagle fire. Derived from NPC.DesertEagle
  • MedicGrunt.ReloadDesertEagle - Desert Eagle reload. Derived from NPC.ReloadDesertEagle

monster_human_torch_ally

  • TorchGrunt.Pain - pain sound. Derived from HGruntAlly.Pain
  • TorchGrunt.Die - death sound. Derived from HGruntAlly.Die
  • TorchGrunt.CallMedic - call medic when low on health. Derived from HGruntAlly.CallMedic
  • TorchGrunt.DesertEagle - Desert Eagle fire. Derived from NPC.DesertEagle
  • TorchGrunt.ReloadDesertEagle - Desert Eagle reload. Derived from NPC.ReloadDesertEagle

monster_hwgrunt

  • HWGrunt.Pain - pain sounds. Derived from HGrunt.Pain
  • HWGrunt.Die - death sounds. Derived from HGrunt.Die
  • HWGrunt.Shoot - minigun fire.
  • HWGrunt.Spindown - minigun spindown.
  • HWGrunt.Spinup - minigun spinup.
  • HWGrunt.Use - start following the ally player. Derived from HGrunt.Use
  • HWGrunt.UnUse - stop following the ally player. Derived from HGrunt.UnUse

monster_ichthyosaur

  • Ichthyosaur.Idle - idle sounds.
  • Ichthyosaur.Alert - alert sounds.
  • Ichthyosaur.Pain - pain sounds.
  • Ichthyosaur.Die - death sounds.
  • Ichthyosaur.Attack - starting chasing the enemy.
  • Ichthyosaur.Bite - trying to bite an enemy.

monster_leech

  • Leech.Attack - attacking the enemy.
  • Leech.Alert - alert sounds.
  • Leech.Pain - pain sounds. Empty by default. Note: if Leech.Die is defined you probably won't ever hear a pain sound if leeches have a little health and die from one hit.
  • Leech.Die - death sounds. Empty by default.

monster_kate

  • Kate.Pain - pain sound.
  • Kate.Die - death sound.
  • Kate.FirePistol - firing a handgun.

monster_male_assassin

  • Massn.Pain - pain sounds. Empty by default.
  • Massn.Die - death sounds. Empty by default.
  • Massn.Reload - reload sound. Derived from NPC.Reload
  • Massn.9MM - burst MP5 shot. Derived from NPC.9MM
  • Massn.GrenadeLaunch - MP5 grenade launch. Derived from NPC.GrenadeLaunch
  • Massn.Sniper - sniperrifle fire. Derived from NPC.Sniper

monster_nihilanth

  • Nihilanth.Pain - pain sounds.
  • Nihilanth.Die - death sounds.
  • Nihilanth.Attack - start attack.
  • Nihilanth.BallAttack - launching an energy ball.
  • Nihilanth.Recharge - recharging.
  • Nihilanth.PainLaugh - pain sound when Nihilanth still has a lot of health.
  • Nihilanth.FriendBeam - spawning a friend.
  • NihilanthHVR.Electro - emitted from Nihilanth's energy ball.
  • NihilanthHVR.ZapTouch - emitted from Nihilanth's energy ball.
  • NihilanthHVR.Zap - creating zap ball. Emitted from Nihilanth's energy ball.
  • NihilanthHVR.TeleAttack - flight of the teleporting ball. Must be looped. Emitted from Nihilanth's energy ball.

monster_osprey, monster_blkop_osprey

  • Osprey.Rotor - rotor sound during the flight. Must be looped.
  • Osprey.Crash - death sound. Derived from NPC.Crash

monster_otis

  • Otis.Pain - pain sound. Derived from Barney.Pain
  • Otis.Die - death sound. Derived from Barney.Die
  • Otis.FireDesertEagle - firing Desert Eagle. Derived from NPC.DesertEagle

monster_panthereye

  • PantherEye.Idle - idle sounds.
  • PantherEye.Alert - alert sounds. Empty by default.
  • PantherEye.Pain - pain sounds. Empty by default.
  • PantherEye.Die - death sounds.
  • PantherEye.Attack - roar on melee attack.
  • PantherEye.AttackHit - melee attack hit. Derived from NPC.AttackHit
  • PantherEye.AttackMiss - melee attack miss. Derived from NPC.AttackMiss

monster_pitdrone

  • PitDrone.Idle - idle sounds.
  • PitDrone.Alert - alert sounds.
  • PitDrone.Pain - pain sounds.
  • PitDrone.Die - death sounds.
  • PitDrone.AttackMiss - melee attack miss. Derived from NPC.AttackMiss
  • PitDrone.AttackHit - hitting something when attacking with both claws.
  • PitDrone.SpikeHitWorld - when spike hits the world. Emitted from the spike projectile.
  • PitDrone.SpikeHitBody - when spike hits someone. Emitted from the spike projectile.

Note: the pitdrone uses a lot of sounds in the sequence events. These sounds can't be changed via soundscripts.

monster_pitworm

  • PitWorm.HitGround
  • PitWorm.Angry
  • PitWorm.Blast
  • PitWorm.Swipe
  • PitWorm.Shoot
  • PitWorm.Idle
  • PitWorm.Alert
  • PitWorm.Pain
  • PitWorm.Die
  • PitWorm.AttackHit - melee attack hit. Derived from NPC.AttackHit

monster_recruit

  • Recruit.Pain - pain sound.
  • Recruit.Die - death sound.

monster_robocop

  • RoboCop.Die - death sound.
  • RoboCop.Fist - fist attack.
  • RoboCop.Charge - charging laser attack.
  • RoboCop.Laser - laser sound.
  • RoboCop.Step - step sounds.

monster_robogrunt

  • RGrunt.Die - death sound.
  • RGrunt.Spark - spark sound (when low on health or about to explode)
  • RGrunt.Reload - reload sound. Derived from NPC.Reload
  • RGrunt.9MM - burst MP5 shot. Derived from NPC.9MM
  • RGrunt.GrenadeLaunch - MP5 grenade launch. Derived from NPC.GrenadeLaunch
  • RGrunt.Shotgun - shotgun fire. Derived from NPC.Shotgun
  • RGrunt.Use - start following the ally player.
  • RGrunt.UnUse - stop following the ally player.

monster_rosenberg

  • Rosenberg.Pain - pain sound.
  • Rosenberg.Die - death sound. Derived from Rosenberg.Pain

monster_scientist

  • Scientist.Pain - pain sound.
  • Scientist.Die - death sound. Derived from Scientist.Pain
  • Scientist.Heal - medical shot sound.

monster_shockroach

  • Shockroach.Idle - idle sounds.
  • Shockroach.Alert - alert sounds.
  • Shockroach.Pain - pain sounds.
  • Shockroach.Die - death sounds.
  • Shockroach.Leap - jump sound.
  • Shockroach.Attack - attack sound on jump.
  • Shockroach.Bite - hit something.

Note: the shockroach uses a lot of sounds in the sequence events. These sounds can't be changed via soundscripts.

monster_shocktrooper

  • ShockTrooper.Pain - pain sounds.
  • ShockTrooper.Die - death sounds.
  • ShockTrooper.Fire - firing a shock beam projectile.

Shock Troopers also use shock_beam soundscripts.

monster_snark, monster_penguin

  • Snark.Die - death sound.
  • Snark.Gibbed - gibbing sound.
  • Snark.Squeak - squeek before blowing up.
  • Snark.Deploy - bite sound. The pitch gets higher as snark gets closer to the detonation time.
  • Snark.Bounce - bouncing off the ground. The pitch gets higher as snark gets closer to the detonation time.

monster_tentacle

  • Tentacle.HitDirt - hitting the ground if tap sound is set to dirt.
  • Tentacle.HitSilo - hitting the ground if tap sound is set to silo (metal).
  • Tentacle.HitWater - hitting the ground if tap sound is set to water.
  • Tentacle.Roar - the roar sounds played on some sequences (event 7).
  • Tentacle.Search - played on event 8 (not used?).
  • Tentacle.Sing - occasional singing.
  • Tentacle.Swing - the move sounds played on some sequences (event 9)
  • Tentacle.Flies - starting sound of one of the tentacles. It's unknown why it's used at all, but that's what original Half-Life does.
  • Tentacle.Squirm - starting sound of one of the tentacles. It's unknown why it's used at all, but that's what original Half-Life does.
  • Tentacle.Alert - hearing a new interesting sound. Empty by default (but the game has tentacle alert sounds in the resources).

monster_wheelchair

  • Keller.Pain - pain sound.
  • Keller.Die - death sound.

monster_zombie, monster_zombie_barney, monster_zombie_soldier

  • Zombie.Idle - idle sounds.
  • Zombie.Alert - alert sounds.
  • Zombie.Pain - pain sounds.
  • Zombie.Die - death sounds.
  • Zombie.Attack - plays occasionally on the slash attack.
  • Zombie.AttackHit - melee attack hit. Derived from NPC.AttackHit
  • Zombie.AttackMiss - melee attack miss. Derived from NPC.AttackMiss

Weapons and projectiles soundscripts

crossbow_bolt

  • Crossbow.BoltHitBody - hitting something that can take damage.
  • Crossbow.BoltHitWorld - hitting something that can't take damage.

hornet

  • Hornet.Buzz - plays occasionally when hornet is tracking the enemy.
  • Hornet.Die - when hornet is hitting the enemy.

grenade

  • BaseGrenade.Debris - plays together with explosion. Used with other explosive projectiles as well like satchels, rockets and tripmines.
  • HandGrenade.Bounce - the hand grenade hits the wall.

monster_satchel

  • SatchelCharge.Bounce - satchel hits the ground.

monster_tripmine

  • TripmineGrenade.Deploy - when tripmine is installed on the wall. Plays until beam activation. Must be looped.
  • TripmineGrenade.Charge - when tripmine is installed on the wall.
  • TripmineGrenade.Activate - beam activation sound.

rpg_rocket

  • RPG.RocketIgnite - rocket travel sound. Must be looped.

shock_beam

  • ShockBeam.Impact - on impact with something.

spore

  • Spore.Bounce - when bouncing from walls.
  • Spore.Impact - explosion sound.

Player soundscripts

  • Player.FallBodySplat - played when player dies from fall damage.
  • Player.TrainUse - start using a train.
  • Player.VehicleUse - start using a vehicle.

World objects

env_rope

  • Rope.Grab - player grabbing a rope
  • Rope.Creak - creak sound.

op4mortar

  • Op4Mortar.Rotate - horizontal or vertical rotation.
  • Op4Mortar.Launch - firing a mortar shell.
  • Op4Mortar.Fly - mortart shell flight. Emitted from the mortar shell projectile.

xen_tree

  • XenTree.AttackHit - hitting someone. Derived from NPC.AttackHit
  • XenTree.AttackMiss - attack miss. Derived from NPC.AttackMiss
Clone this wiki locally