Minimal async mutex for serializing combat document writes when triggers run in parallel. Each acquire() call chains onto the previous, ensuring sequential execution.
Minimal async mutex for serializing combat document writes when triggers run in parallel. Each acquire() call chains onto the previous, ensuring sequential execution.