EXPBG Ambient Units

by M.Pac

Contributors

K.Edgar

0.2.4

Lighter script start-up (no gameplay change): internal lists and registries are created on first use and kept
in container types the base game already has, lowering the #InitGlobals start-up load that crashes servers
with large mod lists.

- This mod now adds only two container types the base game and its required mods do not already have (the
  two theme lists of the Ambient Civilians theme config, which stay as they are). The animation catalogue,
  the civilians' door cache, the furniture seat and held seat registries and the Unit Dialog registry moved
  to the game's own types. Saves, settings and behaviour are unchanged.
- Needs EXPBG CDF Ambient Units Compat 0.1.2 or later when that addon is loaded (it reads the animation
  catalogue and the Unit Dialog registry the new way); publish and update both together.
Game Version
1.9.0.37
Created
Sat, 07 Nov 2026 15:51:58 GMT
Last Modified
Sat, 07 Nov 2026 15:54:32 GMT

0.2.3

Game 1.9 (Arma Reforger 1.9.0.37). Lower startup script budget for large mod lists on game 1.9 (#InitGlobals);
safe with the InitGlobals Budget Fix mod; no gameplay change.

- The last three class-level script values that were set when scripts start (the civilian voice interval,
  the first refused voice index and the optional routine source) now get their start values on first use,
  so this mod adds no work of its own to the game's startup function `#InitGlobals`. Its constants stay
  as they are: they cost that function nothing.
- Works the same with and without the InitGlobals Budget Fix mod (B8ED52DBF80F518C): this mod reads none of
  the vanilla values that mod creates on first use.
Game Version
1.9.0.37
Created
Sat, 07 Nov 2026 11:08:45 GMT
Last Modified
Sat, 07 Nov 2026 11:09:02 GMT

0.2.2

Game 1.9 (Arma Reforger 1.9.0.37). Built against EXPBG Gamemaster Tools 0.6.4 (needs 0.6.3 or later).

- **Smoking and sitting on a chair work again.** On game 1.9, 0.2.1 played no animation for the Smoke and
  Sit on a chair poses and for smoking civilians: they stood idle. They smoke and sit again.
- **Looping poses replay correctly.** A looping Smoke or Stand at ease pose plays its next round inside the
  running animation again, instead of stepping out and back in.
- **Civilians step out of animations smoothly** (sitting, leaning, carrying an item) instead of snapping out;
  a startled smoker still drops the cigarette at once.
- **Bon hand-over no longer snaps**: a civilian ends his running animation softly before a Bon item is handed
  over.
Game Version
1.9.0.37
Created
Fri, 06 Nov 2026 06:19:02 GMT
Last Modified
Fri, 06 Nov 2026 06:21:36 GMT

0.2.1

Game 1.9 compatibility (Arma Reforger 1.9.0.37). Needs EXPBG Gamemaster Tools 0.6.3 or later (the Gamemaster Tools
version for game 1.9).

- **Compiles and loads on game 1.9.** The game
  update of 2026-11-06 changed the vanilla dialog buttons; the conversation window now sets its button
  labels the new way. Loiter props (cigarette, chair) use the renamed vanilla item list
  (`SCR_EAnimationItemID`, was `SCR_ELoiterItemID`). The civilian smokers' own fast stop is gone: the
  game now ends a fast loiter stop at once itself, so a smoking civilian who is startled still drops
  the cigarette straight away.
- **Loads in large modsets on 1.9.** Game 1.9 limits how many distinct script container types all
  loaded mods may create together, and the full campaign modset crashed at script start. Ambient Units
  now adds 7 of them instead of 43 (its civilians, traffic, scenes, protests, orders and dialog keep
  their lists in types the game already has). No change in behaviour, saves or settings.
Game Version
1.9.0.37
Created
Fri, 06 Nov 2026 01:17:50 GMT
Last Modified
Fri, 06 Nov 2026 02:10:14 GMT

0.2.0

New module **Civilian Interactions** (owner decisions 2026-11-04), and the audit fixes of 2026-11-04
(listed as 0.1.12 before; 0.1.12 was never released).

Civilian Interactions:

- **Players give civilians orders.** Look at a civilian's chest from up to 3 m: **Stop**, **Go away**,
  **Get down**, **Follow me**, **Stay here**.
  - Stop: he stands still for 30 s.
  - Stay here: he stays until another order, until no player has been within 200 m for a minute, at
    most 10 minutes.
  - Get down: he lies down for 60 s, then stands up again.
  - Go away: he walks 50-80 m away from you.
  - Follow me: he follows you for up to 15 minutes. He stops when you are more than 100 m away for
    10 s, get into a vehicle, die or leave. Each player has at most 3 followers; a fourth releases
    the first.
  - The last command wins: any player may give him a new one, but not within a second of someone
    else's. At most 48 civilians are under orders at once. A refused command shows a short hint to
    that player only ("Too far", "He does not respond", ...).
  - When the order ends, an ambient civilian takes up his everyday life again; a civilian a Game
    Master placed goes back to his own waypoints, which the order never touched.
- **Civilians react to a gun.** A player who keeps a raised or aimed firearm on a civilian's body for
  5 s, within 100 m, makes him react once: he puts his hands up, runs away or gets down (equal
  chances, or the reaction a Game Master chose for him). He does not react again for 30 s. With ACE
  Captives loaded, hands up is ACE's own surrender: players can take him prisoner, and a civilian
  taken prisoner stays in the mission for good.
- **Who takes part.** Ambient civilians, by default with commands and gun-point reactions. Any other
  AI unit only when a Game Master switches it on in the new tab "EXPBG Civilian Interactions"
  (Default, Off, Commands only, Commands and gun-point reactions; and his reaction: Random,
  Surrender, Run away, Get down). In this release only AI alone in their AI group take part. A Game
  Master unit script or animation, an AI Surrender prisoner and possession always win; a waypoint a
  Game Master gives him ends the order.
- **Mission settings** in the tab "EXPBG Ambient Units": "Ambient civilian interactions" (Off, Commands
  only, Commands and gun-point reactions), "Gun pointing range" (25-200 m, default 100 m), "Gun
  pointing time" (2-15 s, default 5 s) and "ACE Captives surrender" (shown only with ACE Captives).
- **Bon hand signals**, for players the Bon Guard lets animate: Halt and Military halt mean Stop,
  Military move means Go away, for up to 6 civilians within 30 m in front of the player.
- Saves: the per-unit settings are kept by native mission saves, CDF Game Master saves (CDF's own
  attribute saves) and Unit Caching Full caching; the four mission settings by native mission saves and
  CDF. On an ambient civilian the per-unit setting lasts for the mission: when he despawns out of
  sight and comes back, he has the same look and the same setting. A civilian who replaces him (after
  a No Civilian Zone, a change of the module's area or an order that left him outside his town)
  starts at Default, and so does every ambient civilian after a loaded save (they are not saved).
  Orders and reactions are never saved, and Unit Caching leaves a group under an order alone (and
  awake).
- A follower who runs to catch up keeps running until he is within 6 m, instead of switching between
  walking and running behind a jogging player.
- An order that holds a civilian (Stop, Stay here, Get down, hands up) keeps his Game Master's own
  waypoints for afterwards; an ambient civilian an order left outside his town stays until nobody sees
  him; a unit that was possessed, a prisoner, unconscious or not alone in his group takes part again
  within about 5 s once that is over.
- Performance: nothing runs on the server while no order exists; a client checks his own aim four
  times a second, with at most one ray, only while his firearm is raised.
- ACE is never a dependency.

Ambient Civilians:

- **An ambient civilian under a player's order stands down.** No routine, walk, shelter, emergence or
  despawn fights the order; a follower may leave the module's area (a No Civilian Zone still
  removes him).
- **Servers with more than 64 players get civilians again.** Above 64 connected players the
  civilians froze everywhere: none appeared or despawned, they stopped talking, and every resident
  wandered at full AI cost. There is no player-count ceiling now. Seeing is still checked against
  at most 64 players near a spot (within the World Editor field "Hidden-proof trace range",
  default 1600 m); a spot with more players near it counts as seen, so no civilian appears or
  vanishes there until some of them leave.
- **Civilian sounds reach every player.** Players in a second module's town, or far from the
  first placed module, heard no civilian voices; the Game Master status display and debug markers
  failed there too. The module is now known to every client.
- **A civilian a Game Master gives a unit script stays under the Game Master's control.** Hold,
  Freeze, Stay mounted or an Ambient Animations pose on a resident used to be fought by the
  module's own wander, routines, shelter and voices, and he could be despawned while scripted.
  Now the module leaves him alone until Release, and his routine's Bon item is put away first.
- **Deleted No Civilian Zones no longer count toward the limit of 64 zones.** Placing and deleting
  zones could make new zones do nothing although fewer than 64 were on the map.
- Fewer line-of-sight checks per new civilian (three instead of five), and none while the navmesh
  around a spot is still loading or after it was refused: less server load in busy towns.
- **The server log no longer blames a new module for a deleted one.** When a Game Master deleted the
  only Ambient Civilians module and later placed a new one, the server log said "no civilian
  admitted for 685 s" the moment the new module appeared, with the reason of the deleted module
  (full-modset test run 2026-11-05: Morton got the reason of a module 3 km away, deleted 9.5 minutes
  before). The new module now starts its own count, and the Game Master hint waits its full minute
  from the new module too. Civilians themselves were never affected.

Ambient Animations:

- **A playlist step without room is skipped instead of ending the playlist.** A Sit on a chair
  step next to furniture, a wall or sandbags ended the whole playlist, and only Animation 1 was
  checked when the playlist was given. Now the step is skipped, and a playlist ends for want of
  room only when none of its steps has room.
- **Short playlist steps are played in full.** A step's length now counts from when its animation
  starts, so thumbs up, the OK sign or a shrug are no longer cut short or skipped.
- **A playlist soldier woken by Unit Caching while paused for distance** no longer stays on one
  step for the time his zone slept.
- **The Game Master's camera counts on a listen-server host, in single player and in Workbench.**
  There, animations stopped when the host's own character was far away although his editor camera
  was right next to them.
- Animated soldiers far from every player cost less server time (the distance pause is a quick
  threshold test now, and paused soldiers skip the enemy scan until a player comes near).

Civil Protest Zone:

- The "Wake distance" description now says when a zone really sleeps: every player beyond the wake
  distance plus half of it (at least 100 m more) for 90 seconds, and never sooner than 2 minutes
  after it woke. It used to say 50 m and 10 seconds.

Unit Dialog:

- **The talking animation no longer sticks for up to 90 seconds.** It ends when the player who
  started the conversation walks away, dies or disconnects, even if his End request was lost, and
  his own End is never dropped when he closes two conversations quickly.
Game Version
1.8.0.13
Created
Wed, 04 Nov 2026 21:16:49 GMT
Last Modified
Wed, 04 Nov 2026 21:17:57 GMT

0.1.11

Workshop listing only: a shorter, simpler description, and a second contributor who can publish updates. The mod's content is unchanged; only the version number differs from 0.1.10.
Game Version
1.8.0.13
Created
Tue, 03 Nov 2026 16:43:51 GMT
Last Modified
Tue, 03 Nov 2026 16:44:10 GMT

0.1.10

Owner report 2026-10-24 playtest (no ambient civilians after the endgame restart):

- **Ambient civilians no longer stop after a mission restart.** When a mission restarted in the
  same server process (the endgame restart), the civilians module kept the old mission's timers and
  stayed frozen until the new mission's clock passed the old one's (3 hours in the playtest), and
  even then it could keep the old mission's houses. Every civilians setting of the old mission is
  now dropped when its world ends; the new mission starts at once.
- **Protest zones, Game Master camera reports (Ambient Animations) and the Bon animations allow
  list also start fresh after such a restart.** Before, a protest zone could stay asleep for the
  whole next session after an endgame.
- **Game Masters get one hint when a civilians module is active and no player character is near
  it:** civilians appear around player characters, not around the Game Master camera (for
  performance).
- **The server log tells why civilians do not appear:** one `[EAC] scheduler running` line per
  mission and, every 5 minutes while nobody is admitted, one `[EAC] no civilian admitted` line
  naming the reason (no players, nobody close enough, load pause, budget, AI limit, exclusion zone,
  ...).
- The `[EAC catalog] modules=0/2` warning was a false alarm and is gone. The module is checked in
  the Game Master's own placeable list instead and a warning appears only when it is really
  missing.
- Workaround for older versions: restart the server process (not just the mission) after an
  endgame. EXPBG Gamemaster Tools 0.5.0 fixes the same restart problem for garrisons.
- Tests: new native fixture `tests/EAC_RestartGameplay.c` (a real in-process mission restart on a
  dedicated server: 12 checks pass; on 0.1.9 it fails 4 and shows the playtest's frozen civilians)
  and the portable guard `tests/Test-WorldRestart.ps1`; see tests/GAMEPLAY.md.
Game Version
1.8.0.13
Created
Sun, 25 Oct 2026 02:23:05 GMT
Last Modified
Sun, 25 Oct 2026 02:23:29 GMT

0.1.9

Owner report 2026-10-23 (EXPBG Ambient Units, angry crowd):

- **Civil Protest Zone: angry protesters show the middle finger** (Bon Action Animations' own item,
  {16CEEAEBB0CB7D18}). It is now 40 % of the Bon protest animations (it was never picked before), with
  shouting 30 % and thumbs down and stop sign 15 % each. About one gesture turn in eight is now a middle
  finger, aimed at the players the protesters face. Still at most five Bon animations at once per zone,
  and vanilla gestures for the rest. The middle finger is for protesters only: the Game Master AI
  animation list keeps no joke gestures.
- **Ambient Crowd: a looping crowd sound no longer cuts off and goes silent between recordings**
  (AU-W2). The next recording used to start 1 s after the end (plus up to 0.25 s). With the angry
  recording's own fade-out that gave 1.5-1.9 s of near silence each loop, and the rioting recording
  stopped hard. Now the next recording starts 1.25 s before the end and the old one plays out under it
  (1.0-1.25 s of overlap, no engine fade). This applies to the Civil Protest Zone (angry, rioting,
  alternate) and the "Ambient Crowd Sound" placeable alike. The recordings themselves are unchanged.
- Tests: `tests/Test-AmbientCrowd.ps1` pins the hand-over and models the 250 ms tick (silence
  1.00-1.25 s before, overlap 1.00-1.25 s now). `tests/Test-UnitDialogTalk.ps1` pins the protest
  animation split. New native client fixture `tests/EAU_CrowdLoopGameplay.c` (see tests/GAMEPLAY.md),
  queued for the native slot.
Game Version
1.8.0.13
Created
Sat, 24 Oct 2026 08:32:38 GMT
Last Modified
Sat, 24 Oct 2026 08:32:54 GMT

0.1.8

Deep dive 2026-10-18 (long sessions, 5+ hours, 100-400 AI): things this pack owns no longer stay in
the world for the session, and nothing of it is deleted and rebuilt for a player passing by. Corpses
are never deleted by this pack; they are left to the garbage system or the EXPBG Gamemaster Tools
cleanup, whichever is loaded.

- **Ambient Civilians: a killed civilian frees his population slot at once** (AU-C1). His empty
  "Non-Combatants" group is deleted within seconds instead of lasting as long as his body; the body
  stays and is still kept out of saves until it is removed. A firefight no longer leaves a town empty
  until the bodies go. A death is recorded once (every visit to a corpse used to repeat it).
- **Civilians nobody is near stand still** (AU-C2): no wander leg and no forced idle leg for a
  resident farther than 300 m from every player; residents near players walk as before. Far residents
  no longer keep the AI at full simulation for nothing. New counter `wander_skipped_far=`.
- **Civilian traffic parties are cleaned up after damage, theft or a death** (AU-C3, cars are off by
  default): a car with a bullet hole or a scrape is removed like an undamaged one (full health is now
  only needed to re-use a car); a party whose car was taken, whose passenger was possessed or whose
  crew member died is taken apart one entity at a time once nobody sees it (survivors deleted; a
  car a player touched, a destroyed car or one someone else sits in handed over, to the garbage
  system when nobody living sits in it; a scratched, untouched car deleted out of sight; corpses left
  to the garbage system), and its traffic slot is freed. A car with only its dead crew aboard stays
  until the bodies are removed. Corpses of our crew and untouched wrecks stay out of saves until
  they are deleted; a party that loses control during a zone or session removal is no longer left
  standing there. Three such incidents used to end civilian traffic for the session.
- **Scene survey records are evicted** (AU-C4) when nobody is near them (once a minute) and before a
  full table refuses a new town: towns visited late in a session get furniture seats and surveyed
  spots again. New counter `evicted=` in the scene index line.
- **Save exclusion bookkeeping is cheaper** (AU-C6): looked up by entity id instead of a search of up
  to 2,048 entries per entity per second; helpers without an editable (move waypoints) are taken out
  of native saves when created and right before each save, no longer every second.
- **Ambient Animations: a soldier deleted under his Bon animation leaves no item behind** (AU-A1),
  also in the 1.5 s after the item is handed over or when it lay where his AI dropped it.
- **Game Master camera reports belong to one world** (AU-A2): after a mission change a camera of
  the previous world no longer keeps animations playing or ignores a real player.
- **Bon Guard: Bon's zip-tie pose plays again** (AU-B1) for the Game Master "Ziptie" action and the
  zip tie (the server accepts it only for a character it has cuffed itself). **Bon's hotkeys answer
  only for your own character** (AU-B2): a key press no longer reached every streamed character (no
  more "switched off" hint for a listed player, no AI copying the host's animation in a local
  session), and Bon's input listeners are removed when a character is deleted. **A player chaining
  animations keeps at most one animation item** (AU-B3): 3 s after his last request the server
  deletes the earlier ones he still carries.
- **Ambient Unrest: protest crowds no longer cycle for passing players** (AU-U2): a gathered crowd
  stays until every player is 150 m beyond the wake distance (half of it, at least 100 m) for 90 s
  (was 50 m for 10 s), and never sleeps sooner than 120 s after it woke; distances are measured in
  3-D, so a helicopter high overhead no longer counts as standing in the crowd. One `[EAU CHURN]`
  line per zone at most every 10 minutes shows any sleep/wake cycling in a live log. **The per-tick
  player check is cheap** (AU-U1, no walk over every player for every protester 4 times a second).
  **A possessed protester is handed back to the saves** (AU-U3) when its zone retires, instead of
  staying as an unowned, unsaved body.
- **Unit Dialog: walking away ends the talk at once** (AU-D1): the player who started a conversation
  may always end it (the server used to refuse the end request once he was 6 m away, and the speaker
  kept his talking pose, weapon down, for 90 s); nobody else can end it while it runs, a finished
  talk keeps no starter (a second player's end request is no longer refused), and clearing a unit's
  dialog ends a running talk.
- **Ambient Crowd: crowd sounds survive a rejoin** (AU-W1): world cleanup drops the crowd runtime,
  so a client that rejoins a restarted server no longer refuses every crowd sound for the session; a
  refused crowd sound on a client retries on its next settings update.
- Not changed: AU-C5 (re-using one move waypoint per walker, optional) is left out: a parked,
  unassigned waypoint would show in the Game Master editor and the move-failure guard keys on the
  waypoint; it needs its own native check.
- Tests: new portable guard `tests/Test-LongSessionFixes.ps1` (every item above wired);
  `tests/Test-BonItems.ps1` covers the zip-tie pose; `tests/EAU_ProtestGameplay.c` runs its sleep
  cycle through the new `EAU_ProtestZone.SetTestTimings` seam (its margin checks follow the new rule).
  New native fixtures (see tests/GAMEPLAY.md): `EAC_DeathSlotGameplay.c` (AU-C1),
  `EAC_WanderGateGameplay.c` (AU-C2), `EAC_TrafficSalvageGameplay.c` (AU-C3: damaged, stolen,
  crew killed), `EAC_SceneEvictGameplay.c` (AU-C4), `EAN_BonReleaseGameplay.c` (AU-A1),
  `EAU_UnrestHysteresisGameplay.c` (AU-U2). The native fixture runs are queued for the lead's single
  native slot before release.
Game Version
1.8.0.13
Created
Sun, 18 Oct 2026 18:25:58 GMT
Last Modified
Sun, 18 Oct 2026 18:26:16 GMT

0.1.7

Owner request 2026-10-16: all of Bon's animations, dances included, for the players on the allow list.

- **Every Bon Action Animations animation for players who may use them** (players on the allow list, or
  everyone while the mission switch "Players may use Bon animations" is on). Since 0.1.6 they see every
  category of Bon's radial menu, Dance included. What was still missing was Bon's intense talk: Bon 1.0.3's
  menu entry "Random Talk Intense" names the calm talk item, and the server only accepted the items Bon's
  menu names, so nobody could play it. That entry now plays the intense talk for them (radial menu and the
  five hotkeys), and the server accepts all 59 playable animation items of Bon's resource database. Bon's
  zip-tie pose stays with the zip-tie actions, and its base and debug items stay refused; any other prefab
  is still refused for everyone.
- **Unchanged:** players who may not use Bon's animations still get no menu and no animation, and the
  server refuses every request from them. The AI animation list (Game Master tab), the civilians' poses,
  dialog and protest animations keep exactly the 40 Bon items of 0.1.6, without dances.
- Tests: new native client fixture `tests/EBN_PlayerAnimationsGameplay.c` (`-Client`: a real local player
  who may animate plays every entry of Bon's menu through Bon's own entry point, the intense talk included;
  one who may not gets nothing); `tests/EBN_AllowListGameplay.c` checks
  that all 59 items load and are accepted, cover Bon's whole menu, the repair of "Random Talk Intense" and
  the unchanged AI list. New portable guard `tests/Test-BonItems.ps1`: the item list equals Bon's resource
  database (when Bon is installed) and the pinned list, and the AI catalogue's Bon items equal 0.1.6's.

Native: allow list 43/0; player animations (client) 29/0: 59/59 menu entries played into the hand,
the intense talk for a player listed by his real Steam ID, nothing for a player who may not animate.
Game Version
1.8.0.13
Created
Fri, 16 Oct 2026 14:07:51 GMT
Last Modified
Fri, 16 Oct 2026 14:10:35 GMT

0.1.6

Owner report 2026-10-15: "smoking no longer spawns the cigar and smoke trail".

- **The smoking cigarette and its smoke are back** (Ambient Units' Smoke animation, civilian smokers, and
  every other loiter prop for everyone on a server with this pack). The loiter-prop override added in 0.1.0
  (which spawns a hand-held prop at the hand so its smoke emitter does not start far off the map) modded
  `SCR_LoiterItemData` without restating the class attribute `[BaseContainerProps()]`. The config loader then
  treats the class as unknown: `Configs/Character/LoiterItemPresets.conf` logged "Unknown class
  'SCR_LoiterItemData'" four times and lost every entry, so no cigarette was spawned at all. The attribute is
  restated; the override still spawns the prop at the hand (the vanilla path attaches it 8.5 km away first,
  which is what the "Suspicious parent velocity" lines for Cigarette_smoke.ptc came from).
- **Bon's dances for allowed players** (owner request 2026-10-15). A player whom the mission switch or the
  allow list allows now sees every category of Bon's radial menu, Dance included, whatever Bon's own
  per-category allow list holds (its "Allowed Animations" attribute stays hidden; a mission that had switched
  Dance off could not switch it back). Players who are not allowed still get no menu, and the AI animation
  list (Game Master tab) still has no dances.
- Bon's hidden "Allowed Animations" attribute: the same missing class attribute as above made its entry an
  unknown class in every log ("Unknown class 'BON_AllowedAnimationsEditorAttribute'"); restated, still hidden.
  The entry now loads and the module's override hides it, instead of a load error dropping it.
- The three placeable-registry appenders (Ambient Civilians, Ambient Crowd, Ambient Unrest) restate vanilla's
  `ComponentEditorProps` on their modded `SCR_PlacingEditorComponentClass`. Workbench component metadata
  only; no load error was seen without it and the Game Master placeables are unchanged.
- Tests: new native fixture `tests/EAN_CigarGameplay.c` and a `-Client` switch for `tests/Run-Gameplay.ps1`
  (loiter props are spawned only on clients, never on a dedicated server, so the fixture runs as a local
  session in the diagnostic game client). Measured: cigarette in the right hand (1 cm from the bone), cigar
  and mouth smoke playing, on both the override and vanilla's own path. New portable guard
  `tests/Test-ModdedClassAttributes.ps1`: every `modded class` of `SCR_LoiterItemData`,
  `BON_AllowedAnimationsEditorAttribute` and `SCR_PlacingEditorComponentClass` (addon and native fixtures)
  carries the base declaration's exact class attribute on the line above.
Game Version
1.8.0.13
Created
Thu, 15 Oct 2026 04:04:50 GMT
Last Modified
Thu, 15 Oct 2026 04:07:31 GMT

0.1.5

Full test round 2026-10-14/15 (owner request: "full testing ... unit cache with animations applied").
Requires EXPBG Gamemaster Tools 0.3.3 (new pose hook `IsPoseSettled`).

- **Animations in a Unit Caching zone cache within seconds.** A squad with a repeated gesture or a
  playlist was cached only at an instant when every animation played; between two gesture repeats or
  two playlist steps the attempt was refused (full modset on Watchtower: 90 s with a gesture). The pose
  control now tells Gamemaster Tools 0.3.3 that it may pause between two plays when nothing is half
  started (no entry queued, no Bon item on its way to the hand, no loiter exit or gesture running); the
  wake starts the animation again as before.
- **A playlist step does not run down while he is paused.** Time cached by Unit Caching or paused for
  distance (no player or Game Master camera within 500 m) no longer counts against the step's own
  length, so a woken soldier goes on with the animation he was playing instead of switching at once and
  standing for the switch (it took 13 s from Bon to Smoke).
- Tests: new native fixture `tests/EAN_CacheGameplay.c` (114 checks): a Bon item, a vanilla loiter, a
  playlist, a repeated gesture and Freeze in a Full cache zone; two sleep and wake cycles, the stand-in
  player near and gone, a Game Master changing and releasing soldiers while they are cached; same actors on
  their spots, same codes and payloads, everyone animating again, the playlist advancing, heading held, no
  loose or leaked Bon item. `EAN_AnimationGameplay.c` waits for the hand to be empty after a distance
  pause (timing). Full round: every Ambient Units fixture, every Gamemaster Tools fixture with this pack
  loaded, the CDF round trips and a full-modset game session (see `tests/GAMEPLAY.md`).
Game Version
1.8.0.13
Created
Wed, 14 Oct 2026 19:39:47 GMT
Last Modified
Wed, 14 Oct 2026 19:40:06 GMT

0.1.4

Owner requests and reports 2026-10-14. Requires EXPBG Gamemaster Tools 0.3.2.

- **Ambient Animations, automatic step length**: the "Seconds per step" row is gone. Each playlist
  step plays its animation's own length: a vanilla gesture once, a cyclic animation one cycle
  (Smoke and the Bon cigarette about 9 s, the leans 18-24 s), a held pose a few seconds (salute
  5 s, thumbs up 4 s, attention 15 s), a resting pose or a continuous loop its category's length
  (sitting, lying, work 60 s, others 30 s). Measured in the engine: none of Bon's items ends by
  itself (they hold until removed), so the lengths come from each animation's body motion
  (new measurement fixture `tests/EAN_LengthProbe.c`). Playlists saved by 0.1.0-0.1.3 still load
  (the payload is now version 2; the old seconds field is ignored).
- **Looping**: a single animation loops without gaps. A Bon item his AI drops is taken again half a
  second later (it used to wait up to 6 s while he stood idle and turned around), a take never
  happens in the frame of a put-back teleport (it did not land), and a vanilla gesture repeats
  after 0.25 s instead of 1 s.
- **Body hold**: an animated soldier keeps the heading and spot he was given until he is released.
  His look stays straight ahead (vanilla idle glances turned his body) and a turn or a drift of his
  body is aligned back smoothly, or put back when that does not help; inside a vanilla loiter the
  loiter holds him. Native: an outside 90 degree turn never got past 3 degrees.
- **Distance pause with a Game Master in the editor**: while a Game Master is in the editor only his
  camera counts for the 500 m pause, not the character he left standing next to the animated
  soldiers (they kept playing although his camera was far away). E2E: camera 1 km away, character
  10 m away: paused; camera back or editor closed: playing again.
- **New animation**: Talk intensely (Bon's intense talk, Talk category, id 59).
- **Unit Dialog**: "Speak to" is offered on the head only (the chest showed a duplicate). New
  talking gestures from Bon Action Animations: Talk calmly, Talk intensely, Speech, Speech varied
  (they play while the conversation lasts, at most 90 s) and Shrug, Wave (a moment); the item
  leaves the speaker's hand and the world when the conversation ends. Not over an EXPBG Ambient
  Units animation. Dialog is never set on or offered by a player's character, also a Game Master's
  own character while he is in the editor.
- **Civil Protest Zone**: protesters now and then shout (Bon's intense talk), give a thumbs down or
  hold up a stop sign, at most five at once per zone; the item is removed on every way a protester
  leaves (sleep, shrink, death, deletion, a Game Master taking him over). `[EAU STATUS]` reports
  `bon=`, `bonHeld=`, `bonRefused=`.
- Players are never animation targets (Gamemaster Tools 0.3.2: unit scripts refuse a player's
  character); players keep Bon's own shortcut (allow list or mission switch).
- Tests: `EAN_AnimationGameplay.c` (70 checks: automatic step lengths, v1 payload, body hold, quick
  retake), `EUD_UnitDialogGameplay.c` (50 checks: talking animation during and after a
  conversation, Shrug's moment), `EAU_ProtestGameplay.c` (97 checks: Bon protest animations, none
  left after sleep); portable `Test-UnitDialogTalk.ps1`.
Game Version
1.8.0.13
Created
Wed, 14 Oct 2026 13:31:03 GMT
Last Modified
Wed, 14 Oct 2026 13:33:41 GMT

0.1.3

- Bon Guard: an allow list for Bon Action Animations' animations (owner request 2026-10-14).
  Players named in the mission header key `m_EBN_Settings.m_sAnimationPlayers` (server config
  `game.gameProperties.missionHeader`, or the scenario's header) may use Bon's animation radial
  menu and its hotkeys while the mission switch "Players may use Bon animations" is off. Entries
  are Steam IDs (SteamID64) or Bohemia identity IDs, separated by commas, semicolons or spaces.
  The server reads each player's IDs from the backend after his audit, tells only his own client
  (player controller flag) and checks every animation request itself; Bon's own animation items
  stay the only prefabs it spawns. Zip ties, tap shoulder and the vehicle actions keep following
  the mission switch only.
- New native fixture `tests/EBN_AllowListGameplay.c` (23 checks).
Game Version
1.8.0.13
Created
Wed, 14 Oct 2026 05:25:20 GMT
Last Modified
Wed, 14 Oct 2026 05:26:26 GMT

0.1.2

- Ambient Civilians: residents' routine stops now also use seven everyday Bon Action Animations
  poses (12 new routine slots next to the 61 vanilla ones): arms crossed, two ways of sitting on
  the ground, talking calmly, for workers a repair crouch, and two short one-shot stops, a squat
  and a quick look at the watch (6-12 s; the stop ends when the pose does). Nothing military, sport, dance, injured or
  lying, and nothing that needs a chair, box or wall; Bon's Think plays once and leaves a paper map
  in the hand, so it is not used. The resident turns to the stop's heading and holds the Bon item
  in his left hand only while he is on the stop (an item that leaves his hand mid-stop is handed
  over again, a bounded number of times); danger, death, a player taking him over, the 'Disappear
  beyond' distance and the module's removal end the pose and delete the item. Without the item
  the stop stays the plain standing loiter.
- New native fixture `tests/EAC_BonRoutineGameplay.c` (see `tests/GAMEPLAY.md`).
Game Version
1.8.0.13
Created
Wed, 14 Oct 2026 03:43:53 GMT
Last Modified
Wed, 14 Oct 2026 03:44:11 GMT

0.1.1

Game Version
1.8.0.13
Created
Tue, 13 Oct 2026 18:06:58 GMT
Last Modified
Tue, 13 Oct 2026 18:10:00 GMT

Showing 1 to 16 of 16 results

Rows per page