OpenAC v0.1.14
OpenAC 0.1.14 — release notes (draft, 2026-09-22)
Paste as the GitHub release body for v0.1.14.
Combat mode: no more casting in the wrong stance
Bots that swap between a weapon and a wand could cast before the server had taken
the mode change. The cast went out in the old stance, the server logged
CombatMode mismatch, and the parked change then landed during the windup and
fizzled the spell — one wasted cast per swap.
- A combat-mode change now waits until the body is in position, the way the
original client does: not while a swing or a stance animation is still
playing, and never during a portal ("You can't change combat mode while
teleporting"). - The headless client now takes the stance the server puts your own body in.
It used to drop it, so the wait above could never happen there. - Plugin API:
PluginCombatSnapshot.ServerMode— the mode the server last
reported (Unknownuntil it has said anything).Modemoves when the client
sends a change;ServerModemoves when the server has taken it. A plugin
that waits for the two to agree casts within ~50 ms of the server accepting
the change. Additive; older plugins seeUnknown. - A mode-change command that is parked until the body is ready now counts as
accepted (it goes out on its own), instead of being reported as rejected.
Measured on the headless client with MossTank on a fixed route (10 minutes):
warnings and fizzles per swap 1 → 0; kills per minute 9.9 → 11.1.
Launcher
- A Console button next to Play opens a window for a headless session:
the session's output in the game's chat colours, and a line to send commands
(/vt start,/quit…).
Plugin API documentation
- Every public member of
AcDream.Plugin.Abstractionsis documented; the
build fails on an undocumented one.
Plugins
- MossTank 0.2.4 (separate release) uses
ServerMode; it needs this client.
Full changelog: v0.1.13...v0.1.14