Hi All, I've been working on a script that dynamically changes Jukebox Track volumes, and plays one-off sound effects based on the proximity of hero tokens to 'ambient sources'. The script and instructions are available here . A demo video is available here . So, Map Ambience allows you to create ambient audio sources on a page which your players, via their hero tokens, experience dynamically based on their proximity to the sources. Hero tokens are defined as tokens which are linked to character sheets where the 'controlledby' field has a value. The ambient sources and hero tokens are loaded on a page change event automatically. While designing the page you can create a macro that executes: !mapam buildAmbientState which will process and run the sources. Ambient sources are defined by their name starting with ‘Ambient’ (case-sensitive!) and have a number of parameters that control their behaviour. There are four different types of ambient sources: 1. Whole map ambiences which are always on such as environmental sounds, wind, rain, dripping water in a cave and so on. we use the bar1 value to hold the volume, the tooltip to hold the track name and set the aura1 radius to ALL, signifying an ‘always on source’. 2. Basic proximity ambiences that change their volume based on hero token proximity, e.g. rivers, monsters, birds in trees etc. These sources can be linked to polygonal paths to provide dynamic sounds for rivers for example. For a simple source it is as above except bar1 value and bar1 max hold the minimum and maximum volume respectively. For a source linked to a polygonal path bar3 value holds the id of the path object (see 3. below). We can use a simple macro /w gm @{selected|token_id} to find our path id. 3. 'Trigger' ambiences that play a sound once (e.g. not looped) based on hero token movement such as footsteps in water or a repeatedly fireable trap. Again we use bar1 for min/max volume, tooltip and aura1 radius but also add a bar2 value of ‘noloop’ meaning the sound is only played once. But the source will re-trigger each time we are in proximity, for something like a re-loading trap or similar!. 4. 'Trigger' ambiences as above but they only fire once are then 'forgotten' such as a pit trap or bomb. These can also execute a macro to create a visual effect such as showing or changing a token e.g. a pit trap or breaking something for example. These are set up as above but we add 'forget' to the bar2 max . Macro example in GM Notes which moves a token with dynamic lighting (for example) to the map layer: Hope you may find this interesting, any questions, fire away! ;-) Regards, ~ Coryphon ~