Types/WorkingSound

From Official Factorio Wiki
Jump to: navigation, search

Basics

This type is used to produce sound from in-game entities when they are working/idle.

Mandatory properties

sound

Type: Types/Sound

The sound to be played when the entity is working. If sound is not present, the entire WorkingSound is loaded as a Types/Sound.

Optional properties

apparent_volume

Type: Types/float

Default: 1

max_sounds_per_type

Type: Types/uint8

match_progress_to_activity

Type: Types/bool

Default: false

match_volume_to_activity

Type: Types/bool

Default: false

match_speed_to_activity

Type: Types/bool

Default: false

persistent

Type: Types/bool

Default: false

use_doppler_shift

Type: Types/bool

Default: true

audible_distance_modifier

Type: Types/double

Default: 1

Modifies how far a sound can be heard. Can only be 1 or lower, has to be a positive number.

probability

Type: Types/double

Default: 1

Modifies how often the sound is played. Example:

probability = 1 / (3 * 60) -- average pause between the sound is 3 seconds

fade_in_ticks

Type: Types/uint32

Default: 0

Can't be used when match_progress_to_activity is true.

fade_out_ticks

Type: Types/uint32

Default: 0

Can't be used when match_progress_to_activity is true.

idle_sound

Type: Types/Sound

The sound to be played when the entity is idle. Might not work with all entities that use working_sound.

activate_sound

Type: Types/Sound

Might not work with all entities that use working_sound.

deactivate_sound

Type: Types/Sound

Might not work with all entities that use working_sound.

Example

Refinery:

working_sound =
 {
  sound = { filename = "__base__/sound/oil-refinery.ogg" },
  idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.6 },
  apparent_volume = 2.5,
 },

Roboport:

working_sound =
    {
      sound = { filename = "__base__/sound/roboport-working.ogg", volume = 0.6 },
      max_sounds_per_type = 3,
      audible_distance_modifier = 0.5,
      probability = 1 / (5 * 60) -- average pause between the sound is 5 seconds
    },