NOD Engine SDK 1.0

NAG File Specifications

Introduction

The NAG file stands for Nihilisitc Audio Group. The intent of the file is to match specific gameplay events with the names of the WAV or MP3 files that should be played when that even occurs. Once created, the NAG files are associated with different game objects like Actors or Weapons, and the types of sound triggers they receive depend on the type of object being used. This is called a Foley definition, and the sound trigger modes are referred to as Foley modes.

The basic format of the NAG file is quite simple. Each line begins with the name of the sound mode being defined, from the table below. After the mode name, the name of the sound file to be played is listed. After the sound name, there are one or more optional parameters or flags. The parameters affect things like playback volume, pitch bend, minRadius, and maxRadius for the sounds. These parameters, if they appear, must appear in that order. If you want to define "minRadius", for instance, you must first define volume and pitchBend, even if the values are the defaults. Intermixied with these parameters can also exit keyword flags. These are listed in a separate table. These flags can be intermixed with the parameters, and any number of flags can appear in each entry.

As with other ASCII files, all the entries are non-case-sensitive and are separated by whitespace characters.

Format

Foley Modes

Below is a list of all currently supported foley modes. New modes may be added in the future, and not all of these modes are supports on all object types.

Foley Mode

Object Type

When played

Create

All

Object is initially created

Activate

Container

Container is opened or destroyed

Startmove

TrackMove objects

Object starts moving

Stopmove

TrackMove objects

Object stops moving

Moving

TrackMove objects

Looping sound started and stopped with movement

Swing

Weapon

Primary attack is used

Swing2

Weapon

Secondary attack is used

Hitflesh

Weapon

Striking a fleshy object

Hitstone

Weapon

Striking a stone object

Hitmetal

Weapon

Striking a metal object or victim armor

Hitleather

Weapon

Striking a leather object or victim armor

Hitcloth

Weapon

Striking a cloth object or armor

Hitmail

Weapon

Striking a metal mail object or armor

Hitmagic

Weapon

Hitting a magic item and armor

Hitbone

Weapon

Hitting a bone object or actor (skeleton)

Outofammo

Weapon

Attempting to fire weapon out of ammo

Drop

Item

Object is dropped into the world

Pickup

Item

Picked up by an actor

Wear

Item

Worn by an actor

Remove

Item

Unworn by an actor

Use

Item

Used (potions, books, etc.)

Kiss

Actor

Begins feeding on a friendly teammate (wrist)

Kissattack

Actor

Begins feeding on an unwilling victim

Detach

Actor

Stops feeding

Suck

Actor

Periodically played during feeding

Bloodpointdrain

Actor

Losing blood while being fed on

Walk_carpet

Actor

Footstep on carpet surface

Walk_dirt

Actor

Footstep on dirt surface

Walk_metal

Actor

Footstep on metal surface

Walk_puddle

Actor

Footstep in shallow water

Walk_snow

Actor

Footstep in snow

Walk_stone

Actor

Footstep on stone surface

Walk_Street

Actor

Footstep on paved surface

Walk_wood

Actor

Footstep on wooden surface

Walk_woodcreaky

Actor

Footstep on creeky wooden surface

Run_Carpet

Actor

Running footfall on carpted surface

Run_XXX

Actor

(Run for each surface type listed above)

Scuff_XXX

Actor

Scuff sounds are played when movement stops and are typed for each surface type

Damage

Actor

Damaged in some generic way

Damage_lethal

Actor

Hurt by lethal damage type

Damage_aggravated

Actor

Hurt by aggravated damage

Damage_electric

Actor

Hurt by electrical damage

Damage_fire

Actor

Hurt by fire damage

Damage_sun

Actor

Hurt by sun damage

Damage_holy

Actor

Hurt by holy damage

Damage_cold

Actor

Hurt by cold damage

Damage_poison

Actor

Hurt by poison damage

Damage_disease

Actor

Hurt by disease damage

Death

Actor

Died from some generic damage source

Death_XXX

Actor

Died from specified damage type (see Damage_XXX entries)

Death_bodyfall

Actor

Corpse hits the ground during death animation

Death_Torpor

Actor

Enters torpor

Death_Awake

Actor

Awakens from torpor

Anim_idle,

Anim_Idle2

Actor

Special tag in idle animation triggers sound

Voice Modes

These modes are used exactly like the other modes, but are generally used to store voice samples. All of these modes are used on Actor objects.

Foley Mode

When played

Vox_alert

Alerted to danger

Vox_greet

Friendly AI actor passes near another friendly AI

Vox_fear

Is afraid

Vox_bored

Is bored

Vox_taunt

Is fighting an enemy and wants to taunt them

Vox_worried

Is fighting and is starting to sense fear

Vox_attack

Randomly played when swinging at an enemy

Vox_critical

Nearing death

Vox_frenzy

Enters frenzy

Vox_unfrenzy

Regains control after frenzy

Vox_nearfrenzy

Warning that actor is near frenzy point

Vox_damage

Randomly played when damaged

Vox_damage_lethal

When damaged by lethal damage

Vox_damage_XXX

Damage-type specific voice lines (see Damage_XXX entries)

Vox_death

Is killed by generic damage type

Vox_death_XXX

Damage-specific death lines

Vox_staked

Is staked

Vox_unstaked

Is unstaked

Vox_losthumanity

Some humanity was lost

Vox_lostallhumanity

All humanity was lost, game over

Vox_gainhumanity

Some humanity was regained

Vox_lowhumanity

Warning that humanity level is low

Vox_notenoughblood

Not enough blood to cast a discipline

Vox_lowblood

Low blood warning

Vox_endfeed

Feeder stopped

Vox_endfeedwrist

Feeder stopped wristfeeding

Vox_endfeedkill

Feeder killed victim

Vox_endfeedkillinnocent

Feeder killed innocent victim

Vox_cannotfeed

Cannot feed from targeted victim

Vox_sated

Cannot feed from friendly because is already full of blood

Vox_feedchase

Starts chasing down a feed target

Vox_partyfeedok

Party member accepts friendly wrist feeding

Vox_partyfeedno

Party member rejects friendly wrist feeding

Vox_parytfeedstop

Party member cuts off a feeder due to low blood

Vox_regroup

Party is regrouping

Vox_startfollow

Party member starts following their leader

Vox_stopfollow

Party member stops following their leader

Vox_gotcash

Picked up some cash

Vox_attackmode

Party member switched to aggressive mode

Vox_neutral

Party member switched to neutral mode

Vox_defendmode

Party member switched to defensive mode

Vox_attackmodeok

Party member acknowledges attack mode command

Vox_neutralok

Party member acknowledges neutral mode command

Vox_defendmodeok

Party member acknowledges defensive mode command

Vox_goodhaven

Indicates that a location is a valid haven

Vox_badhaven

Indicates that a location is not a valid haven

Vox_inventoryfull

Inventory is full

Vox_Cannotafford

Not enough money to purchase an item from a store

Vox_newquest

A new quest has been added

Vox_questcomplete

A quest has been completed

Vox_newplayer

New player enters the party

Vox_cannotwear

Cannot wear an item

Vox_wakeup

Awakens from torpor